要制作秒表...第一个按钮是用来开始的...然后第二个是清零...不知道为什么不能清零..而且也不能每一秒数字增加一...求助啊...
电路图已上传...
test1.zip
(20.32 KB, 下载次数: 19)
- #include <regx51.h>
- #include <absacc.h>
- #define N 4
- #define TH_50MS (65536-50000)/256
- #define TL_50MS (65536-50000)%256
- #define led12 XBYTE[0xefff]
- #define led34 XBYTE[0xf7ff]
- int x=0;
- main()
- {
- EA = 1;
- EX0=1;
- EX1=1;
- IT0=1;
- IT1=1;
- while(1);
- }
- void t1_interrupt() interrupt 0
- {
- x++;
- led12=(x%60%10)+(x%60/10)*16;
- led34=(x/60%10)+(x/60/10%6)*16;
- P3_7=~P3_7;
- TMOD = 0x11;
- TH1 = TH_50MS;
- TL1 = TL_50MS;
- TR1 = 1;
- IE = 0x8a;
- return;
- }
- void t3_interrupt() interrupt 3
- {
- int tn = 20;
- EX1=1;
- IT1=1;
- for(;;)
- {
- TR1 = 0;
- TH1 = TH_50MS;
- TL1 = TL_50MS;
- tn --;
- if(tn==0)
- {
- tn = 20;
- x++;
- P3_7=~P3_7;
- led12=(x%60%10)+(x%60/10)*16;
- led34=(x/60%10)+(x/60/10%6)*16;
- }
- TR1 = 1;
- }
- return;
- }
- void t2_interrupt() interrupt 2
- {
- led12=0;
- led34=0;
- x=0;
- return;
- }
复制代码
|