新闻中心

EEPW首页>嵌入式系统>设计应用> 51单片机C编程(十四 数码管飞入效果)

51单片机C编程(十四 数码管飞入效果)

作者: 时间:2016-11-27 来源:网络 收藏


#include
#define uchar unsigned char
#define LEDP0

本文引用地址://m.amcfsurvey.com/article/201611/322151.htm

uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//共阳数码管数字码
uchar disp1[8][4]={{8,10,10,10},{0,8,10,10},{5,0,8,10},{1,5,0,8},{10,1,5,0},{10,10,1,5},{10,10,10,1},{10,10,10,10}};
//数码管的8个显示状态
uchar scan;
void delay1ms(int);
void display(int);

void main()
{
int i;
while(1)
{
for(i=0;i<8;i++)//依次扫描8个状态
display(i);
}
}

void display(int m)
{
int i,j,k;
for(k=5;k>0;k--)//每个状态共扫描5次
{
scan=0x01;//扫描码
for(i=0;i<4;i++)
{
P3=scan;
j=disp1[m][i];//取扫描状态中的一位
LED=tab[j];//取对应的段码
delay1ms(10);
scan=scan<<1;//扫描码左移
}
}
}

void delay1ms(int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=120;j>0;j--);
}



评论


技术专区

关闭