单片机源程序如下:
- #include<reg51.h>
- unsigned char code discode1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};
- unsigned char code discode2[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
- unsigned char timer=0;
- unsigned char second;
- unsigned char key=0;
- main()
- {
- TMOD=0x01;
- ET0=1;
- EA=1;
- second=0;
- P0=discode1[second/10];
- P2=discode2[second%10];
- while(1)
- {
- if((P3&0x80)==0x00)
- {
- key++;
- switch(key)
- {
- case 1:
- TH0=0xee;
- TL0=0x00;
- TR0=1;
- break;
- case 2:
- TR0=0;
- break;
- case 3:
- key=0;
- second=0;
- P0=discode1[second/10];
- P2=discode2[second%10];
- break;
- }
- while((P3&0x80)==0x00);
- }
- }
- }
- void int_T0() interrupt 1 using 0
- {
- TR0=0;
- TH0=0xee;
- TL0=0x00;
- timer++;
- if(timer==20)
- {
- timer=0;
- second++;
- P0=discode1[second/10];
- P2=discode2[second%10];
- }
- if(second==99)
- {
- TR0=0;
- second=0;
- key=2;
- }
- else
- {
- TR0=1;
- }
- }
-
复制代码
所有资料51hei提供下载:
单片机实验 秒表.zip
(27.89 KB, 下载次数: 19)
|