数码管 蜂鸣器 定时响铃程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#in c lu d e
#in c lu d e
#d e f in e u c h a r u n si gn e d c h ar
#d e f in e u in t u n si gn e d in t
#d e f in e k e y p o rt P1
#d e f in e l e d_sh if t P2
#d e f in e l e d_p ort P0
s bit sp k=P3^7;
u c h ar ru n_f la g=0;
u c h ar t im e=0;
u c h ar ke y_v a lu e;
bi t be e p_f la g=0;
u c h ar c od e le d_t a b[]={0x C0,0xF9,0x A4,0xB0,0x99,0x92,0x82,0x F8,0x80,0x90}; v o id l e d_d isp(u c h a r s);
v o id d e la y ms(u c h a r m s);
v o id m a in()
{ u c h ar m=0;
T MO D=0x11;
T H0=(65536-50000)/256;
T L0=(65536-50000)%256;
T H1=(65536-5000)/256;
T L1=(65536-5000)%256;
E A=1;
E T0=1;
E T1=1;
T R0=1;
T R1=1;
w h ile(1)
{
if(ru n_f la g==0)
{
if(m!=0)
{
if(t i me<10)
{
sw it c h(ke y_v alu e)
{
c a se'c':t i me=0;
br e a k;
c a se'y':ru n_f l ag=1;
br e a k;
d e f a u lt:t im e=(t i me*10)+k e y_v a lu e;
br e a k;
}m=0;
}
e ls e
{
sw it c h(ke y_v alu e)
{
c a se'c':t i me=0;
br e a k;
c a se'y':ru n_f l ag=1;
br e a k;
}
}
k e y_v a lu e=0;
}
}
le d_d i sp(t im e);
if(be e p_f l ag==1)
{
u in t t=100;
w h i le(t--)
{
sp k=~sp k;
l e d_d isp(t i me);
}
sp k=1;
be e p_f l ag=0;
}
}
}
v o id t ime r0()in t e rru p t1u s in g1 {
s t a t ic u in t i=0;
T F0=0;
T R0=0;
E T0=0;
T H0=(65536-50000)/256;
T L0=(65536-50000)%256;
if(ru n_f l ag==1)
{
if(t im e>0)
{
if(i==20)
{
i=0;
t i me-=1;
}
e l se
{
i+=1;
}
}
e l se
be e p_f l ag=1;
ru n_f lag=0;
}
}
T R0=1;
E T0=1;
}
v o id t ime r1_c h e c k_ke y()in t e r ru p t 3 u sin g 1 { u c h ar m=0;
s t a t ic u c h a r P re s s_f la g=0;
T F1=0;
T H1=(65536-5000)/256;
T L1=(65536-5000)%256;
if(P r e s s_f l ag==0)
{
ke y p o rt=0x6f;
if(ke y p o rt!=0x6f)
{
P re s s_f lag=1;
re t u r n;
}
ke y p o rt=0x5f;
if(ke y p o rt!=0x5f)
P re s s_f lag=1;
re t u r n;
}
ke y p o rt=0x3f;
if(ke y p o rt!=0x3f)
{
P re s s_f lag=1;
re t u r n;
}
}
e l se if(P re ss_
f l a g==1)
{
ke y p o rt=0x6f;
if(ke y p o rt!=0x6f)
{
sw it c h(ke y p ort)
{
c a se0x6e:ke y_v a lu e=1;
m=1;
bre a k;
c a se0x6d:k e y_v a lu e=4;
m=1;
bre a k;