已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第11章C51串行接口程序设计 51系列单片机提供了功能强大的全双工串行通信接口 可以方便地实现多机通信或单片机与计算机之间的通信 由于串行接口简单 需要的传输线少 其已经成为单片机与外部设备之间进行数据通信的主要途径 特别是在远程通信和分布式控制系统中 是单片机之间通信以及单片机和计算机之间通信的主要方式 本章主要介绍了51系列单片机串行通信接口的结构 特殊功能寄存器 本章结合串行端口的4种工作模式 详细介绍了4种工作模式的波特率设计及其C51程序设计 11 151系列单片机的串行接口 51系列单片机内部集成的全双工串行通信接口电路 常称为UART 该串行接口电路功能很强 不仅可以进行串行异步数据的发送和接收 也可以作为一个同步移位寄存器使用 11 1 1单片机串行通信概述 单片机和外部设备可以采用并行通信和串行通信两种方法进行数据传输 这两种数据传输方式分别如图所示 其中 并行通信是指数据的各个二进制位同时进行传输 并行通信传输速度快 效率高 缺点是需要比较多的数据线 易受外界干扰 传输距离不能太远 串行通信是指数据的各个二进制位按照顺序一位一位地进行传输 串行通信所需的数据线少 节省硬件成本以及单片机的引脚资源 并且抗干扰能力强 适合于远距离数据传输 其缺点是每次发送一个比特 导致传输速度慢 效率比较低 单片机并行通信单片机串行通信 11 1 2单片机串行接口的内部结构 51系列单片机的全双工串行口主要由数据发送缓冲器 发送控制器TI和接收控制器RI等组成 其结构如图所示 单片机串行口内部结构 11 1 3串行接口控制寄存器SCON 串行控制寄存器SCON的格式及各位的含义 如图所示 控制寄存器SCON的字节地址为98H 可进行位寻址 该寄存器用于选择串行通信的工作方式和某些控制功能 包括接收 发送控制及设置状态标志等 下面分别介绍各位的用途 串行接口控制寄存器SCON 11 1 4特殊功能寄存器PCON 特殊功能寄存器PCON的格式 如图所示 PCON的单元字节地址为87H 不可以进行位寻址 特殊功能寄存器PCON用于CHMOS型单片机中进行电源控制 也称为电源控制寄存器 下面分别介绍各位的含义 PCON的格式 11 2串行口工作模式0的C51程序设计 51系列单片机串行口的工作模式0是同步移位寄存器输入 输出方式 模式0的数据帧格式 如图所示 从图中可以看出 模式0中的数据以8位为一帧 没有起始位和停止位 发送时低位在前 高位在后 在程序中可以设置控制寄存器SCON的SM0 0和SM1 0来将串行口设置为工作模式0 串行工作模式0的数据帧格式 11 2 1模式0的波特率 8051单片机在串口模式0下 每个机器周期产生一个移位时钟 对应着一个比特数据的发送和接收 因此 此时波特率固定为8051单片机振荡频率的1 12 其波特率的计算公式如下 串口模式0波特率 fosc 12例如 对于24MHz的外部晶体振荡频率 模式0可以获得24MHz 12 2Mbit s的波特率 同时 在串口模式0下 波特率不受波特率倍增位SMOD的影响 因此 在C51程序设计时只要指定串口工作于模式0便完成了串口速率的设置 而无需再设置波特率 11 2 2模式0的数据发送及C51程序设计 对于模式0的数据发送 单片机的TXD引脚都用于发送同步移位脉冲 而8位串行数据是通过单片机的RXD引脚来输出 1 模式0的数据发送流程2 采用查询方式的模式0数据发送C51程序设计3 采用中断方式的模式0数据发送C51程序设计 扩展并行输出口 14 2 3模式0的数据接收及C51程序设计 对于模式0的数据接收 单片机的TXD引脚都用于发送同步移位脉冲 而8位串行数据是通过RXD引脚来输入 1 模式0的数据接收流程2 采用查询方式模式0数据接收的C51程序设计3 采用中断方式模式0数据接收的C51程序设计 扩展并行输入口 11 3串行口工作模式1的C51程序设计 串行口的工作模式1是波特率可变的串行异步通信方式 工作模式1下数据帧的格式 如图11 10所示 数据帧由10位组成 按顺序分别为起始位 8位数据位 停止位 数据在传输时 低位在前 高位在后 在程序中可以设置控制寄存器SCON的SM0 0和SM1 1来将串口设置为工作模式1 模式1的帧格式 11 3 1模式1的波特率 串口的工作模式1为10位异步发送接收方式 其串行移位时钟脉冲由定时器T1的溢出率来决定 因此 波特率由定时器T1的溢出率和波特率倍增位SMOD来共同决定 模式1的波特率计算公式如下 模式1波特率 T1溢出率 2SMOD 32设置模式1的波特率 需要对定时器T1进行工作方式设置 以便于得到需要的波特率发生器 一般使T1工作于模式2 此时为初值自动加载的定时方式 如果计数器的初始值为X 则每过256 X个机器周期的时候 定时器T1便将产生一次溢出 溢出的周期为 256 X 12 fosc 11 3 2模式1的数据发送及C51程序设计 串行口的工作模式1为10位异步发送接收方式 单片机TXD引脚为数据发送端 通信的双方不需要时钟同步 发送方和接收方都有自己的移位脉冲 通过设置共同的波特率来实现同步 1 模式1的数据发送流程2 采用查询方式的模式1数据发送C51程序设计3 采用中断方式的模式1数据发送C51程序设计 11 3 3模式1的数据接收及C51程序设计 串行口的工作模式1为10位异步发送接收方式 单片机RXD引脚为数据接收端 模式1接收数据中的定时信号可以有两种 接收移位脉冲和接收字符的检测脉冲 串行口模式1接收数据时的接收移位脉冲 由定时器1的溢出信号和波特率倍增位SMOD来共同决定 即由定时器1的溢出率经过16分频或32分频得到 接收字符的检测脉冲 其频率是接收移位脉冲的16倍 在接收一位数据的时候 有16个检测脉冲 以其中的第7 8和9个脉冲作为真正的接收信号的采样脉冲 对这三次采样结果采取三中取二的原则来确定所检测到的值 由于采样的信号总是在接收位的中间位置 这样便可以抑制干扰 避免信号两端的边沿失真 也可以防止由于通信双方时钟频率不完全相同而带来的接收错误 11 4串行口工作模式2的C51程序设计 串行口的工作模式模式2为固定波特率的串行异步通信方式 在模式2中数据帧的格式 如图所示 一帧数据由11位构成 按照顺序分别为 起始位1位 8位串行数据 低位在前 可编程位1位 停止位1位 在程序中可以设置控制寄存器SCON的SM0 1和SM1 0来实现 模式2的帧格式 11 4 1模式2的波特率 串口的工作模式2是11位异步发送接收方式 模式2下的波特率的计算公式如下 模式2波特率 fosc 2SMOD 64从公式中可以看出 在模式2下 波特率由单片机的振荡频率fosc和PCON的波特率倍增位SMOD共同决定 当SMOD 0时 波特率为fosc 64 当SMOD 1时 波特率为fosc 32 串口模式2的波特率不由定时器来设置 只可选两种 fosc 32或者fosc 64 例如 如果8051单片机外接12MHz的晶振 通过寄存器PCON可以选择波特率 在C51程序中 则可以采用如下的赋值语句来实现 示例如下 PCON 0 x00 设置SMOD 0PCON 0 x80 设置SMOD 1 11 4 2模式2的数据发送及C51程序设计 在串行口的工作模式2中 TXD引脚为数据发送端 模式2的发送共有9位有效的数据 在启动发送之前 需要将发送的第9位 即可编程位的数值送入寄存器SCON中的TB8位 这个编程标志位可以由用户自己定义 硬件不做任何规定 例如 用户可以将这一位定义为奇偶校验位或地址 数据标志位 1 模式2的数据发送流程2 采用查询方式的模式2数据发送C51程序设计3 采用中断方式的模式2数据发送C51程序设计 11 4 3模式2的数据接收及C51程序设计 串口的工作模式2是11位异步发送接收方式 单片机RXD引脚为数据接收端 模式2的串行数据接收过程和模式1基本类似 只不过模式1的第9位为停止位 而这里则是发送的可编程位 1 模式2的数据接收流程2 采用查询方式的模式2数据接收C51程序设计3 采用中断方式的模式2数据接收C51程序设计 11 5串行口工作模式3的C51程序设计 串行口的工作模式模式3为11位异步发送接收方式 在模式3中数据帧的格式 如图所示 一帧数据由11位构成 按照顺序分别为 起始位1位 8位串行数据 低位在前 可编程位1位 停止位1位 在程序中可以设置控制寄存器SCON的SM0 1和SM1 1来实现 模式3的帧格式 11 5 1模式3的波特率 模式3和模式2的工作方式是一样的 不同的是 模式2仅有两个固定的波特率可选 而模式3的波特率由定时器1的溢出率和波特率倍增位SMOD决定 串口的工作模式3为11位异步发送接收方式 其串行移位时钟脉冲由定时器T1的溢出率来决定 因此 波特率由定时器T1的溢出率和SMOD来共同决定 模式1和模式3的波特率计算公式如下 模式3波特率 T1溢出率 2SMOD 32 串口模式3常用波特率参数设置 11 5 2模式3的数据发送及C51程序设计 在串行口的工作模式3中 单片机的TXD引脚为数据发送端 模式3的发送共有9位有效的数据 在启动发送之前 需要将发送的第9位 即可编程位的数值送入寄存器SCON中的TB8位 这个编程标志位可以由用户自己定义 硬件不做任何规定 例如 用户可以将这一位定义为奇偶校验位或地址 数据标志位 1 模式3的数据发送流程2 采用查询方式的模式3数据发送C51程序设计3 采用中断方式的模式3数据发送C51程序设计 11 5 3模式3的数据接收及C51程序设计 串口的工作模式3是11位异步发送接收方式 单片机RXD引脚为数据接收端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026扬州平山堂茶业发展有限公司招聘茶饮店劳务派遣人员2人备考题库附参考答案详解(能力提升)
- 2026浙江深泓水利工程有限公司招聘第一批项目制用工人员6人备考题库附参考答案详解(培优b卷)
- 2026辽宁沈阳建筑大学招聘高层次人才44人备考题库(第一批)附参考答案详解(培优b卷)
- 2026浙江宁波市镇海区骆驼街道工作人员、行政村后备干部及农村社工招聘10人备考题库及参考答案详解(精练)
- 2026四川资阳益福康养产业有限公司招聘2人备考题库附参考答案详解(b卷)
- 2026春季浙商银行校园招聘备考题库含答案详解(夺分金卷)
- 2026江苏南京大学人工智能学院准聘长聘岗位(事业编制)招聘备考题库及答案详解参考
- 2026云南红河州个旧市疾病预防控制中心(个旧市卫生监督所)合同制人员招聘3人备考题库附参考答案详解(轻巧夺冠)
- 2026广东东莞厚街社区招聘社区网格员2人备考题库附参考答案详解(完整版)
- 2026四川成都市新都区人民法院上半年招聘聘用制人员2人备考题库及参考答案详解(达标题)
- 牧运通官方兽医试题题库带答案详解(满分必刷)
- 2025年专升本考试真题及答案语文
- 2025水利部综合事业局公开招聘工作人员11人笔试历年常考点试题专练附带答案详解2套试卷
- 2025年绿色信贷流程
- 业务连续性培训课件
- 肺癌影像学诊断规范
- 升压站砌筑工程施工方案
- 通信工程项目验收与质量管理考试题
- 智能楼宇管理员培训试题及答案
- 中航工业中层竞聘笔试必刷题
- 2025-2030中国牦牛乳资源开发利用现状与商业价值评估
评论
0/150
提交评论