任意时间倒计时加警报最后min
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
# i n c l u d e < r e g 5 1 . h > #define uchar unsigned char
uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40}; uchar num,num0,benum,flag;
char shi=23,fen=59,miao=59;
sbit k1=P3A0;
sbit k2=P3A1;
sbit k3=P3A2;
sbit k4=P3A3;
sbit k5=P3A4;
sbit k6=P3A5;
sbit k7=P3A6;
sbit k8=P3A7;
sbit beef=P1A5;
sbit deadline=P1A4;
sbit dishurry=P1A3;
sbit stop=P1A2;
sbit play=P1A1;
void delay(uchar z)
// 延时子程序
uchar x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display() // 显示子程序
{
uchar sshi,sge,fshi,fge,mshi,mge;
sshi=shi/10;sge=shi%10;
fshi=fen/10;fge=fen%10;
mshi=miao/10;mge=miao%10;
P0=table[sshi];P2=0x00;delay(1);P0=0;
P0=table[sge];P2=0x04;delay(1);P0=0;
P0=table[10];P2=0x08;delay(1);P0=0;
P0=table[fshi];P2=0x0c;delay(1);P0=0;
P0=table[fge];P2=0x10;delay(1);P0=0;
P0=table[10];P2=0x14;delay(1);P0=0;
P0=table[mshi];P2=0x18;delay(1);P0=0;
P0=table[mge];P2=0x1c;delay(1);P0=0; }
void set() // 设置子程序
{
if(flag==1)
if(k1==0)
{
delay(5);
if(k1==0)
{
shi++;
if(shi==24) shi=0;
while(!k1);
}
}
if(k2==0)
{
delay(5);
if(k2==0)
{
fen++;
if(fen==60)
fen=0;
while(!k2);
if(k3==0)
{
}
}
} }delay(5);
if(k3==0)
{
miao++;
if(miao==60) miao=0;
while(!k3);
}
}
if(k5==0)
{
delay(5);
if(k5==0)
{
shi--;
if(shi==-1) shi=23;
while(!k5);
if(k6==0)
{
delay(5);
if(k6==0)
{
fen--;
} }
if(fen==-1) fen=59;
while(!k6);
}
}
if(k7==0)
{
delay(5);
if(k7==0)
{
miao--;
if(miao==-1) miao=59;
while(!k7);
if(k4==0)
{
delay(5);
if(k4==0)
TR0=0;
flag=1;
while(!k4);
}
if(k8==0)
{
delay(5);
if(k8==0)
{
TR0=1;
flag=0;
}
while(!k8);
}
}
void alarm()
// 报警子程序if(shi==0)
{
if(fen==2)
{
{
if(miao==0)
{
TR1=1; benum=20;
}
}
if(fen==1)
{
if(miao==30)
benum=10;
}
if(fen==1)
{
if(miao==0)
benum=5;
}
if(fen==0)
{
if(miao==30)
benum=2;
}
if(fen==0)
{
if(miao==0)
{
TR1=0;
TR0=0;
beef=0;
deadline=0;
dishurry=1;
}
}
}
}
void secure()
// 解除{
if(stop==0)
{
delay(5);
if(stop==0)
{
TR0=0;
TR1=0;
beef=1;
deadline=1;
dishurry=0;
}
while(!stop);
}
if(play==0)
// 继续{
delay(5);
if(play==0)
{
TR0=1;
TR1=1;
if(shi==0)
if(fen==0)
if(miao==0)
{
TR0=0;
TR1=0;
while(!play);
}
}
void init()
// 初始化
{
TMOD=0x11;
TH0=(65535-50000)/256;
TL0=(65535-50000)%256;
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
EA=1;
ET0=1;
ET1=1;
TR0=1;
dishurry=0; } void main() {
init();
while(1)
(l,-==uej)j!
J-uej
J69=oeiiju
}
(^==081111))!
J-oeiuu
:O=uu nu
}
(OS==ujnu)j!
J++LU nu ^992%(00009-9£999)=01 丄^99S/(00009-9£999)=0H 丄
}
I idnjjeiui ()」euu!厂oi piOA
{
{
:()e」n oes
J()LU
Oes
J()Ae|dsip
fen=59;
shi--;
if(shi==-1)
shi=23;
}
}
}
}
void t1_timer() interrupt 3
// 定时器 1 中断{
TH1=(65535-50000)/256;
TL1=(65535-50000)%256;
num0++;
if(num0>=benum)
{
num0=0; beef=~beef; dishurry=~dishurry;。