一、分别在四个数码管上同时显示1,2,3,4。
#include <reg52.h>
#define uchar unsigned char
uchar code weitable[]={0x1f,0x2f,0x4f,0x8f};
uchar code numtable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
void delay (unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void display(uchar wei,uchar num)
{
wei=wei-1;
P2=weitable[wei];
P0=numtable[num];
delay(5);
}
void main()
{
while(1)
{
display(1,1);
display(2,2);
display(3,3);
display(4,4);
}
}
二、让四个数码管的最外圈依次亮起来。
#include <reg52.h>
#define uchar unsigned char
uchar code weitable[]={0x1f,0x2f,0x4f,0x8f};
uchar code numtable[]={0x01,0x02,0x04,0x08,0x10,0x20};
void delay (unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void display(uchar wei,uchar num)
{
wei=wei-1;
num=num-1;
P2=weitable[wei];
P0=numtable[num];
delay(500);
}
void main()
{
while(1)
{
display(1,1);
display(2,1);
display(3,1);
display(4,1);
display(4,2);
display(4,3);
display(4,4);
display(3,4);
display(2,1);
display(1,4);
display(1,5);
display(1,6);
}
}
三、让四个数码管的最外圈亮起来。
#include <reg52.h>
#define uchar unsigned char
uchar code weitable[]={0x1f,0x2f,0x4f,0x8f};
uchar code numtable[]={0x01,0x02,0x04,0x08,0x10,0x20};
void delay (unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void display(uchar wei,uchar num)
{
wei=wei-1;
num=num-1;
P2=weitable[wei];
P0=numtable[num];
delay(500);
}
void main()
{
while(1)
{
display(1,1);
display(1,2);
display(1,3);
display(1,4);
display(1,5);
display(1,6);
display(2,1);
display(2,2);
display(2,3);
display(2,4);
display(2,5);
display(2,6);
display(3,1);
display(3,2);
display(3,3);
display(3,4);
display(3,5);
display(3,6);
display(4,1);
display(4,2);
display(4,3);
display(4,4);
display(4,5);
display(4,6);
}
}