模块七通信系统的设计

(32页)

'模块七通信系统的设计'
模块七通信系统的设计本章主要介绍单片机串行通信系统的概念及应用。串行通信功能模块对于单片机的应 用具有重要的作用和地位,我们从单片机串行口的控制使用方法,典型应用系统——秒表 的设计制作,单片机与计算机串行口通信以及多机串口通信等方面阐述,从而达到掌握串 口的控制和应用的基本方法!窘萄Ь劢埂恐赌勘:1、 了解单片机的串行口通信基础2、 掌握单片机的串行通信的过程3、 掌握串行口的控制方式技能目标:1、 能够熟悉单片机的串行口的结构2、 能够掌握串行口的工作方式3、 能掌握多个单片机间的串行通信方式【课时建议】8课时教学重点:单片机的串行口通信基础教学难点:单片机的串行口的结构和工作方式【课堂随笔】项目7. 1串行通信基础知识在有悠久历史的中国,通信的起源至少nJ以追溯到周朝。众所周知,中国历史上有周幽王烽火戏诸 侯的故事。这个故事就是古代应用光通信的见证,它证明光通信在中国的应用至少可以追溯到公元前800 年,这在世界上也是领先的。烽火是非常原始的通信,而且是最简单的二进制数字通信。它利用有或无 光信号表示有或无“敌情”。图航天卫星测控系统示意图2012年6月18 FI下午,神舟九号飞船与天宫一号空间站完成自动交会对接,我们通过安装在飞船 上的摄像机等设备,欣赏到从太空眺望地球的美景,听到航天员与地而指挥员的对话,看到航天员在飞 船内的“空翻”表演,这一切则要依靠非常重要的测控与通信系统。我们从屮可以归纳通信的几个要素:(1) 两个或两个以上的通信主体(信源和信宿)。(2) 可用的通信媒介(信道)。(3) 达成一致的通信语言(通信协议)。从单片机的角度来看,因为AT89C51系列单片机具有串行口的通信机制,以单片机或计算机作为 通信的主体,以串行信道作为通信的媒介,以单片机串口的逻辑电平、数据格式、数据传输波特率等作 为通信的协议基础,单片机也就具有了多系统信息传递,协同工作的能力,这也就为单片机的多系统控 制和应用打开了崭新的天地。7.1.1串行口的结构对于单片机,它跟通用计算机一样,具有串行通信的结构,也就是通用的界步接收器/发送器UART。 在串行传送屮,数据是-?位一位按顺序进行的,而计算机内部的数据是并行的。因此当计算机向外发送 数据时,必须将并行的数据转换为串行的数据再行传送。反Z, 乂必须将串行数据转换为并行数据输入 计算机中。上述并一串或串一并的转换既可用软件实现,也可用硬件实现。但由于用软件实现会使 CPU的负担增加,降低了其利用率,故目前往往用硬件办法完成这种转换。在小行数据传输吋,分为界步(asynchronous)和同步(synchronous)两种方式。AT89C51单片机的串彳亍 口釆用的是界步传输方式,每次串行口通信吋只发送或接收1个字节的数据。通用的界步接收器/发送器, 简称UART(Universal Asynchronous Receiver/Transmitter),正是这个UART结构实现了单片机少外界的全 双工界步数据通信,它是串行接口的核心部件,现介绍如下: 图7-2硬件UART电路硬件UART电路如图7?2所示,它既能发送,由并行一串行输出,又能接受,由串行一并行输入。 对每一方来说都是一个双缓冲器结构。当UART接收数据时,串行数据先经1<乂。端(Receiver Data) 进入移位寄存器,再经移位寄存器输出并行数据到缓冲器,最示通过数据总线送到CPU;当UART发 送信息时,先由CPU经数据总线将并行数据送给缓冲器,再由并行缓冲器送给移位寄存器,最后逐位 由TXD (TransmitterData)端输出。所有这些工作都是在时钟信号和其它控制信号作用下完成的。为了检测传送中可能发生的错误,UART在发送时会检查每个要传送的字符中的“1”的个数。自 动在奇偶校验位上添“1”或“0”,使得“1”的总和(包括奇偶校验位)在偶校验时为偶数。奇校验中 为奇数。UART在接收时会检杳字符中的每一位(包括奇偶校验位)计其“1”的总和是否符合要求, 以确定是否发生传送错课。在UART中设置有岀错标志,一般有以下三种:(1) 奇偶错误(Parity error);(2) 帧错谋(Frame eror),表示字符格式不符合规定;(3) 溢出(丢失)错误(Overrun enor)o一旦传送屮出现上述错谋,会发出岀错信息。UART是用外部时钟的方法与数据进行同步的。外部的时钟周期Tc和数据中每一位数据所占?的时 间Td有如下关系:其中K=16或64若K=16,在每一个时钟脉冲的上升沿采样接收数据线,当发现了笫一个“0”(即起始位的开始), 以后乂连续采样8个“0”,则确定它为起始位(不是干扰信号),然后开始读出接收数据的每个数位值, 如图7?3所示。停止位或空闲位起始位(Td - ICTc )数据摄低位 /oh接收输入 \(110波特) '1 1 0 000 00000连续读出九个“0"_ 从此开始J下降沿指出下一—?个字符的开始图7?3外部时钟与接收数据的起始位同步由于每个数据位时间Td为外部时钟的16倍,所以每16个外部时钟脉冲读一次数据位。如图7-4 所示。从图中看出,取样时间正好在数据位时间的中间时刻,这就避开了信号在上升或下降时可能产牛 的不稳定状态,保证了采样数值的正确。 8Tc-9Tc第二数据位 第一数据位 起始位亠停止位 第九数据位 第八数S位0/10/10/10/10/10/10/10/100/116Tc?—■32TcQxl6Tc=48Tc,4X 16Tc=64Tc5xl6Tc=80Tc6xl6Tc=96Tc7:xl6Tc=112Tc8xl6Tc=128Tc9:xl6Tc=144Tc10xl6Tc=160Tc图7-4 UART接收数据的读数时刻7.1.2串行通信的过程作为通信的数据传输端口,单片机的串行I」完成了通信的数据发送与接收。人多数单片机都提供了 专门用于通信的端口。如AT89C51单片机的P3.0和P3.1除作为一般I/O 口外,还分别在串行通信中充 当接收口(RXD)和发送LI(TXD),如图7-5所示。图7-5 AT89C51单片机的串行口RXD 口和TXD 口可以分别买现串行通信的数据接收和发送,为了清楚地认识AT89C51单片机旳串 行通信过程,我们将通过以下两个范例分别讲解如何利用单片机的RXD 口和TXD 口来接收和发送数据。一、串行发送数据在流水灯的项目设计屮,我们可以把I/O 口输岀的显示数据归纳在一个矩阵中,如图7?6所示。矩 阵屮的每一行就是某一时刻I/O 口(例如PO M )的状态,1代表高电平,0代表低电平。矩阵中一行8 个位的显示数据同时从P0 口输出,这就是典型的并行通信方式。那串行方式是什么样子的?很简单,即把数据按位逐一从单片机的 例
关 键 词:
模块 通信 系统 设计
 剑锋文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:模块七通信系统的设计
链接地址: //www.wenku365.com/p-43732702.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给剑锋文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 //www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开