📄 rs232b.asm
字号:
SW1 BIT P2.7
SW2 BIT P2.6
SW3 BIT P2.5
SW4 BIT P2.4
SW5 BIT P2.3
SW6 BIT P2.2
KEY BIT P3.3
org 000h
jmp start
org 023h
jmp rs_int
ORG 100H
start:MOV SP ,#40H
MOV P1,0FFH ;INIT
MOV P2,0FFH
MOV P0,0FFH
MOV P3,0FFH
CLR KEY
mov tmod,#20h
mov scon,#50h
mov TH1,#0FDH ;sn=9600b/s-n-1
MOV TL1,#0FDH
SETB TR1
SETB ES
SETB EA
WAIT_KEY:JB KEY,$ ;等候按键!
JNB SW1,SW1_OK
JNB SW2,SW2_OK
JNB SW3,SW3_OK
JNB SW4,SW4_OK
JNB SW5,SW5_OK
JNB SW6,SW6_OK
JMP WAIT_KEY
SW1_OK: MOV SBUF,#11111110b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW1,$
JMP WAIT_KEY
SW2_OK: MOV SBUF,#11111101b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW2,$
JMP WAIT_KEY
SW3_OK: MOV SBUF,#11111011b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW3,$
JMP WAIT_KEY
SW4_OK: MOV SBUF,#11110111b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW4,$
JMP WAIT_KEY
SW5_OK: MOV SBUF,#11101111b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW5,$
JMP WAIT_KEY
SW6_OK: MOV SBUF,#11011111b
JNB TI,$
CLR TI
LCALL DELAY
JNB SW6,$
JMP WAIT_KEY
RS_INT: PUSH ACC
PUSH PSW
JNB RI,END_RS
CLR RI
MOV A,SBUF ;读接收字节
MOV P1,A
END_RS: POP PSW
POP ACC
RETI
DELAY: MOV R7,#30
D1: MOV R6,#20
D2: MOV R5,#248
DJNZ R5,$
DJNZ R6,D2
DJNZ R7,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -