📄 bc7281改.asm
字号:
BIT_COUNT DATA 06FH
TIMER DATA 06EH
TIMER1 DATA 06DH
TEMP DATA 06CH
DATA_IN DATA 02FH
DATA_OUT DATA 02EH
CLK BIT P1.1
DAT BIT P1.0
KEY BIT P3.2
ORG 0000H
SJMP MAIN
ORG 0003H
LJMP JIANPAN
ORG 0010H
MAIN: MOV SP,#70H
MOV IE,#81H
MOV R0,#47H
MOV R1,#08H
clr a
BACK:MOV @R0,A
DEC R0
DJNZ R1,BACK
; inc r0 //40h
MOV TIMER,#50
START_DELAY:MOV TIMER1,#255
START_DELAY1:DJNZ TIMER1,START_DELAY1
DJNZ TIMER,START_DELAY
MOV DATA_OUT,#12H
LCALL SEND
MOV DATA_OUT,#80H
LCALL SEND
lcall start
sjmp $
lcall JIANPAN
START: MOV DATA_OUT,#15H
LCALL SEND
;/ HEX译码指令 /
;/ 开始时40H-47H全显示零,按下一键值从40H开始显示 /
MOV A,40H
SWAP A
ADD A,#00H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,41H
SWAP A
ADD A,#01H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,42H
SWAP A
ADD A,#02H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,43H
SWAP A
ADD A,#03H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,44H
SWAP A
ADD A,#04H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,45H
SWAP A
ADD A,#05H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,46H
SWAP A
ADD A,#06H
SWAP A
MOV DATA_OUT,A
LCALL SEND
MOV DATA_OUT,#15H
LCALL SEND
MOV A,47H
SWAP A
ADD A,#07H
SWAP A
MOV DATA_OUT,A
LCALL SEND
ret
SEND:MOV IE,#00H
WAAIT1:CLR CLK
SETB CLK
JB DAT,WAAIT1
CLR CLK
SETB CLK
WAIT2:JNB DAT,WAIT2
MOV BIT_COUNT,#8
SEND_LOOP:MOV C,DATA_OUT.7
MOV DAT,C
CLR CLK
SETB CLK
MOV A,DATA_OUT
RL A
MOV DATA_OUT,A
NOP
NOP
NOP
DJNZ BIT_COUNT,SEND_LOOP
SETB DAT
MOV IE,#81H
RET
RECEIVE:MOV IE,#00H
CLR CLK
SETB CLK
WAIT3:JB DAT,WAIT3
CLR CLK
SETB CLK
MOV BIT_COUNT,#8
RECV_LOOP:NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOV A,DATA_IN
MOV C,DAT
RLC A
MOV DATA_IN,A
CLR CLK
SETB CLK
DJNZ BIT_COUNT,RECV_LOOP
MOV IE,#81H
RET
ORG 0A00H
JIANPAN: NOP
MOV DATA_OUT,#93H
LCALL SEND
LCALL RECEIVE
MOV @R0,DATA_IN
lcall start ;?????
INC R0
CJNE R0,#48H,CONTINUE
MOV R0,#40H
CONTINUE: NOP
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -