- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“十二五”高职高专“教与做1+1”体验互动式创新规划教材 模块7 通信系统的设计 1、了解单片机的串行口通信基础 2、掌握单片机的串行通信的过程 3、掌握串行口的控制方式 技能目标: 1、能够熟悉单片机的串行口的结构 2、能够掌握串行口的工作方式 3、能掌握多个单片机间的串行通信方式 教学重点:单片机的串行口通信基础 教学难点:单片机的串行口的结构和工作方式 7.1.1串行口的结构 对于单片机,它跟通用计算机一样,具有串行通信的结构,也就是通用的异步接收器/发送器UART。在串行传送中,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此当计算机向外发送数据时,必须将并行的数据转换为串行的数据再行传送。反之,又必须将串行数据转换为并行数据输入计算机中。上述并 →串或串 →并的转换既可用软件实现,也可用硬件实现。但由于用软件实现会使CPU的负担增加,降低了其利用率,故目前往往用硬件办法完成这种转换。 在串行数据传输时,分为异步(asynchronous)和同步(synchronous)两种方式。AT89C51单片机的串行口采用的是异步传输方式,每次串行口通信时只发送或接收1个字节的数据。通用的异步接收器/发送器,简称UART(Universal Asynchronous Receiver/Transmitter),正是这个UART结构实现了单片机与外界的全双工异步数据通信,它是串行接口的核心部件,现介绍如下: 硬件UART电路如图7.1.2所示,它既能发送,由并行 →串行输出,又能接受,由串行 →并行输入。对每一方来说都是一个双缓冲器结构。当UART接收数据时,串行数据先经RXD端(Receiver Data)进入移位寄存器,再经移位寄存器输出并行数据到缓冲器,最后通过数据总线送到CPU;当UART发送信息时,先由CPU经数据总线将并行数据送给缓冲器,再由并行缓冲器送给移位寄存器,最后逐位由TXD(Transmitter Data)端输出。所有这些工作都是在时钟信号和其它控制信号作用下完成的。 为了检测传送中可能发生的错误,UART在发送时会检查每个要传送的字符中的“1”的个数。自动在奇偶校验位上添“l”或“0”,使得“1”的总和(包括奇偶校验位)在偶校验时为偶数。奇校验中为奇数。UART在接收时会检查字符中的每一位(包括奇偶校验位)计其“1”的总和是否符合要求,以确定是否发生传送错误。在UART中设置有出错标志,一般有以下三种: (1)奇偶错误(Parity error); (2)帧错误(Frame eror),表示字符格式不符合规定; (3)溢出(丢失)错误(Overrun error)。 一旦传送中出现上述错误,会发出出错信息。 UART是用外部时钟的方法与数据进行同步的。外部的时钟周期Tc和数据中每一位数据所占的时间Td有如下关系: 其中K=16或64 若K=16,在每一个时钟脉冲的上升沿采样接收数据线,当发现了第一个“0”(即起始位的开始),以后又连续采样8个“0”,则确定它为起始位(不是干扰信号),然后开始读出接收数据的每个数位值,如图7.1.3所示。 一、串行发送数据 在流水灯的项目设计中,我们可以把I/O口输出的显示数据归纳在一个矩阵中,如图7.1.6所示。矩阵中的每一行就是某一时刻I/O口(例如P0口)的状态,1代表高电平,0代表低电平。矩阵中一行8个位的显示数据同时从P0口输出,这就是典型的并行通信方式。 那串行方式是什么样子的?很简单,即把数据按位逐一从单片机的TXD口发送。如图7.1.6所示,例如原本的并行数逐位地从TXD口发送出去。 在TXD口和8支发光二极管之间使用一个移位寄存器将串行数据组合成并行数据后就可以正常显示了,如图7.1.7所示是利用AT89C51单片机串行通信口构成的流水灯系统电路图,该电路使用了单片机的串行通信口RXD和TXD。 集成电路U2是一个“8位串入/并出移位寄存器”,型号为74164。所谓串入/并出即输入74164的是串行数据,而输出的是并行数据。74164的第l、2管脚A和B是串行数据输入口,与单片机的RXD相连。有人也许会问RXD不是单片机的串行接收口吗?为什么使用的不是TXD口来向74164发送数据?其实AT89C51单片机的RXD和TXD并不是绝对的接收和发送口,它们会因工作方式的不同具有不同的功能,这一点在知识点7.1.4将会讲解到。 74164的第9管脚是清0端CLR,低电平使能。由于这个实例只在系统上电时需要移位寄存器清0,所以将CLR端与一个由电阻R1和电容C4构成的复位电路相连。 74164的第8管脚是移位寄存器的时钟信号输入端,它与单片机的T
您可能关注的文档
最近下载
- 食堂用餐协议书范本(2025版).docx VIP
- 中建八局《质量标准化系列做法(主体结构工程)》2022年.pptx VIP
- TD_T 1021-2009县级土地利用总体规划制图规范.pdf VIP
- 粤人版英语五年级下册Review1 Reading and writing 课件.pptx VIP
- 离散数学崔艳荣习题答案.docx VIP
- 人教版八年级体育与健康:学会与他人交往 (2).pptx VIP
- 《水力发电》课件.pptx VIP
- 企业工会助推企业高质量发展.docx VIP
- GB50974-2014 消防给水及消火栓系统技术规范.pdf VIP
- 新风系统入门培训资料.ppt VIP
文档评论(0)