H46H40H47H80H
CLRRS1
8
fCLRRS0MOVR500HMOVR600HMOVR706HLCALLSET1302SETBRS1CLRRS0MOVR04AHMOVTMOD10HMOVTH13CHMOVTL10B0HMOVTH040HMOVTL0098HMOVIP08HMOVTCON40HMOVIE8DHLOP:LCALLCHANGELCALLDISPLAYSETBRS1CLRRS0MOV3AHR0INCR0MOV3BHROMOVA3AHCJNEA0NTMOVA3BHCJNEA0NTNTM:INCR0INTR0CJNER059HLOPMOVR04AHSJMPBBXNT:MOVA3BHCJNEA34HNTM
;设置T0T1工作方式;定时器,工作方式1;T1计数初值3CB0H
;设置中断优先级;启动定时器T1;开中断;当前时间送显示缓冲区;显示当前时间
;判断设置定时时间到否?
;取当前时间与定时时间比较;判断定时时间到否?
9
fMOVA3AHCJNEA33HNTMDECR0DECR0MOV39HR0INCR0INCR0INCR0INCR0CJNER059HNT1MOVR04AHNTI:MOVA39HCJNEA05HBBXXLCALLYUYINCLRP27SJMPLP0BBX:SETBP27SJMPLP0BBXX:LCALLYUYINSJMPLP0LP0:JBP30LP6LCALLDISPLAYJBP30LP0LP1:JNBP30LP1SETBP27MOV5EH06HLP1A:MOV3CH35HMOV3DH36HLCALLCHANGELCALLDISPLAYLP1B:JBP30LP1CLCALLDISPLAYJBP30LP1BLP1D:JNBP30LP1B
;若定时时间到;发出语音提示;启动蜂鸣器发出“嘟嘟嘟”报警信号
;扫描键盘,判断切换显示日期按键按下否?
;切换显示日、月
10
fSJMPLP2LP1C:MOVA5EH
CJNEA00HLP1A
LJMPFUZHILP2:MOV5EH06HLP3A:MOV3CH38H
MOV3DH20H
LCALLCHANGELCALLDISPLAYLP3B:JBP30LP3C
;切换显示年份
LCALLDISPLAY
JBP30LP3BLP3D:JNBP30LP3D
SJMPLP4LP3C:MOVA5EH
CJNEA00HLP3A
LJMPLP4:MOVLP5A:MOV
FUZHI5EH06H3CH37H
MOV3DH0BBH
LCALLCHANGELCALLDISPLAYLP5B:JBP30LP5C
;切换显示星期
LCALLDISPLAY
JBP30LP5BLP5D:JNBP30LP5D
LIMPFUZHILP5C:MOVA5EH
CJNEA00HLP5A
LJMPFUZHILP6:JBP31LP6A
SJMPLP6BLP6A:LJMPLOPLP6B:LCALLDISPLAY
;切换显示当前时间
11
fJBP31LP6LP7:LCALLDISPLAY
JNBP31LP7SETBP27MOV3CH32HMOV3DH0FFHLCALLCHANGELCALLDISPALYJBP31LP7LCALLDISPLAYJBP31LP7LP8:LCALLDISPLAYJNBP31LP8FUZHI:MOV3CH33HMOV3DH34HLJMPLOPCHANGE:MOVA3DHPUSHAANLA0FHMOV42HAPOPASWAPAANLA0FHMOV43HAMOVA3CHPUSHAANLA0FHMOV40HAPOPASWAPAANLA0FHMOV40HAPOPASWAPA
;将当前时间小时、分送显示缓冲区
12
fANLA0FHMOV41HARETYUYIN:MOVA3FHCJNEA0CC1CLRP34MOV3FH01HCC1:RET
32录音子程序设计
RECORD:MOV3EH01HRECORD1:MOV3CH3EH
MOV3DH0AFH
LCALLCHANGENEXTA:LCALLDISPALY
JBP31NEXTA
LCALLDISPLAY
JBP31NEXTA
MOVA3EH
CJNEA01HTRY1
LJMPREC1TRY1:CJNEA02HTRY2
LJMPREC2TRY2:CJNEA03HTRY3
LJMPREC3TRY3:CJNEA04HTRY4
LJMPREC4TRY4:CJNEA05HTRY5
LJMPTRY5:LJMPREC1:MOV
REC5ETB58H40H
LCALLCLRP0REC11:LCALLRECM
r