138621的互置.txt
来自「关于单片机中流水线处理,红绿灯转化等实验」· 文本 代码 · 共 86 行
TXT
86 行
CURRENT EQU 30H
org 0000H
jmp MAIN
;*****************************************************
org 0030H
MAIN:
mov p0,#0FFH
mov p1,#0FFH
mov p2,#0FFH
mov p3,#0FFH
mov CURRENT,#01H
clr p3.3 ;clear the common line
MAIN_LOOP:
jb p2.7,KEY_2 ;wait for key down
call DELAY
call MUN_ADD
jmp NEXT_LOOP
KEY_2:
jb p2.6,NEXT_LOOP
call DELAY
call MUN_SUB
jmp NEXT_LOOP
NEXT_LOOP:
call DISPLAY_NUM
jmp MAIN_LOOP
ret
;**************************************************
DISPLAY_NUM:
mov a,CURRENT
mov dptr,#TAB_LED
movc a,@a+dptr
mov p0,a
mov p2,#11110111B
ret
;****************************************************
MUN_ADD:
mov a,CURRENT
mov dptr,#TAB_ADD
movc a,@a+dptr
mov CURRENT,a
ret
;*****************************************************
MUN_SUB:
mov a,CURRENT
mov dptr,#TAB_SUB
movc a,@a+dptr
mov CURRENT,a
ret
;******************************************************
;Dealy for a interval
DELAY:
mov r7,#200
DELAY_LOOP:
mov r6,#200
djnz r6,$
mov r6,#200
djnz r6,$
djnz r7,DELAY_LOOP
ret
DELAY_DISP:
mov r7,#20
DELAY_DISP_LOOP:
mov r6,#200
djnz r6,$
mov r6,#200
djnz r6,$
djnz r7,DELAY_DISP_LOOP
ret
;********************************************************
TAB_LED: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
;**************************************************************
TAB_ADD: DB 00H,03H,06H,08H,00H,00H,01H,00H,02H,00H
;********************************************************
TAB_SUB: DB 00H,06H,08H,01H,00H,00H,02H,00H,03H,00H
;********************************************************
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?