??
字號:
;********************************
; 設置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 + -