MCS51单片机串行口工作方式与波特率计算举例.docx
《MCS51单片机串行口工作方式与波特率计算举例.docx》由会员分享,可在线阅读,更多相关《MCS51单片机串行口工作方式与波特率计算举例.docx(5页珍藏版)》请在三一办公上搜索。
1、MCS51单片机串行口工作方式与波特率计算举例MCS-51单片机串行口工作方式与波特率计算举例 1)方式0 方式0是外接串行移位寄存器方式。工作时,数据从RXD串行地输入/输出,TXD输出移位脉冲,使外部的移位寄存器移位。波特率固定为fosc/12。每当发送或接收完一个字节,硬件置TI=1或RI=1,申请中断,但必须用软件清除中断标志。 实际应用在串行I/O口与并行I/O口之间的转换。 2)方式1 方式1是点对点的通信方式。8位异步串行通信口,TXD为发送端,RXD为 接收端。一帧为10位,1位起始位、8位数据位、1位停止位。波特率由T1或T2的溢出率确定。 在发送或接收到一帧数据后,硬件置T
2、I=1或RI=1,向CPU申请中断;但必须用软件清除中断标志,否则,下一帧数据无法发送或接收。 发送:CPU执行一条写SBUF指令,启动了串行口发送,同时将1写入 输出移位寄存器的第9位。发送起始位后,在每个移位脉冲的作用下,输出移位寄存器右移一位,左边移入0,在数据最高位移到输出位时,原写入的第9位1的左边全是0,检测电路检测到这一条件后,使控制电路作最后一次移位,/SEND和DATA无效,发送停止位,一帧结束,置TI=1。 接收:REN=1后,允许接收。接收器以所选波特率的16倍速率采样RXD 端电平,当检测到一个负跳变时,启动接收器,同时把1FFH写入输入移位寄存器。由于接、发双方时钟频
3、率有少许误差,为此接收控制器把一位传送时间16等分采样RXD,以其中7、8、9三次采样中至少2次相同的值为接收值。接收位从移位寄存器右边进入,1左移出,当最左边是起始位0时,说明已接收8位数据,再作最后一次移位,接收停止位。此后: A、若RI=0、SM2=0,则8位数据装入SBUF,停止位入RB8,置RI=1。 B、 若RI=0、SM2=1,则只有停止位为1时,才有上述结果。 C、若RI=0、SM2=1,且停止位为0,则所接数据丢失。 D、若RI=1,则所接收数据丢失。 无论出现那种情况,检测器都重新检测RXD的负跳变,以便接收下一帧。 3)方式2、方式3 方式2和方式3是9位异步串行通信,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MCS51 单片机 串行口 工作 方式 波特率 计算 举例

链接地址:https://www.31ppt.com/p-3161395.html