6.12 已知AT89C51单片机的晶振频率为f_{osc}=12MHz,串行口工作在方式3,要求通信波特率为4800bps,的数据块通过串行口传送到乙机的20H~2FH单元。
时间: 2024-03-07 10:52:11 浏览: 71
AT89C51型号单片机的串口编程.doc
好的,我明白了。你的问题是关于AT89C51单片机串行口通信的设置。
根据你提供的信息,我们可以使用以下公式来计算串行口的波特率分频器的值:
波特率分频器的值 = (f_{osc} / (32 x 波特率)) - 1
将波特率设置为4800bps,代入公式得到:
波特率分频器的值 = (12MHz / (32 x 4800)) - 1 = 77
因此,我们需要将波特率分频器的值设置为77。下面是设置AT89C51单片机串行口的具体步骤:
1. 将SM0和SM1位设置为0,将SM2位设置为1,以选择串行口工作在方式3。
2. 将波特率分频器的值77存储在TH1寄存器中。
3. 将TI位设置为1,以启动串行口传输。
4. 将需要传输的数据块存储在发送缓冲区SBUF中。
5. 等待传输完成,即TI位被硬件清零。
6. 如果需要接收数据,将RI位设置为1,并从接收缓冲区SBUF中读取数据。
7. 等待接收完成,即RI位被硬件清零。
以上就是设置AT89C51单片机串行口通信的步骤。在这个设置中,数据块将通过串行口传输到乙机的20H~2FH单元。希望这个回答能够解决你的问题。
阅读全文