答:字符“B”的 ASCII 码为“42H”,帧格式如下: 9、定时器/计数器 T1 作为串口波特率发生器时,为什么常采用模式 2? 如果时钟频率和串行通信波特率已知,如何计算加载到T1的初始值? 答:由于定时器/计数器处于模式2,因此可以自动重新加载初始值。 这样就避免了在设置串口波特率发生器时执行重新加载参数命令造成的时间误差。 将定时器T1模式2的初始值设置为X。计算初始值如果晶振为11.0592MHz,串口工作在模式1,波特率为4800bit/s,写入模式控制字和初始计数使用T1作为波特率发生器的值。 答:经过计算,初始计数值为FAH。 初始化程序如下:ANLORLMOVMOVMOVTMOD、#0F0HTMOD、#20HTH1、#0FAHTL1、#0FAHSCON、#40H; 护盾高4; 控制字; 写入初始计数值 11、简述利用串口进行多机通信的原理。 答:见7.3节介绍。 12、使用AT89S51的串口按照工作模式1进行串行数据通信。假设波形为400bit/s,以中断方式传输数据。 请编写一个全双工通信程序。 12. 答:见7.5.3 节介绍。 13. 对于某AT89S51 单片机串口,传输数据的帧格式由1 个起始位(0)和1 个停止位(1)组成。
当串口每分钟传输1800个字符时,尝试计算其波特率。 答:串口每秒传输的字符为:1800/60=30个字,所以波特率为:30个字符/秒,10位/字符=300b/s14。 为什么AT89S51单片机串口的模式0帧格式没有起始位(0)和停止位(1)? 答:串口的模式0是同步移位寄存器输入输出模式,常用于外部移位寄存器。 扩展并行 I/O 端口通常不用于两个 MCS-51 之间的串行通信。 该方法以fosc/12的固定波特率从低到高发送或接收数据。 15、TTL电平直接串行传输数据有什么缺点? 为什么串行传输距离较长时,常采用RS-232C、RS-422A、RS-485标准串行接口进行串行数据传输? 比较RS-232C、RS-422A和RS-485标准串行接口的优缺点。 答:TTL电平直接串行传输数据的缺点是传输距离短,抗干扰能力差。 因此,当串行传输距离较长时,常采用RS-232C、RS-422A和RS-485标准串行接口。 主要原因是传输电信号的不断改进。 例如RS-232C传输距离只有几十米。 与TTL电平直接串行传输相比,采用负逻辑,增加了“0”和“1”信号的数量。 等级差异。 RS-422A和RS-485均采用差分信号传输,抗干扰能力强,距离可达1000米以上。 RS-422A 是全双工,RS-485 是半双工。