ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:281.72KB ,
资源ID:11106234      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11106234.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机串行通信课程设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

51单片机串行通信课程设计.docx

1、51单片机串行通信课程设计*实践教学* XXXXXX大学XXXXXXXX学院XXX年XXXX季学期 XXXXXX课程设计 题 目:51单片机双机串行通信设计 专业班级: 姓 名: 学 号: 指导教师: 成 绩: 摘 要通信技术根据传输方式的不同,分为串行通信和并行通信,而单片机在现代通信中非常实用。本次课程设计就是要利用单片机来完成一个系统,实现单片机双机串行通信。通信的结果用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232接口标准进行双机通信。在通信过程中,使用通信协议进行通信,实现两个单片机之间串行异步通信。关键词:51单片机,串行通信,RS-232接口; 前言近年来,

2、在自动化控制和智能仪器仪表中, 单片机的应用越来越广泛。虽然MCS 单片机内部包含有丰富的硬件资源,但是对于一些复杂的单片机应用系统来说, 光靠单个的单片机资源远远不能满足系统要求, 通常需要对单片机进行外部扩展。例如扩展I/O 口, 扩展存储器, 扩展定时/计数器等, 更有甚者还需要扩展单片机。那么一个应用系统就可能用到了两个或两个以上的单片机, 而这些单片机就需要通过互联来实现彼此间的数据通信。MCS 单片机具有串行口, 利用串行口实现数据通信。根据单片机端口内部的结构特点, 这些端口的端口线可以直接相连, 从而使两个单片机之间并行通信不用另外的硬件电路设备。设计时, 也可以根据不同的使用

3、要求采用不同的并行连接方法。51单片机的开发除了硬件支持外,同样离不开软件。用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。目前十分流行的是Keil 8051 C编译器。它提供了集成开发环境,包括C编译器、宏汇编、连接器、库管理和仿真调试器。利用Keil C uVision编写的程序可直接调用编译器编译,连接后可直接运行。学生结合自己的实际情况,选择适合的方法来完成51单片机与PC机的串口通信。该题目概括了通信原理、单片机原理等课程的主要知识点,让人们对当代通信技术有一定程度的了解,知道我们是怎么利用单片机来进行串行通信的。第一章 基本原理串口通讯对单片机而言意义重大,不但

4、可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。单片机有一个全双工的串行通讯口,所以单片机和计算机之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如计算机的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。利用AT89C51芯片、复位电路、时钟电路、LED数码管等,使A机控制B机的两个LED闪烁,B机控制A机的数码管加一显示。使用DS18B20温度

5、传感器,由B机测量温度后由A机显示. 把P1口的高7位与数码管相连,绿灯表示通行方向。P2口与LED显示器相连,用来输出显示的数字。系统的原理框图如下: 图1 系统原理框图图2 原理图第二章 系统分析2.1单片机 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在我国,单片机已经不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为

6、单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。在单片机诞生之前,为了满足工程对象的嵌入式应用要求,只能将通用计算机进行机械加固、电气加固后嵌入到对象系统中构成。由于通用计算机的巨大体积和高成本,无法嵌入到大多数对象体系中。单片机则应嵌入式应用而诞生。单片机的单芯片的微小体积和极低的成本,可广泛的嵌入到玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。单片机作为最典型的嵌入式系统,它的成功应用推动了嵌入式系统的发展。近年来。除了各种类型的工控机,各种以通用

7、微处理器构成的计算机主模板快、以通用处理器为核,片内扩展一些外围功能电路单元构成的嵌入式微处理器,甚至单片形式的PC及等,都实现了嵌入式应用,成为嵌入式系统的庞大家族。作为典型的嵌入式系统的单片机,在我国大规模应用已有十余年历史。在全国高等工科院校中,已普遍开设单片机及相关课程。单片机已成为电子系统中最普遍的应用手段。除了单设课程外,在涉及的许多环节,如课程设计、毕业设计、研究生论文课题中,单片机系统都是最广泛的应用手段。目前,许多单片机教材都Shiite以80C51系列为基础来讲述其原理及应用的。这是因为MCS-51系列单片机奠定了8位单片机的基础,形成了单片机的经典体系结构。单片机是现代计

8、算机、电子技术的新兴领域,无论是单片机本身还是单片机应用系统设计方案都会随着时代不断发生变变化。2.2 串行通信在通信领域内,有两种数据通信方式:并行通信和串行通信。随着计算机网络化和微机分级分布式应用系统的发展,通信的功能越来越重要。而凭借着其改善的信号完整性和传播速度,串行通信总线正在变得越来越普遍。在远程通信和计算机科学中,串行通信是指在计算机总线或其他数据通道上,每次传输一个位元数据,并连续进行以上单次过程的通信方式。与之对应的是并行通信,它在串行端口上通过一次同时传输若干位元数据的方式进行通信。一位接一位地顺序传送。这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。由此可见,

