数码管 蜂鸣器 定时响铃程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档