51 单片机架构下时钟控制程序 ;KEYA A 键功能程序 开启/关闭定时器 ;KEYB B 键功能程序 时值加1 ;KEYC C 键功能程序 分值加1 ;KEYD D 键功能程序 秒值加1 ;KEYE E 键功能程序 12/24 时值转换 ;BEEP_BL 整点报时 ;P0 显示接口 ;系统初始化程序**************************************************** KEYA EQU P3.0 ;单片机控制设置 KEYB EQU P3.1 ;单片机控制设置 KEYC EQU P3.2 ;单片机控制设置 KEYD EQU P3.3 ;单片机控制设置 KEYE EQU P3.4 ;单片机控制设置 BEEP EQU P3.7 ;单片机控制设置 ORG 0000H AJMP MAIN ;转到系统初始化程序 ORG 000BH AJMP PITO ;转到定时器0 中断服务程序 ORG 0100H MAIN: MOV SP, #60H ;确立堆栈区 MOV TMOD, #01H ;设定定时器0 为工作方式1 MOV TL0, #0DCH ;装计数器初值 MOV TH0, #0BH CLR 21H.0 CLR TR0 ; TR0 置"0",定时关闭 SETB EA ; EA 置"1",中断总允许 SETB ET0 ; ET0 置"1",定时器0 中断 ; 允许 MOV 30H, #10H ; 循环次数 MOV 7EH, #0AH ; P.点显示初始化 MOV R0, #79H MOV R1, #05H PP: MOV @R0, #0BH INC R0 DJNZ R1, PP MOV R0, #31H ; 时、分、秒值存储单元清零 MOV R1, #06H Q00: MOV @R0, #00H INC R0 DJNZ R1, Q00 ;监控程序********************************************************** LOOP: LCALL DIR ; 调显示子程序 LCALL KEY ; 调键扫描子程序 LOOP1: JB 20H.0, KEYA ; A 键是否按下,是跳转到 A 键功能程序 开启/关闭定时器 JB 20H.1, KEYB ; B 键是否按下,是跳转到 B 键功能程序 时值加 1 JB 20H.2, KEYC ; C 键是否按下,是跳转到 C 键功能程序 分值加 1 JB 20H.3, KEYD ; D 键是否按下,是跳转到 D 键功能程序 秒值加 1 JB 20H.4, KEYE ; E 键是否按下,是跳转到 E 键功能程序 12/24 时值转换 LCALL DIR LJMP LOOP ; 跳转到监控程序 ;A 键功能子程序**************************************************** KEYA: CPL TR0 ;开启/关闭定时器 SETB 21H.0 AJMP LOOP ;返回 ;B 键功能子程序**************************************************** KEYB: JB TR0, KEYB1 ; 定时器是否运行,是跳转 JNB 21H.0, KEYB2 MOV R0, #36H ; 时值存...