串口.asm

来自「串口定时控制家电开关」· 汇编 代码 · 共 50 行

ASM
50
字号
TEST BIT 70H
ORG 0000h
MOV 1,#0FFH;开机延时
DJNZ 1,$
AJMP MAIN
ORG 0023h
LJMP COMM  ;串口中断
ORG 0100H
MAIN:MOV SP,#5fH
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$串口初始化
mov TMOD,#20h ;T1: 工作模式2
mov PCON,#00h ;SMOD=1
mov TL1,#0FDH
mov TH1,#0FDH ;初始化波特率9600
mov SCON,#50h ;Standard UART settings
SETB REN ;允许接收
SETB TR1 ;T1开始工作
SETB ES  ;开串口中断
SETB EA
CLR TEST

AJMP $
;$$$$$$$$$$$$$$$$$$$$
COMM:JB RI,GO
RETURN:RETI
GO:CLR RI
JB TEST,SEND
MOV A,SBUF
SWAP A
SETB TEST
RETI
SEND:MOV B,SBUF
ADD A,B
MOV P0,A
LCALL DY2MS
mov sbuf,A
jnb ti,$
clr ti
CLR TEST
RETI
;$$$$$$$$$$$$$$$$$$$$$ Delays
DY2MS:
MOV R7,#01
LOOP0:MOV R6,#00
DJNZ R6,$
DJNZ R7,LOOP0
RET
END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?