9、串行通信的特点如下:1、节省传输线,这是显而易见的。尤其是在远程通信时,此特点尤为重要。这也是串行通信的主要优点;2、数据传送效率低。与并行通信比,这也这是显而易见的。这也是串行通信的主要缺点。同步和异步都属于串行数据传送方式,但二者的传送格式有所不同。同步方式的一帧内含有很多数据位,而异步方式一帧内只含有几个数据位。如果要传送一大堆数据,同步方式只给这串数据进行一次外包装(即添加“头帧”、“尾帧”、“校验”帧),而异步方式在传送这串数据时则要对数据的每一个字节分别加以包装(即添加“头”位、“尾”位和校验)。 显然在相同的数据传输波特率下,同步方式比异步方式的传送速度快,但同步方式要求收发双方

10、在整个事件传送过程中始终保持严格同步,这将增加硬件上的难度,而异步通信只要求每帧(字节)的传送中短时间保持同步即可,实现起来要容易得多。串行通信被用于长距离通信以及大多数计算机网络,在这些应用场合里,电缆和同步化使并行通信实际应用面临困难。凭借着其改善的信号完整性和传播速度,串行通信总线正在变得越来越普遍,甚至在短程距离的应用中,其优越性已经开始超越并行总线不需要串行化元件等缺点。串行通信的分类:同步通信和异步通信。所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步.同步串行通信的特点可以概括为:以数据块为单位传送信息;在一个数据块(信息帧)内,

11、字符与字符间无间隔;接收时钟与发送进钟严格同步。所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的.异步串行通信的特点可以概括为:以字符为单位传送信息;相邻两字符间的间隔是任意长; 接收时钟和发送时钟只要相近就可以。 异步方式特点简单的说就是:字符间异步,字符内部各位同步。两台机器的通信方式可分为单工通信、半双工通信、双工通信,他们的通信原理及通信方式为:单工通信:是指消息只能单方向传输的工作方式。单工通信信道是单向信道,发送端和接收端的身份是固定的,发送端只能发送信息,不能接收信息;接收端只能接收信息,不能发送信息,数据信号仅从一端传送到另

12、一端,即信息流是单方向的。通信双方采用“按讲”(Push To Talk,PTT)单工通信属于点到点的通信。根据收发频率的异同,单工通信可分为同频通信和异频通信。半双工通信:这种通信方式可以实现双向的通信,但不能在两个方向上同时进行,必须轮流交替地进行。也就是说,通信信道的每一段都可以是发送端,也可以是接端。但同一时刻里,信息只能有一个传输方向。如日常生活中的例子有步话机通信等。双工通信:双工通信是指在同一时刻信息可以进行双向传输,和打电话一样,说的同时也能听,边说边听。这种发射机和接收机分别在两个不同的频率上(两个频率差有一定要求)能同时进行工作的双工机也称为异频双工机。双工机的特点是使用方

