📄 oki80second_1.lst
字号:
252 ;JBC port6,DOWNKEY
253 ;JMP main_start
254 ;JMP UPKEYPROCELOOP
255 ;--------------------------------------------- DOWNKEY PROCE PROGRAM
256 00099 DOWNKEYPROCE:
257 00099 0906 bC port6,led
258 0009A 00D2 CLR KEYTIME
259 0009B DOWNKEYPROCELOP:
260 0009B 0004 wdtc
261 0009C 0552 INC KEYTIME
262 0009D 0415 MOV A,I2CDATA_HIGH
263 0009E 1D04 SUB A,@4
264 0009F 0E83 JBS STATUS,Z
265 000A0 14AF JMP DOWNI2C3
266 000A1 DOWNI2C4:
267 000A1 01D6 DEC I2CDATA_LOW
268 000A2 18FF MOV A,@0Xff
269 000A3 0116 SUB A,I2CDATA_LOW
270 000A4 0E83 JBS STATUS,Z
271 000A5 14BC JMP DOWNKEYPROCE_2
272 000A6 01D5 DEC I2CDATA_HIGH
273 000A7 18FF MOV A,@0XFF
274 000A8 0056 MOV I2CDATA_LOW,A
275 000A9 14BC JMP DOWNKEYPROCE_2
276 000AA DOWNRESET:
277 000AA 1803 MOV A,@3
278 000AB 0055 MOV I2CDATA_HIGH,A
279 000AC 186C MOV A,@0X6C
280 000AD 0056 MOV I2CDATA_LOW,A
281 000AE 14BC JMP DOWNKEYPROCE_2
282 000AF DOWNI2C3:
283 000AF 0415 MOV A,I2CDATA_HIGH
284 000B0 1D03 SUB A,@3
285 000B1 0E83 JBS STATUS,Z
286 000B2 14AA JMP DOWNRESET
287 000B3 DOWNI2C3_1:
288 000B3 01D6 DEC I2CDATA_LOW
289 000B4 0416 MOV A,I2CDATA_LOW
290 000B5 1D6A SUB A,@0X6A
291 000B6 0E03 JBS STATUS,C
292 000B7 14BC JMP DOWNKEYPROCE_2
293 000B8 DOWNI2C3_:
294 000B8 1804 MOV A,@0X04
295 000B9 0055 MOV I2CDATA_HIGH,A
296 000BA 1838 MOV A,@0X38
297 000BB 0056 MOV I2CDATA_LOW,A
298 000BC DOWNKEYPROCE_2:
299 000BC 111E CALL writeto1415
300 000BD 1143 CALL HEX_TO_BCD
301 000BE 1210 CALL LCDDISPLAY
302 000BF 1803 MOV A,@3
303 000C0 0112 SUB A,KEYTIME
304 000C1 0E03 JBS STATUS,C ; 前三次一秒变一次
305 000C2 14C4 JMP DOWNKEYPROCE_3
306 000C3 14C6 JMP DOWNKEYPROCE_4
307 000C4 DOWNKEYPROCE_3:
308 000C4 10F0 CALL KEYDELAY500MS
309 000C5 14C9 JMP DOWNKEYPROCE_5
310 000C6 DOWNKEYPROCE_4:
311 000C6 10F3 CALL KEYDELAY100MS
312 000C7 180A MOV A,@10
313 000C8 0052 MOV KEYTIME,A
314 000C9 DOWNKEYPROCE_5:
315 000C9 0E86 JBS port6,DOWNKEY
316 000CA 149B JMP DOWNKEYPROCELOP
317 000CB 11A2 CALL e_w
318 000CC 10D5 CALL LEDDELAY
319 000CD 0E53 JBS FLAG,LOSEFLAG
320 000CE 14D1 JMP KEYDELAYDOWN
321 000CF 0B06 BS port6,LED
322 000D0 1454 jmp main_start
323 000D1 KEYDELAYDOWN:
324 000D1 11A2 CALL e_w
325 000D2 0C46 JBC port6,UPKEY
326 000D3 1499 JMP DOWNKEYPROCE
327 000D4 1462 JMP UPKEYPROCE
328 ;----------------------------------------- backlight 延时程序
329 000D5 LEDDELAY:
330 000D5 0853 BC FLAG,LOSEFLAG
331 000D6 18FA MOV A,@250
332 000D7 005F MOV MOVE_TIMETEMP,A
333 000D8 LEDROULOP:
334 000D8 18FA MOV A,@250
335 000D9 0004 WDTC ;CLEAR WDT
336 000DA 0050 MOV move_time,A
337 000DB 0C46 jbc port6,upkey
338 000DC 14DE jmp cyROULOP
339 000DD 14EF jmp LEDROULOP_5
340 000DE cyROULOP:
341 000DE 0E86 jbs port6,downkey
342 000DF 14EF jmp LEDROULOP_5
343 000E0 LEDROULOP_4:
344 000E0 0004 wdtc
345 000E1 05D0 DJZ move_time
346 000E2 14E4 jmp LEDROULOP_3
347 000E3 14EB JMP LEDROULOP_2
348 000E4 LEDROULOP_3:
349 000E4 12E5 CALL DLY
350 000E5 12E5 CALL DLY
351 000E6 12E5 CALL DLY
352 000E7 12E5 CALL DLY
353 000E8 12E5 CALL DLY
354 000E9 12E5 CALL DLY
355 000EA 14E0 JMP LEDROULOP_4
356 000EB LEDROULOP_2:
357 000EB 05DF DJZ MOVE_TIMETEMP
358 000EC 14D8 JMP LEDROULOP
359 000ED LEDROULOP_1:
360 000ED 0A53 BS FLAG,LOSEFLAG
361 000EE 0000 nop
362 000EF LEDROULOP_5:
363 000EF 0012 RET
364 ;-------------------------------------------
365 000F0 KEYDELAY500MS:
366 000F0 18FA MOV A,@250
367 000F1 005F MOV MOVE_TIMETEMP,A
368 000F2 14F8 JMP ROULOP
369 000F3 KEYDELAY100MS:
370 000F3 1814 MOV A,@20
371 000F4 005F MOV MOVE_TIMETEMP,A
372 000F5 14F8 JMP ROULOP
373 000F6 KEYDELAY10MS:
374 000F6 1801 MOV A,@1
375 000F7 005F MOV MOVE_TIMETEMP,A
376 000F8 ROULOP:
377 000F8 18FA MOV A,@250
378 000F9 0004 WDTC ;CLEAR WDT
379 000FA 0050 MOV move_time,A
380 000FB 0C46 jbC port6,upkey
381 000FC 14FE jmp cROULOP
382 000FD 1500 jmp ROULOP_4
383 000FE cROULOP:
384 000FE 0C86 jbC port6,downkey
385 000FF 150B jmp ROULOP_1
386 00100 ROULOP_4:
387 00100 0004 wdtc
388 00101 05D0 DJZ move_time
389 00102 1504 jmp ROULOP_3
390 00103 1509 JMP ROULOP_2
391 00104 ROULOP_3:
392 00104 0000 NOP
393 00105 0000 NOp
394 00106 12E5 call dly
395 00107 12E5 CALL DLY
396 00108 1500 JMP ROULOP_4
397 00109 ROULOP_2:
398 00109 05DF DJZ MOVE_TIMETEMP
399 0010A 14F8 JMP ROULOP
400 0010B ROULOP_1:
401 0010B 0012 RET
402 ;-----------------------------------------------
403 0010C delay1s:
404 0010C 1864 mov a,@100
405 0010D 0065 mov MOVETIME2,a
406 0010E delay1s_3:
407 0010E 05E5 djz MOVETIME2
408 0010F 1511 jmp delay1s_1
409 00110 1513 jmp delay1s_2
410 00111 delay1s_1:
411 00111 1114 call delay10ms
412 00112 150E jmp delay1s_3
413 00113 delay1s_2:
414 00113 0012 ret
415 ;------------------------------------------
416 00114 delay10ms:
417 00114 1814 MOV A,@20
418 00115 005F MOV MOVE_TIMETEMP,A
419 00116 delay10ms_2:
420 00116 1864 MOV A,@100
421 00117 0050 MOV MOVE_TIME,A
422 00118 delay10ms_1:
423 00118 0004 wdtc
424 00119 05D0 djz MOVE_TIME
425 0011A 1518 jmp delay10ms_1
426 0011B 05DF djz MOVE_TIMETEMP
427 0011C 1516 jmp delay10ms_2:
428 0011D 0012 ret
429 ;----------------------------------
430 0011E writeto1415:
431 0011E 1802 MOV A,@0X02
432 0011F 005F MOV MOVE_TIMETEMP,A
433 00120 1808 MOV A,@0X08
434 00121 0050 MOV MOVE_TIME,A
435 00122 0416 MOV A,i2cdata_low
436 00123 005C MOV DATATEMP,A
437 00124 W1415:
438 00124 0A45 Bs Port5,CE
439 ; call dly
440 ; bc port5,ce
441 ; call dly
442 ; bs port5,ce
443 00125 W1415_1:
444 00125 0004 wdtc
445 00126 065C RRC DATATEMP
446 00127 0C03 JBC STATUS,C
447 00128 152B JMP W1415_2
448 00129 08C5 BC Port5,DA ;0
449 0012A 152C JMP WR11415
450 0012B W1415_2:
451 0012B 0AC5 BS Port5,DA ;1
452 0012C WR11415:
453 0012C 12E5 call dly
454 0012D 0885 Bc Port5,CK
455 0012E 12E5 call dly
456 0012F 0A85 Bs Port5,CK
457 00130 12E5 call dly
458 00131 05D0 DJZ MOVE_TIME
459 00132 1525 JMP W1415_1
460 00133 05DF DJZ MOVE_TIMETEMP
461 00134 1536 JMP WR11415_1
462 00135 153D JMP writeto1415END
463 00136 WR11415_1:
464 00136 1808 MOV A,@0X08
465 00137 0050 MOV MOVE_TIME,A
466 00138 0415 MOV A,i2cdata_high
467 00139 005C MOV DATATEMP,A
468 0013A 0ADC bs datatemp,3
469 0013B 0B9C bs datatemp,6
470 0013C 1525 JMP W1415_1
471 0013D writeto1415END:
472 0013D 0845 bc port5,ce
473 0013E 12E5 call dly
474 0013F 08C5 bc port5,da
475 00140 12E5 call dly
476 00141 0885 bc port5,ck
477 00142 0012 RET
478 ;------------------
479 00143 HEX_TO_BCD:
480 00143 00DD CLR BCDTEMP_HIGH
481 00144 00DE CLR BCDTEMP_LOW
482 00145 0416 mov a,I2CDATA_LOW
483 00146 0054 mov data,a
484 00147 0415 mov a,I2CDATA_HIGH
485 00148 0051 mov data1, a
486 00149 1810 mov a, @16
487 0014A 0050 MOV MOVE_TIME, a
488 0014B LOOP:
489 0014B 0004 wdtc
490 0014C 0803 BC STATUS,C
491 0014D 0414 mov a,data
492 0014E 005C MOV DATATEMP, a
493 0014F 06DC RLC DATATEMP
494 00150 041C mov a, DATATEMP
495 00151 0054 MOV data,a
496 00152 0411 mov a, data1
497 00153 005C MOV DATATEMP, a
498 00154 06DC RLC DATATEMP
499 00155 041C mov a, DATATEMP
500 00156 0051 MOV data1, a
501 00157 041E mov a,BCDTEMP_LOW
502 00158 005C MOV DATATEMP, a
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -