×
单片机 > 单片机程序设计 > 详情

51单片机C编程(三、4位数码管飞入效果)

发布时间:2020-06-02 发布时间:
|
4位数码管飞入效果,PROTEUS仿真电路图如下:


#include
#define uchar unsigned char
#define LED P0

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--);
}

关键字:51单片机  C编程  数码管  飞入效果 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义