单片机的问题6

若晶振为11.0592MHz,串行口工作于方式1,波特率为4800b/s。写出用T1作为波特率发生器的方式字和计数初值

你可以把T1工作在方式2自动重装载模式,这样可以避免进入中断,把TH1=TL1=0xFA,SMOD=0,具体程序如下:
TMOD=0x20; //定时器1,模式2,8位重装
SCON=0x50; //串口工作方式1,允许接收,假设你的串口现在是接受数据状态
PCON=0x00; //令SMOD=0,不倍频
TH1=0xFA;
TL1=0xFA; //波特率=4800
EA=1; //开总中断
ES=1; //开串口中断
TR1=1;
这个程序我没有在运行过,但应该没问题的,希望你自己能掌握波特率和溢出率的计算方法,。。。。晚安!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-27
程序如下:
ORG 0000H
MOV SCON, #50H ;串口方式1,REN=1
MOV PCON, #0 ;SMOD=0
MOV TMOD, #20H ;T1方式2
MOV TH1, #0FAH ;4800bps
MOV TL1, #0FAH

NOP
AJMP $
END
相似回答