📄 sbufes.asm
字号:
;==================================================================
; 串口测试程序
; 程序设计:程敬峰 最后修改日期:2005,10,26
; 朗腾电子科技开发公司 http://www.natiem.com
;本程序只作开发试验之用途,没有版权,可随意修改和传播,如有特殊要求
;可与我们联系,或可作有偿开发。
;==================================================================
ORG 0000H ;主程序入口地址
JMP MAIN
ORG 0023H ;串行中断入口
JMP RSBUF ;串行中断
MAIN: MOV TMOD,#20H ;设置定时器T1为2模式
MOV SCON,#50H ;串口方式3,9位异步,设置允许接收
MOV IE,#10010010B ;启用总中断和串行中断,定时器/计数器0中断
MOV TH1,#0FDH ;晶振:F=11.0592M,设置波特率为:B=9600
SETB TR1 ;开启定时器1
MOV 30H,#0
MOV 31H,#0
MOV 32H,#0
MOV 33H,#0
AAA: ACALL DISPLAY
JMP AAA
RSBUF: JNB RI,OUT
CLR RI
MOV A,SBUF
CJNE A,#7AH,BB0
AA0: JNB RI,AA0
CLR RI
MOV A,SBUF
MOV 30H,A
AA1: JNB RI,AA1 ;串口是否有信号输入
CLR RI
MOV A,SBUF
MOV 31H,A
SJMP OUT
BB0: CJNE A,#7BH,OUT
BB1: JNB RI,BB1
CLR RI
MOV A,SBUF
MOV 32H,A
BB2: JNB RI,BB2 ;串口是否有信号输入
CLR RI
MOV A,SBUF
MOV 33H,A
MOV A,32H
MOV B,33H
ADD A,B
CPL A
MOV P1,A
OUT: RETI
;**********************显示子程序**********************
DISPLAY:
MOV A,30H
MOV B,#10
DIV AB
MOV 73H,A
MOV 72H,B
MOV A,31H
MOV B,#10
DIV AB
MOV 71H,A
MOV 70H,B
MOV R0,#2
DPL1: MOV R1,#20 ;显示60次
MOV DPTR,#TAB ;指定查表启始地址
DPLOP: MOV A,70H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.4
ACALL D1MS ;显示1ms
SETB P2.4
MOV A,71H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.5
ACALL D1MS
SETB P2.5
MOV A,72H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.6
ACALL D1MS ;显示1ms
SETB P2.6
MOV A,73H
MOVC A,@A+DPTR
MOV P0,A
CLR P2.7
ACALL D1MS ;显示1ms
SETB P2.7
DJNZ R1,DPLOP
DJNZ R0,DPL1
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H, 88H,83H,0C6H,0A1H,86H,8EH
D1MS: MOV R7,#80
DJNZ R7,$
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -