|
單燈閃爍程序
0.png (45.56 KB, 下載次數(shù): 31)
下載附件
2017-5-8 20:12 上傳
- #include<reg52.h>
- sbit ADDRO=P1^0;
- sbit ADDRl=P1^1;
- sbit ADDR3=P1^3;
- sbit ENLED=P1^4;
- unsigned char code LedChar[] = {
- 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,
- 0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E
- };
- unsigned char LedBuff[6] =
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
- };
- void main()
-
- unsigned char i = 0;
- unsigned int cnt = 0;
- unsigned long sec =0;
- ENLED = 0;
- ADDR3 = 1;
- TMOD = 0x01;
- THO = 0xFC;
- TL0 = 0x67;
- TR0 = 1;
- while(1)
- {
- if(TF0 == 1)
- {
- TF0 = 0;
- TH0 = 0xFC;
- TL0 = 0x67;
- cnt++;
- if(cnt>= 1000)
- {
- cnt = 0;
- sec++;
- LedBuff[0] = LedChar[ sec % 10];
- LedBuff[1] = LedChar[ sec/10 % 10];
- LedBuff[2] = LedChar[ sec/100 % 10];
- LedBuff[3] = LedChar[ sec/1000 % 10];
- LedBuff[4] = LedChar[ sec/10000 % 10];
- LedBuff[5] = LedChar[ sec/100000 % 10];
- }
- switch(i)
- {
- case 0: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[0]; break;
- case 1: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[1]; break;
- case 2: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[2]; break;
- case 3: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[3]; break;
- case 4: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[4]; break;
- case 5: ADDR2 = 0; ADDR1 = 0; ADDR0 = 0; i++; P0=LedBuff[5]; break;
- default: break;
- }
- }
- }
- }
復(fù)制代碼
下載:
單燈閃爍.rar
(15.07 KB, 下載次數(shù): 11)
2017-5-8 19:20 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|