89C51串行口工作方式与波特率计算

需积分: 3 5 下载量 83 浏览量 更新于2024-09-24 2 收藏 79KB DOC 举报
"单片机原理及接口技术(第三版)李朝青编著" 这篇内容主要涉及8051系列单片机的串行接口技术,由李朝青编著的《单片机原理及接口技术》第三版中的部分知识点组成。以下是详细解释: 1. **8051串行口工作方式**: - 8051单片机的串行口有四种工作方式:方式0、方式1、方式2和方式3。 - 方式0通常用于同步移位寄存器。 - 方式1是波特率可变的8位UART(通用异步收发传输器)模式。 - 方式2和方式3支持多机通信,采用9位数据传输。 2. **帧格式**: - 串行通信的帧格式在不同工作方式下有所不同,可以有8位、10位或11位的数据帧。 - 在方式2和方式3中,除了8位数据外,还有第9位用于奇偶校验或者多机通信。 3. **波特率计算**: - 波特率是指每秒钟传输的位数,可以通过计算得到。例如,当每分钟传送3600个字符时,使用方式3,波特率=3600/60×11=660bps。 4. **SCON寄存器位**: - SCON中的SM2位用于多机通信控制,特别是在方式2和方式3中。 - TB8位在方式2和方式3中,是待发送的第9位数据。 - RB8位接收来自对方的第9位数据。 5. **串行口初始化程序**: - 初始化串行口工作在方式1,波特率为1200bps,可以使用如下代码: ```asm MOV SCON, #01000000B;设置串行口为方式1,清TI和RI MOVTMOD, #20H;设置T1为波特率发生器 MOV TH1, #0E8H;设定波特率初值 MOV TL1, #0E8H SETB TR1;启动T1 ``` - 查询串行口状态并读取数据回送的循环程序也给出了示例。 6. **波特率计算**: - 当晶振为11.0592MHz,串行口工作在方式1,波特率为4800bps,T1作为波特率发生器时,TMOD应设为20H,TH1和TL1的初始值应为F4H。 7. **双机通信系统设计**: - 硬件上,需要两台单片机,以及连接它们的串行通信线路。 - 通信程序包括发送方和接收方,发送方从内存30H~3FH区域读取数据并发送,接收方则将接收到的数据存入内存40H~4FH区域。 这些内容详细介绍了8051单片机串行通信的基本概念、配置和应用,对于理解和应用单片机的串行接口技术具有重要价值。学习者可以通过这些知识点进一步了解单片机的串行通信机制,以及如何进行实际的编程操作。