數碼管順序顯示12345678仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (14.5 KB, 下載次數: 29)
下載附件
2018-11-26 16:04 上傳
單片機源程序如下:
- #include <reg52.h>
- #define uint unsigned int
- #define uchar unsigned char
- sbit WLE=P2^6;
- sbit DLE=P2^7;
- uchar code table[]={
- 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
- 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
- uchar code pos[]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
- uchar n;
- void delay(uint z)
- {
- uint x,y;
- for(x=z;x>0;x--)
- for(y=112;y>0;y--);
- }
- void main()
- {
- while(1)
- {
- for(n=1;n<=8;n++)
- {
- if(n==1)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==2)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==3)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==4)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==5)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==6)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==7)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- else if(n==8)
- {
- WLE=1;
- P0=pos[n];
- WLE=0;
- DLE=1;
- P0=table[n];
- DLE=0;
- delay(1000);
- }
- }
- }
- }
-
復制代碼
0.png (39.21 KB, 下載次數: 22)
下載附件
2018-11-26 16:05 上傳
所有資料51hei提供下載:
test1.rar
(31.84 KB, 下載次數: 12)
2018-11-26 13:17 上傳
點擊文件名下載附件
digital tube 下載積分: 黑幣 -5
|