13、便,但线路设计较复杂,价格也较高。2.3 RS-232接口标准 RS-232C标准(协议)的全称是EIA-RS-232C标准,定义是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。其中EIA(Electronic Industry Association)代表美国电子工业协会,RS(Recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改。1、RS-232C接口引脚定义由于RS-232C并未

14、定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面是常用的DB-25和DB-9连接器接口图:图3 DB25 和DB9引脚图 旧制JIS名称新制JIS名称全 称说 明FGSGFrame Ground连到机器的接地线TXDSDTransmitted Data数据输出线RXDRDReceived Data数据输入线RTSRSRequest to Send要求发送数据CTSCSClear to Send回应对方发送的RTS的发送许可,告诉对方可以发送DSRDRData Set Ready告知本机在待命状态DTRERData Terminal

15、 Ready告知数据终端处于待命状态CDCDCarrier Detect载波检出,用以确认是否收到Modem的载波SGSGSignal Ground信号线的接地线(严格的说是信号线的零标准线) RS-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:(1)状态线:数据准备就绪(Data set ready-DSR)有效时(ON)状态,表明数据通信设备可以使用。(DCE-DTE)数据终端就绪(Data set ready-DTR)有效时(ON)状态,表明数据终端设备可以使用。(DTE-DCE)这两个信号有时连到电源上,上电就立即有效。

16、这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。(2)联络线请求发送(Request to send-RTS)DTE准备向DCE发送数据,DTE使该信号有效(ON状态),通知DCE要发送数据给DCE了。(DTE-DCE)允许发送(Clear to send-CTS)是对RTS的响应信号。当DCE已准备好接收DTE传来的数据时,使该信号有效,通知DTE开始发送数据。(DCE-DTE)RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联

17、络信号,使其变高。(3)数据线发送数据(Transmitted data-TxD)DTE发送数据到DCE。(DTE-DCE)接收数据(Received data-RxD)DCE发送数据到DTE (DCE-DTE)(4)地线 有两根线SG、PG信号地和保护地信号线。(5)其余载波检测( Carrier Detection-CD)用来表示DCE已接通通信链路,告知DTE准备接收数据。(DCE-DTE)振铃指示(Ringing-RI)当DCE收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知DTE,已被呼叫。(DCE-DTE) 通常的应用系统中,往往是CPU和I/O设备之间传送信息,两者

18、都是DTE,比如PC和色温计,PC和单片机之间的通信,双方都能发送和接收,它们的连接只需要使用三根线即可,即RXD,TXD和GND,连接方式见图4。图4 “三线连接法”2、RS-232C的电气特性(1)逻辑电平在TXD和RXD上: 逻辑1(MARK)=-3V-15V 逻辑0(SPACE)=+315V在RTS、CTS、DSR、DTR和DCD等控制线上: 信号有效(接通,ON状态,正电压)+3V+15V 信号无效(断开,OFF状态,负电压)=-3V-15V 由以上定义可以看出,信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于

19、-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平的绝对值在(315)V之间。 当计算机和TTL电平的设备通信时,如计算机和单片机通信时,需要使用RS-232C/TTL 电平转换器件,常用的有MAX232。(2)传输距离由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为15m,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过15m。3、 RS-232C的不足之处由于RS232C接口标准出现较早,难免有不足之处,主要有以下四点:(1)接口的信号电平值较高,易损坏接口电路的芯片

20、,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。(2)传输速率较低,在异步传输时,波特率最大为19200bps。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式, 这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4)传输距离有限,实际最大传输距离只有50米左右.第三章 系统设计及系统调试3.1 设计方案本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收

21、端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。3.2 硬件设计1.51单片机串行通信功能图1.AT89C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片

22、机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行

23、控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表SM0SM1工作方式功能波特率 0008位同步移位寄存器(用于I/O扩展)fORC/1201110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)10211位异步串行通信(UART)fORC/64或fORC/3211311位异步串行通信(UART)可变(T1溢出率*2SMOD/32)SM2:多机通信控制位。REN:接收允许

24、控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信

25、的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。2.MAX232芯片用8051串行接口通信,如果两台8051单片机之间的距离很近(不超过1.5m),可以采用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平(0-5V)直接传输

26、数据信息。如果传输距离较远(超过1.5m),由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用 RS232标准总线接口,将单片机输出的TTL电平转换为RS232标准电平(逻辑1为-15-5V;逻辑0为+5-+15V)。用RS232可将传输距离提高到15m,如果想远距离传输,可以采用RS422或者RS485。 电平转换芯片MAX232是美信公司(MAXIM)生产,专用于进行将TTL电平转换为RS232电平的芯片,MAX232内部有泵电源,能将+5V电源电压在芯片内提高到RS232电平所需的+10V或者-10V电平。图2.电平转换芯片MAX2323.整体

27、电路设计最终设计电路如下图3所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过P1口在数码管上显示接收的信息。图3.串行通信电路3.3 软件设计通过通信协议进行发送接收,主机先送CDH给从机,当从机接收到CDH后,向主机回答DCH。主机收到DCH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送F

28、FH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。1.串行通信软件实现(1)串行口工作于方式3;用定时器1产生4800bit/s的波特率,晶振频率为 11.0592MHZ。(2)功能:将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。(3)通信协议:主机首先发送连络信号(CDH),从机接收到之后返回一个连络信号(DCH)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。(6)主机发送一个数据后,等待从

29、机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。2.程序流程图(1)发送端程序流程图(2)接收方程序流程图A、B两台51单片机的异步串行接收采用查询方式,它们详细的C51程序如下所示。/A机程序#include /包含单片机寄存器的头文件unsigned char code ddata= 0x88,0x83,0xc6,0xa1,0x86,0x8e,0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, ; /A,B,C,D,E,F,0,1.,8,9的段码/*函数功能:发送一个字节数据*/void Send(unsigned

30、 char dat) SBUF=dat; While(TI=0) ; /等待 TI=0;/*函数功能:接收一个字节数据*/ unsigned char Receive(void) unsigned char dat; while(RI=0) ; /等待,直至接收完毕(RI=1) RI=0; /为了接收下一帧数据,需将RI清0 dat=SBUF; /将接收缓冲器中的数据存于dat return dat; /*函数功能:延时约150ms*/ void delay(void) unsigned char m,n; for(m=0;m200;m+) for(n=0;n250;n+) ; /*函数功能:主函数*/void main(void) unsigned char i; TMOD=0x20;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1