单片机入门汇编程序 程序11-14:“叮咚”门铃程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序 11-14:“叮咚”门铃程序(图 11-30) KEY LCNT HCNT FLAG ORG JMP ORG JMP START: MOV MOV CLR MOV MOV MOV KEYCHK: JB CALL JNB MOV SETB JMP INT_T0: INC MOV CJNE MOV INC MOV CJNE MOV INC I1: CPL MOV CJNE JMP I2: MOV CJNE JMP A,FLAG A,#01H,I3 K2 ; A=FLAG ; 判断 A 是否等于 1 ; FLAG=1,发低频音 P1.0 A,FLAG A,#00H,I2 K1 ; P1.0 口相反,电平跳变 ; A=FLAG ; 判断 A 是否等于 0 ; 如果 FLAG=0,发高频音 LCNT A,LCNT A,#100,I1 LCNT,#00H HCNT A,HCNT A,#05H,I1 HCNT,#00H FLAG KEY,$ DELAY KEY,$ IE,#82H TR0 KEYCHK ; 开中断 ; 启动 Timer ; 循环判断按钮开关 ; Timer 0 中断服务子程序 ; LCNT 增加 1 ; 计数值载入累加器 A 中 ; 判断是否等于 100 ; LCNT 清 0 ; HCNT 增加 1 ; 计数值载入累加器 A 中 ; 判断是否输出 500 个方波 ; HCNT 清 0 ; 计数标志加 1 ; 判断按钮开关是否按下 LCNT,#00H HCNT,#00H FLAG TMOD,#01H ; LCNT=00H ; HCNT=00H ; 清 0 计数标志 ; Timer 0 作定时器,模式 1 ; 定时 0.7ms,装入计数初始值 FD44H BIT EQU EQU EQU 00H START 0BH INT_T0 ; 定时中断入口 P1.7 30H 31H 33H ; 变量 KEY 指向 P1.7 口,按钮开关状态 ; 低频计数器 ; 高频计数器 ; 计数标志
TH0,#HIGH(65536-700) TL0,#LOW(65536-700)
I3: MOV CJNE MOV Cwk.baidu.comR JMP K1: MOV MOV JMP K2: MOV MOV RETUNE: RETI DELAY: MOV D1: MOV DJNZ DJNZ RET END R6,#250 R6,$ R5,D1 R5,#20 ; 中断服务子程序结束 TH0,#HIGH(65536-1000) TL0,#LOW(65536-1000) ; 定时器初始值,发出低频音 TH0,#HIGH(65536-700) TL0,#LOW(65536-700) RETUNE ; 定时器初始值,发出高频音 A,FLAG A,#02H,I1 FLAG,#00H TR0 RETUNE ; A=FLAG ; 判断 A 是否等于 2 ; FLAG 清 0 ; 关定时器
相关文档
最新文档