MOV TL0,#0FFH ;置计数器0初值
MOV TH0,#0FFH
MOV TL1,#0FDH ;;;;;;;;波特率=9600 when XTAL=11.05920MHz
MOV TH1,#0FDH ;BUT IT IS 12.000MHz
MOV TL2,#0B8H ;置计数器2初值 ;T2需要从新装载,时间为62.5mS
MOV TH2,#17H
MOV RCAP2L,#0B8H;计数器2重新装载值
MOV RCAP2H,#17H
SETB PT2 ;T2中断优先级设置
SETB TR0 ;TR0置1,计数器0启动
SETB TR1 ;;;;;;;;;TR1置1,计数器1启动
SETB TR2 ;TR2置1,计数器2启动
MOV SCON,#01010000B ;;;;;;;;串口为方式1,允许接收。
MOV PCON,#00H ;;;;;;;;;波特率不加倍
;SETB PS ;串口中断优先与硬中断
SETB ET0 ;计数0允许中断
CLR ET1 ;T1 波特率发生,不能打开中断
SETB ET2 ;计数2允许中断
SETB IT0 ;外部中断t0脉冲边沿触发
SETB EX0 ;外部中断0允许
SETB ES ;;;;;;;;;串行中断允许
SETB EA ;开总中断
SETB TR2 ;TR2置1,计数器2启动
SETB ET2 ;ET2 ;计数2允许中断
SETB EA ;开总中断
sjmp $
time2: clr TF2
cpl P1.0 ;P1.0输出2KHz的方波信号
reti