📄 5电子钟p1p2.lst
字号:
0197 30B5F7 255 JNB P3.5,SETOUT ;是抖动,返回SETOUT再等待
019A C201 256 CLR 01H ;清调小时标志
019C C200 257 CLR 00H ;清调分标志
019E C202 258 CLR 02H ;清闪烁标志
01A0 C28E 259 CLR TR1 ;关闭定时器T1
01A2 C2AB 260 CLR ET1 ;关定时器T1中断
01A4 D28C 261 SETB TR0 ;开启定时器T0
01A6 D2A9 262 SETB ET0 ;开定时器T0中断(计时开始)
01A8 02004A 263 LJMP START1 ;跳回主程序
01AB 1200C6 264 SET5: LCALL DISPLAY ;键释放等待时调用显示程序(调小时)
01AE 2170 265 AJMP SETHH1 ;防止键按下时无时钟显示
01B0 1200C6 266 SET7: LCALL DISPLAY ;等待调小时按键时时钟显示用
01B3 2177 267 AJMP SET6
01B5 1200C6 268 SETOUT1: LCALL DISPLAY ;退出时钟调整时键释放等待
01B8 2191 269 AJMP SETOUT ;防止键按下时无时钟显示
270 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
271 ;; p3.6 分钟加1调整程序 ;;
272 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
273 ;当调分钟时p3.6按键按下时进入此程序
01BA C2A9 274 SET_MM: CLR ET0 ;关定时器T0中断
01BC C28C 275 CLR TR0 ;关闭定时器T0
01BE 7A06 276 MOV R2,#06H ;进入调时间的状态,赋闪烁定时初值
01C0 D2AB 277 SETB ET1 ;允许T1中断
01C2 D28E 278 SETB TR1 ;开启定时器T1
01C4 30B637 279 SET2: JNB P3.6,SET1 ;p3.6口为0(键未释放),等待
01C7 D200 280 SETB 00H ;键释放,分调整闪烁标志置1
01C9 20B637 281 SET4: JB P3.6,SET3 ;等待键按下
01CC 12011B 282 LCALL DL05S ;有键按下,延时0.5秒
01CF 30B612 283 JNB P3.6,SETout_m ;按下时间大于0.5秒转退出程序
01D2 7877 284 MOV R0,#77H ;按下时间小于0.5秒加1分钟操作
01D4 1200AF 285 LCALL ADD1 ;调用加1子程序
01D7 EB 286 MOV A,R3 ;取调整单元数据
01D8 C3 287 CLR C ;清进位标志
01D9 B46000 288 CJNE A,#60H,HHH ;调整单元数据与60比较
01DC 40EB 289 HHH: JC SET4 ;调整单元数据小于60转SET4循环
01DE 1200C1 290 LCALL CLR0 ;调整单元数据大于或等于60时清0
01E1 C3 291 CLR C ;清进位标志
01E2 21C9 292 AJMP SET4 ;跳转到SET4循环
01E4 30B621 293 SETOUT_m: JNB P3.6,SETOUT1_m ;调时退出程序。等待键释放
01E7 1200C6 294 LCALL DISPLAY ;延时削抖
01EA 30B6F7 295 JNB P3.6,SETOUT_m ;是抖动,返回SETOUT再等待
01ED C201 296 CLR 01H ;清调小时标志
01EF C200 297 CLR 00H ;清调分标志
01F1 C202 298 CLR 02H ;清闪烁标志
01F3 C28E 299 CLR TR1 ;关闭定时器T1
01F5 C2AB 300 CLR ET1 ;关定时器T1中断
01F7 D28C 301 SETB TR0 ;开启定时器T0
01F9 D2A9 302 SETB ET0 ;开定时器T0中断(计时开始)
01FB 02004A 303 LJMP START1 ;跳回主程序
01FE 1200C6 304 SET1: LCALL DISPLAY ;键释放等待时调用显示程序(调分)
0201 21C4 305 AJMP SET2 ;防止键按下时无时钟显示
0203 1200C6 306 SET3: LCALL DISPLAY ;等待调分按键时时钟显示用
0206 21C9 307 AJMP SET4
0208 1200C6 308 SETOUT1_m: LCALL DISPLAY ;退出分钟调整时键释放等待
020B 21E4 309 AJMP SETOUT_m ;防止键按下时无时钟显示
310 END ;程序结束
A51 MACRO ASSEMBLER 5电子钟P1P2 04/14/2005 16:27:46 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
ACC. . . . . . . . D ADDR 00E0H A
ADD1 . . . . . . . C ADDR 00AFH A
ADDHH. . . . . . . C ADDR 008BH A
ADDMM. . . . . . . C ADDR 007EH A
ADDSS. . . . . . . C ADDR 0073H A
CLEARDISP. . . . . C ADDR 0028H A
CLR0 . . . . . . . C ADDR 00C1H A
DISPLAY. . . . . . C ADDR 00C6H A
DL05S. . . . . . . C ADDR 011BH A
DL05S1 . . . . . . C ADDR 011DH A
DL1. . . . . . . . C ADDR 0106H A
DL1MS. . . . . . . C ADDR 0104H A
DL1S . . . . . . . C ADDR 0114H A
DL2. . . . . . . . C ADDR 0108H A
DS20MS . . . . . . C ADDR 010DH A
EA . . . . . . . . B ADDR 00A8H.7 A
ENDOUT . . . . . . C ADDR 00F3H A
ET0. . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . B ADDR 00A8H.3 A
FLASH1 . . . . . . C ADDR 0147H A
FLASH2 . . . . . . C ADDR 0158H A
HHH. . . . . . . . C ADDR 01DCH A
HOUR . . . . . . . C ADDR 0098H A
HOUU . . . . . . . C ADDR 018AH A
INTT0. . . . . . . C ADDR 005BH A
INTT1. . . . . . . C ADDR 0123H A
INTT1OUT . . . . . C ADDR 0142H A
OUTT0. . . . . . . C ADDR 009CH A
P1 . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . D ADDR 00B0H A
PLAY . . . . . . . C ADDR 00CAH A
PLAY_1 . . . . . . C ADDR 00D9H A
PLAY_2 . . . . . . C ADDR 00E0H A
PLAY_3 . . . . . . C ADDR 00E5H A
PSW. . . . . . . . D ADDR 00D0H A
SET1 . . . . . . . C ADDR 01FEH A
SET2 . . . . . . . C ADDR 01C4H A
SET3 . . . . . . . C ADDR 0203H A
SET4 . . . . . . . C ADDR 01C9H A
SET5 . . . . . . . C ADDR 01ABH A
SET6 . . . . . . . C ADDR 0177H A
SET7 . . . . . . . C ADDR 01B0H A
SETHH1 . . . . . . C ADDR 0170H A
SETOUT . . . . . . C ADDR 0191H A
SETOUT1. . . . . . C ADDR 01B5H A
SETOUT1_M. . . . . C ADDR 0208H A
SETOUT_M . . . . . C ADDR 01E4H A
SET_H. . . . . . . C ADDR 0055H A
SET_HH . . . . . . C ADDR 0166H A
SET_M. . . . . . . C ADDR 0058H A
SET_MM . . . . . . C ADDR 01BAH A
START. . . . . . . C ADDR 0024H A
START1 . . . . . . C ADDR 004AH A
TAB. . . . . . . . C ADDR 00F9H A
TH0. . . . . . . . D ADDR 008CH A
TH1. . . . . . . . D ADDR 008DH A
TL0. . . . . . . . D ADDR 008AH A
TL1. . . . . . . . D ADDR 008BH A
TMOD . . . . . . . D ADDR 0089H A
A51 MACRO ASSEMBLER 5电子钟P1P2 04/14/2005 16:27:46 PAGE 7
TR0. . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . B ADDR 0088H.6 A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -