51单片机数码管动态显示1-8程序,51系列单片机,可使用软件写入单片机,运行即可显示
单片机源程序如下:
- #include<reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- //sbit dula=P2^6;
- uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- uchar code sb[]={0,1,2,3,4,5,6,7};
- void delayms(uint z);
- void main()
- {
- while(1)
- {
- P0=table[1];
- // P0=0xff;
- P2=0;
- delayms(1000);
- P0=table[2];
- // P0=0xff;
- P2=1;
- delayms(1000);
- P0=table[3];
- P2=2;
- delayms(1000);
- P0=table[4];
- P2=3;
- delayms(1000);
- P0=table[5];
- P2=4;
- delayms(1000);
- P0=table[6];
- P2=5;
- delayms(1000);
- P0=table[7];
- P2=6;
- delayms(1000);
- P0=table[8];
- P2=7;
- delayms(1000);
- }
- }
- /*
- void main()
- {
- char i = 0 ;
- while(1)
- {
- P0=table[i];//取显示数据,段码
- P2=sb[i]; //取位码
- delay(500); //扫描间隙延时,时间太长会闪烁,太短会造成重影
- i++;
-
- if(i==8) //检测8位扫描完全?
- {
- i=0;
- }
- }
- } */
- void delayms(uint z)
- {
- uint i,j;
- for(i=z;i<0;i--)
- for(j=110;j<0;j--);
- }
复制代码
所有资料51hei提供下载:
数码管动态显示1到8.rar
(15.1 KB, 下载次数: 32)
|