單片機AT89C51外接4 位共陽LED 數碼管,P3.0引腳外接一獨立按鍵。開機
時數碼管顯示數字2018; 在按下按鍵時,顯示月日期,設計單片機接口電路并編程
- #include<reg51.h>
- #include "intrins.h"
- #include "absacc.h"
- #define uchar unsigned char
- uchar code ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};//0-9
- unsigned char disdat[4]="2018";
- sbit key=P3^0;
- void ext0() interrupt 0
- {
- key++;
- key%=3;
- }
- void t1isr() interrupt 3 //顯示
- {
- TH1=0xec;
- TL1=0x78;
- P0=0xff;
- P2=0x01<<scanled;
- P0=~ledtab[disdat[3]];
- scanled++;
- scanled%=4;
- }
- main()
- {
- TMOD=0x10;
- TH1=0xec;
- TL1=0x78;
- TR1=1;
- ET1=1;
- EA=1;
- while(1)
- {
- if(key==0)
- {
- disdat[]="0423";
- while(key==0);
- disdat[]="2018";
- }
- }
- }
復制代碼
|