- #include <reg51.h>
- unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//áDêyÑ¡ÔñÂë
- unsigned char code digittab[3][8]=
- {
- {0x40,0x40,0x44,0x44,0x44,0x44,0x40,0x00},//
- {0x00,0x3c,0x42,0x81,0x81,0x81,0x42,0x3c},//
- {0x00,0x18,0x24,0x42,0x81,0x42,0x24,0x18},//·Åoo×ÖμÄμØ·½
- };
- unsigned int timecount;//¶¨òåê±¼ä¼Æêy′Îêy±äá¿
- unsigned char cnta;//¶¨òåáD
- unsigned char cntb;//¶¨òåDD
- void main(void)
- {
- TMOD=0x01;//ê1óö¨ê±Æ÷T0μÄ·½ê½1
- TH0=(65536-5000)/256;
- TL0=(65536-5000)%256;//5msÖD¶Ïò»′Î
- EA=1;//ÖD¶Ï×üÔêDí
- TR0=1;//Æô¶ˉ¶¨ê±Æ÷¿aê¼1¤×÷
- ET0=1;//ÔêDí¶¨ê±Æ÷T0ÖD¶Ï
- while(1);//μè′yÖD¶Ï2úéú
- }
- void t0(void) interrupt 1 using 0//ÖD¶Ï·tÎñ3ìDò
- {
- TH0=(65536-5000)/256;//ÖØD¸33õÖμ
- TL0=(65536-5000)%256;
- P2=tab[cnta];
- P1=digittab[cntb][cnta];//DDêy±£3Ö2»±ä£¬áDÿÖD¶Ïò»′μó1
- cnta++;
- if(cnta==8) cnta=0;//ò»DDÖ»óD8¸öêyÂ룬áD¼óμ½8Ö®oó»Øáã
- timecount++;
- if(timecount==200)//200*5=1000msoóDD¼ó1£¬¿ØÖÆÃ¿¸öí¼DÎÏÔê¾μÄê±¼äÎa1000ms£¬¼′Îa1s
- {
- timecount=0;
- cntb++;
- if(cntb==3) cntb=0;//Ö»óDèyDDêyÂ룬DD¼óμ½3Ö®oó»Øáã
- }
- }
復制代碼
包含有仿真圖和取模軟件.docx
(893.88 KB, 下載次數: 15)
2017-12-3 15:05 上傳
點擊文件名下載附件
|