MOV TMOD,#11H ;设T0、T1为16位定时器
MOV TL0,#0B0H ;50MS定时初值(T0计时用)
MOV TH0,#3CH ;50MS定时初值
MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)
MOV TH1,#3CH ;50MS定时初值
SETB EA ;总中断开放
SETB ET0 ;允许T0中断
SETB TR0 ;开启T0定时器
MOV R4,#14H ;1秒定时用计数值(50MS×20)
MOV DISPFIRST,#70H ;显示单元为70-75H
;以下主程序循环
START1: LCALL DISPLAY ;调用显示子程序
JNB P1.0,SETMM1 ;P1.0口为0时转时间调整程序
JNB P1.1,FUNSS ;秒表功能,P1.1按键调时时作减1加能
JNB P1.2,FUNPT ;秒表STOP,PUSE,CLR
JNB P1.3,TSFUN ;定时闹铃设定
JB 08H, QQQQ
AJMP START1 ;P1.0口为1时跳回START1
;
FUNPT: LJMP FUNPTT
;以下闹铃时间设定程序,按P1.3进入设定
TSFUN: LCALL DS20MS
JB P1.3,START1 ;
WAIT113: JNB P1.3,WAIT113 ;等待键释放
JB 05H,CLOSESP ;闹铃已开的话,关闹铃
MOV DISPFIRST,#50H ;进入闹铃设定程序,显示50-55H闹钟定时单元
MOV 50H,#0CH ;"-" 闹铃设定时显示格式00:00: -
MOV 51H,#0AH ;"黑"
;
DSWAIT: SETB EA
LCALL DISPLAY
JNB P1.2,DSFINC ;分加1
JNB P1.0,DSDEC ;分减1
JNB P1.3,DSSFU ;进入时调整
AJMP DSWAIT
;
CLOSESP: CLR 05H ;关闹铃标志
CLR BELL
AJMP START1
DSSFU: LCALL DS20MS ;消抖
JB P1.3, DSWAIT
LJMP DSSFUNN ;进入时调整
;
SETMM1: LJMP SETMM ;转到时间调整程序SETMM
;
DSFINC : LCALL DS20MS ;消抖
JB P1.2, DSWAIT
DSWAIT12: LCALL DISPLAY ;等键 释放
JNB P1.2, DSWAIT12
CLR EA
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] 下一页
本文关键字:程序 51单片机,单片机-工控设备 - 51单片机