📄
字号:
;********************************
; 设置T0T1T2
;********************************
; 晶体频率=36MHz
; 波特率=31.25K
;--------------------------------
SZT0T1T2:
MOV TMOD,#21H ;T0 定时方式1(16位定时器)
;T1 定时方式2(自动再装的8位定时器,控制波特率)
MOV T2CON,#0 ;T2 16位自动重装载定时器
ANL PCON,#01111111B ;SMOD=0
MOV SCON,#40H ;串口方式1: 8位UART,波特率受T1控制
;MOV TH0,#254
;MOV TL0,#70 ;150uS
IF BTL=31 ;波特率=31250
MOV TH1,#0FDH ;波特率=31250
MOV TL1,#0FDH ;0.00%
ENDIF
IF BTL=96 ;波特率=9600
MOV TH1,#0F6H ;波特率=9600
MOV TL1,#0F6H ;-2.34%
ENDIF
MOV RCAP2H,#0
MOV RCAP2L,#0 ;定时周期=256*85.333uS=21.845mS
MOV TH2,RCAP2H
MOV TL2,RCAP2L
MOV IPH,#00001010B ;-,PPC,PT2,PS,PT1,PX1,PT0,PX0
MOV IP, #00101000B ;PT1不低于PS
;SETB ET0 ;允许T0中断???????????????
CLR ET0 ;禁止T0中断???????????????
CLR TR0 ;不起动T0
CLR ET1 ;禁止T1中断
SETB TR1 ;起动T1
SETB ET2 ;允许T2中断
SETB TR2 ;起动T2
SETB REN ;允许接收
SETB ES ;允许串口中断
SETB EA ;允许中断
RET
include "软件陷阱.asm"
;********************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -