📄 serial.asm
字号:
;-----------------------------------------------------------
; 文件名: Serial.asm
; 文件描述: 读端口P0,如果数值改变,则将P0口读到的数送
; PC机显示
;-----------------------------------------------------------
ORG 0000H
LJMP START
ORG 000BH
LJMP ISR_T0
;-----------------------------------------------------------
START: MOV SCON, #50H
MOV TMOD, #21H ; 定时器1工作方式2,定时器0工作方式1
MOV PCON, #80H ; 波特率倍增
MOV TH1, #0FDH ; 定时器1计数初值
MOV TH0, #00H ; 定时器0计数初值
MOV TL0, #00H
SETB TR0 ; 开中断
SETB TR1
SETB ET0
CLR ES
SETB EA
CLR 20H ; P0口数据更新标志
;----------------------------------------------------------
LOOP: JNB 20H, LOOP
MOV SBUF, 30H ; 30H中用于存放P0口的数据
LOOP1: JNB TI, LOOP1
CLR TI
CLR 20H
AJMP LOOP
;----------------------------------------------------------
; 定时器0中断服务程序
;----------------------------------------------------------
ISR_T0: MOV TH0, #00H ; 重装计数初值
MOV TL0, #00H
ORL P0, #0FFH
MOV A, P0 ; 读P0口
CJNE A, 30H, LOOP2 ; 判断P0口的数据是否更新
AJMP LOOP3
LOOP2: MOV 30H, A
SETB 20H
LOOP3: RETI
;----------------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -