附录A 总电路图
附录B 程序清单
#include
#define KEYIO P1
uchar code table[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07,
sbit led1 = P2^0; sbit led2 = P2^1; sbit led3 = P2^2; sbit led4 = P2^3;
sbit key1 = P3^0; sbit key2 = P3^1; sbit key3 = P3^2; sbit key4 = P3^3;
sbit bur = P3^7;
uchar keydata; uchar reset_flag; uchar time_count; uchar stop_flag;
0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71};
uchar unsigned cha
void display(uchar disdata); void display_time(uchar disdata); uchar keyscan();
void delayms(uint xms) //延时函数 {
uint i,j; }
void init_timer0() {
TMOD=0x01;
TH0=(65536-50000)/256; TL0=(65536-50000)%6; EA=1; ET0=1; TR0=1; }
void main() {
uchar time_max=30; led1 = 1; led2 = 1; init_timer0();
time_count = time_max;
for(i=xms;i>0;i--) for(j=110;j>0;j--);
stop_flag =1; while(1) {
display(keydata); { }
if(key2==0) {
delayms(10); if(key2==0) { }
while(!key2); stop_flag =1; reset_flag = 0; delayms(10); if(key1==0) { }
while(!key1); reset_flag = 1;
time_count = time_max; stop_flag = 0; bur = 1; if(key1==0)
display_time(time_count);
}
if(key3==0) { }
if(key4==0) { }
if(reset_flag==1) {
keydata = keyscan(); if(keydata!=0) {
display(keydata); stop_flag = 1; delayms(10); if(key4==0) { }
while(!key4); time_max--;
time_count = time_max; delayms(10); if(key3==0) { }
while(!key3); time_max++;
time_count = time_max;