📄 时钟温度显示.lst
字号:
0114 7E08 183 WRITE1812:MOV R6,#8
0116 D290 184 WRITE1812A : SETB DAT
0118 C3 185 CLR C
0119 C290 186 CLR DAT
011B 00 187 nop
011C 00 188 nop
011D 00 189 nop
011E 00 190 nop
A51 MACRO ASSEMBLER 时钟温度显示 10/14/2004 16:10:32 PAGE 4
011F 00 191 nop
0120 13 192 RRC A
0121 9290 193 MOV DAT,C
0123 7F1C 194 MOV R7,#28
0125 DFFE 195 DJNZ R7,$
0127 DEED 196 DJNZ R6,WRITE1812A
0129 D290 197 SETB DAT
012B 22 198 RET
199 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
200 ; 1812d读状态寄存器
201 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
202
012C E4 203 READ1812:CLR A
012D 7E08 204 MOV R6,#8
012F D290 205 READ1812A: SETB DAT
0131 00 206 NOP
0132 00 207 NOP
0133 C290 208 CLR DAT
0135 00 209 NOP
0136 00 210 NOP
0137 00 211 NOP
0138 D290 212 SETB DAT
013A A290 213 MOV C,DAT
013C 00 214 nop
013D 00 215 nop
013E 00 216 nop
013F 7F17 217 MOV R7,#23
0141 DFFE 218 DJNZ R7,$
0143 13 219 RRC A
0144 DEE9 220 DJNZ R6,READ1812A
0146 22 221 RET
222 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
223 ; 1812温度转换
224 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0147 E522 225 TRANNUM:MOV A,TEMPH
0149 20E706 226 JB ACC.7, TT0
014C 752B00 227 MOV 2BH,#00H
014F 020163 228 JMP TT1
0152 752B0B 229 TT0:MOV 2BH,#0BH; 温度为负时百位变‘-’号,21,22单元取反加1。
0155 E4 230 clr a
0156 2401 231 add a,#1
0158 F522 232 mov TEMPH,a
015A E521 233 mov a,TEMPL
015C E4 234 clr a
015D 2401 235 add a,#1
015F F521 236 mov TEMPL,a
0161 F522 237 mov TEMPH,a
0163 C3 238 TT1: CLR C
0164 23 239 RL A
0165 23 240 RL A
0166 23 241 RL A
0167 23 242 RL A
0168 23 243 RL A
0169 03 244 RR A
016A FB 245 MOV R3,A
016B AA21 246 MOV R2,TEMPL
016D EA 247 MOV A,R2
016E C4 248 SWAP A
016F 540F 249 ANL A,#00001111B
0171 4B 250 ORL A,R3
0172 75F00A 251 MOV B,#10
0175 84 252 DIV AB
0176 F52A 253 MOV 2AH,a
0178 85F029 254 MOV 29H,b
017B EA 255 MOV A,R2
017C 540F 256 ANL A,#00001111B
A51 MACRO ASSEMBLER 时钟温度显示 10/14/2004 16:10:32 PAGE 5
017E 75F006 257 mov b,#6
0181 A4 258 Mul ab
0182 75F00A 259 mov b,#10
0185 84 260 div ab
0186 F528 261 MOV 28H,a
0188 22 262 RET
263 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
264
265 ;; 显示程序 ;;
266
267 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
268
0189 74C0 269 DISPLAY1: MOV A,#11000000B;显示TEMP
018B 1202A9 270 CALL WRITE
018E 900267 271 MOV DPTR,#LINE1;指向显示内容
0191 7B00 272 mov R3,#0
0193 1202CC 273 LCALL PRSTRING;查显示内容
0196 7480 274 MOV A,#10000000B;显示TEMP
0198 1202A9 275 CALL WRITE
019B 90027C 276 MOV DPTR,#LINE3;指向显示内容
019E 7B00 277 mov R3,#0
01A0 1202CC 278 LCALL PRSTRING;查显示内容
01A3 7485 279 DISPLAY2: MOV A,#10000101B;显示时间
01A5 1202A9 280 CALL WRITE
01A8 90026D 281 MOV DPTR,#LINE2
01AB AB35 282 MOV R3,35H
01AD 1202DB 283 LCALL PRSTRING1;查显示内容
01B0 7486 284 MOV A,#10000110B
01B2 1202A9 285 CALL WRITE
01B5 90026D 286 MOV DPTR,#LINE2
01B8 AB34 287 MOV R3,34H
01BA 1202DB 288 LCALL PRSTRING1;查显示内容
01BD 7487 289 MOV A,#10000111B
01BF 1202A9 290 CALL WRITE
01C2 90026D 291 MOV DPTR,#LINE2
01C5 7B0D 292 MOV R3,#13
01C7 1202DB 293 LCALL PRSTRING1;查显示内容
01CA 7488 294 MOV A,#10001000B
01CC 1202A9 295 CALL WRITE
01CF 90026D 296 MOV DPTR,#LINE2
01D2 AB33 297 MOV R3,33H
01D4 1202DB 298 LCALL PRSTRING1;查显示内容
01D7 7489 299 MOV A,#10001001B
01D9 1202A9 300 CALL WRITE
01DC 90026D 301 MOV DPTR,#LINE2
01DF AB32 302 MOV R3,32H
01E1 1202DB 303 LCALL PRSTRING1;查显示内容
01E4 748A 304 MOV A,#10001010B
01E6 1202A9 305 CALL WRITE
01E9 90026D 306 MOV DPTR,#LINE2
01EC 7B0D 307 MOV R3,#13
01EE 1202DB 308 LCALL PRSTRING1;查显示内容
01F1 748B 309 MOV A,#10001011B
01F3 1202A9 310 CALL WRITE
01F6 90026D 311 MOV DPTR,#LINE2
01F9 AB31 312 MOV R3,31H
01FB 1202DB 313 LCALL PRSTRING1;查显示内容
01FE 748C 314 MOV A,#10001100B
0200 1202A9 315 CALL WRITE
0203 90026D 316 MOV DPTR,#LINE2
0206 AB30 317 MOV R3,30H
0208 1202DB 318 LCALL PRSTRING1;查显示内容
020B 74C5 319 DISPLAY3:MOV A,#11000101B;显示温度
020D 1202A9 320 CALL WRITE
0210 90026D 321 MOV DPTR,#LINE2
0213 AB2B 322 MOV R3,2BH
A51 MACRO ASSEMBLER 时钟温度显示 10/14/2004 16:10:32 PAGE 6
0215 1202DB 323 LCALL PRSTRING1;查显示内容
0218 74C6 324 MOV A,#11000110B
021A 1202A9 325 CALL WRITE
021D 90026D 326 MOV DPTR,#LINE2
0220 AB2A 327 MOV R3,2AH
0222 1202DB 328 LCALL PRSTRING1;查显示内容
0225 74C7 329 MOV A,#11000111B
0227 1202A9 330 CALL WRITE
022A 90026D 331 MOV DPTR,#LINE2
022D AB29 332 MOV R3,29H
022F 1202DB 333 LCALL PRSTRING1;查显示内容
0232 74C8 334 MOV A,#11001000B
0234 1202A9 335 CALL WRITE
0237 90026D 336 MOV DPTR,#LINE2
023A 7B0A 337 MOV R3,#10
023C 1202DB 338 LCALL PRSTRING1;查显示内容
023F 74C9 339 MOV A,#11001001B
0241 1202A9 340 CALL WRITE
0244 90026D 341 MOV DPTR,#LINE2
0247 AB28 342 MOV R3,28H
0249 1202DB 343 LCALL PRSTRING1;查显示内容
024C 74CA 344 MOV A,#11001010B
024E 1202A9 345 CALL WRITE
0251 90026D 346 MOV DPTR,#LINE2
0254 7B0C 347 MOV R3,#12
0256 1202DB 348 LCALL PRSTRING1;查显示内容
0259 74CB 349 MOV A,#11001011B
025B 1202A9 350 CALL WRITE
025E 90026D 351 MOV DPTR,#LINE2
0261 7B0B 352 MOV R3,#11
0263 1202DB 353 LCALL PRSTRING1;查显示内容
0266 22 354 RET
0267 54454D50 355 LINE1: DB 'TEMP:',00H
026B 3A00
026D 30313233 356 LINE2: DB '0','1','2','3','4','5','6','7','8','9','.','C',11011111B,':',00H
0271 34353637
0275 38392E43
0279 DF3A00
027C 54494D45 357 LINE3: DB 'TIME:',00H
0280 3A00
358 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
359 ; 启动LCM子程序
360 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0282 7438 361 INITIAL:MOV A,#00111000B;设置为8BIT汇流,显示两行并使用5*7的字型
0284 1202A9 362 CALL WRITE
0287 740C 363 MOV A,#00001100B;设置为显示器要显示,光标不显示
0289 1202A9 364 CALL WRITE
028C 7406 365 MOV A,#00000110B;设置为每一次资料输入后光标自动向右移一格
028E 1202A9 366 CALL WRITE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -