毕业设计专题1

上传人:沈*** 文档编号:145574630 上传时间:2022-08-29 格式:DOC 页数:12 大小:167.48KB
收藏 版权申诉 举报 下载
毕业设计专题1_第1页
第1页 / 共12页
毕业设计专题1_第2页
第2页 / 共12页
毕业设计专题1_第3页
第3页 / 共12页
资源描述:

《毕业设计专题1》由会员分享,可在线阅读,更多相关《毕业设计专题1(12页珍藏版)》请在装配图网上搜索。

1、 基于单片机的RS-232C串行通信接口设计摘要:随着计算机技术特别是单片机技术的发展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比较好的解决方案。这样,单片机的数据通信技术就变得十分重要,在某种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。现在单片机及PC机在结构、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线

2、传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。通信的基本方式可分为并行通信与串行通信两种。并行通信是将组成数据的各位同时传送,并通过并行门(如P1口等)来实现。在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。因此并行通信适合短距离通信。串行通信是指数据一位一位地按顺序传送。串行通信通过串行口来实现。在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的成本,但数据传送速

3、度慢。因此,串行通信适合于远距离通信。目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows系统为操作平台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用SQL Server数据库。现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传

4、输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。1. 总体方案设计PC机与单片机之间可以由RS-232C、接口相连,在PC机系统内部装有异步通信适配器,利用它可以实现异步串行通信。该适配器的核心元件是可编程的Intel 8250芯片,它使PC机有能力与其他具有标准的RS-232C接口的计算机或设备进行通信。而51单片机本身具有一个全双工的串行口,因此只要配以电平换换的驱动电路、隔离电路就可以组成一个简单的通信接口。同样,PC机和单片机之间的通信也分为双机通行与多机通信。数据通信的硬件上采用3线制,将单片机和PC

5、串口的3个引脚(TXD、RXD、GND)分别连在一起,即将PC机和单片机的发送数据线TXD与接收数据线RXD交叉连接,两者的地线GND直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。这样既可以实现预定的任务又可以简化电路设计。 PC机和单片机最简单的连接时零调制三线经济系。这是进行全双工通信所必需的最少线路,因为51单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0电平规定为+5+15V之间,逻辑1电平为-5-15V之间,因此在将PC机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232电

6、平转换芯片。其原理框图为图 1 RXDTXDGNDRS-232CTIN TOUTROUT RINGND TXD RVD GND 图1串口通信原理图2. 硬件电路的设计2.1 单片机介绍标准型89系列单片机是与MCS-51系列单片机兼容的。在内部含有4KB或8KB可重复编程的Flash存储器,可进行1000次擦写操作。全静态工作为0-33MHz,有3级程序存储器加密锁定,内含有128-256字节的RAM、32条可编程的I/O端口、2-3个16位定时器/计数器,6-8级中断,此外有通用串行接口、低电压空闲模式及掉电模式。AT89C51相当于将8051中的4KB ROM换成相应数量的Flash存储器

7、,其余结构、供电电压、引脚数量及封装均相同,使用时可直接替换。AT89C51在内部采用40条引脚的双列直插式封装,引脚排列如图2所示:图2 AT89C51芯片引脚2.2 串口基本结构介绍单片机的串行口的功能是与外部器件进行串行数据通信。串行口电路也称为通用异步收发器(UART)。从原理上说,一个UART包括发送器电路、接收器电路和控制电路。8051单片机的UART已集成在其中,构成一个全双工串口,全双工通信是指同时可以作双向通信,两个即可同时发送、接收,又可同时接收、发送。其示意图如图3所示。这个口即可以实现串行异步通信,也可以作为同步移位寄存器使用。发送接收 发送 接收 全双工通信图3 全双

8、工通信示意图8051的串行口通过引脚RXD(P3.0串行口数据接收端)和引脚TXD(P3.1串行口数据发送端)与外部设备进行串行通信。其中共有两个串口双缓冲寄存器(SBUF),一个是发送寄存器,一个是接收寄存器,以便8051能以全双工方式进行通信。串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的寄存器,但因为发送与接收不能同时进行,所以给这两个寄存器赋一同一地址99H。在接收方式下,串行数据通过引脚RXD进入,由于在接收寄存器之前还有移位寄存器,从而构成了串行接收的双缓冲结构,以避免在数据接收过程中出现帧重叠错误,即在下一帧数据来时,

9、前一帧数据还没有走。在发送方式下口,串行数据通过引脚TXD发出。与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲结构,这样可以提高数据发送速度。2.3 电平转换电路设计和其他的单片机器件一样,作为单片机的标准外围电路,串口的电平转换也有专用的芯片,但也可以使用三极管自行调整电平匹配。本次设计我主要采用专用芯片进行电平转换的方法。目前较为广泛的是使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTL和RS-232C的

10、双向电平转换。在这里我采用的芯片是MAX232。如图4图4 电平转换芯片MAX232 在电气特性上RS-232C采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑1:-5-15V ,逻辑0:+5+15V 。而单片机的信号电平与TTL电平兼容,逻辑1大于+2.4V,逻辑0为0.4V以下。很显然,RS-232C信号电平与TTL电平不匹配,为了实现两者的连接,必须进行电平转换。MAX232C为单一+5V供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。MAX232 的引脚主要为5个部分:(1)外接电容:有5个外接电容、进行电压匹配和电源去耦。(2)TTL的输入:

11、电路TTL电平的输入引脚11和10引脚,连接单片机的TXD输出端口。(3)TTL的输出:电路TTL电平的输出引脚12和9引脚,连接单片机的RXD输出端口。(4)RS-232的输入:两路RS-232电平的输入引脚13和8引脚,连接RS-232的TXD的输出端口。(5)RS-232的输出:两路RS-232电平的输出引脚14和7引脚,连接RS-232的RXD的输出端口。通过MAX232的TTL和RS-232 的输入/输出端口,自动地调节了单片机串口的TTL电平信号和RS-232的串行通信信号的电平匹配。电平转换芯片与单片机的连接电路如下:地址分配和连接:只列出和系统相关的、关键部分的单片机与各个模块

12、管脚的连接和相关的地址分配。MAX232的11引脚:MAX232 的TTL电平输入引脚,连接单片机的TXD,TTL串口输入信号。MAX232的12引脚:MAX232的TTL电平输出引脚,连接单片机的RXD、TTL串口输入信号。MAX232的14引脚:MAX232 的RS-232电平输出引脚,连接RS-232的RXD,RS-232的串口输入信号。MAX232的13引脚:MAX232 的RS-232电平输入引脚,连接RS-232的TXD,RS-232的串口输出信号。MAX232和单片机串口连接的电路如图5。图5 MAX232和单片机串口连接电路图2.4 整体电路设计 PC机和单片机最简单的连接时零

13、调制三线经济系。这是进行全双工通信所必需的最少线路,因为51单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0电平规定为+5+15V之间,逻辑1电平为-5-15V之间,因此在将PC机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232电平转换芯片。将PC机键盘的输入发送给单片机,单片机收到PC机发来的数据后,会送统一数据给PC机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。总串行通信图为图6所示 图6 串行通信电路图3 软件设计将PC机键盘的输入发送给单片机,

14、单片机收到PC机发来的数据后,会送统一数据给PC机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符相同,说明二者之间的通信正常。3.1串行通信的实现(1)串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。(3)通信协议:PC机首先发送数据,单片机接收到之后返回一个相同数据到PC机表示通信正常。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。3.2流程框图(1) 51单片

15、机通过中断方式接收PC机发送数据,并回送。其程序流程图,如图7所示:是否接受PC机发送数据?程序初始化接受PC机发送数据N回发数据给PC机是否发送完成?N清除标志位开始YY结束 图7发送端程序流程图3.3程序设计ORG00HSTART:MOVSP,#60HMOVSCON,#01010000B;设定串行方式 ;8位异步,允许接收MOVP1,00HMOVTMOD,#20H;设定计数器1为模式2ORLPCON,#10000000B;波特率加倍MOVTH1,#0F3H;设定波特率为4800MOVTL1,#0F3HSETBTR1 ;计数器开始计数AGAIN:JNBRI,$ ;等待接收完成CLRRIMOV

16、A,SBUF;接收数据送缓存PUSHACCCJNEA,#30H,SET1;将数据09的ASCII码转换为数字09,其余字符不变SJMPSET3SET1:JCSET3CJNEA,#39H,SET2SJMPSET3SET2:JNCSET4CLRCSET3:SUBBA,#30HSET4:MOVP1,APOPACCMOVSBUF,A;发送接收到的数据JNBTI,$ ;等待发送完成CLRTISJMPAGAINEND4.联合调试在protues上进行仿真实验。首先使用Keil uVsion 2将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,可以看到,将PC机键盘的输入发送

17、给单片机,单片机收到PC机发来的数据后,会送统一数据给PC机。机端已将发送的数据通过单片机回发过来能完整的显示出来。5. 课设小结及进一步设想单片机与PC机串行通信系统的设计告一段落,该系统的开发是一项非常有价值的项目。本论文以单片机系统设计方法作为全文的组织线索,开发一个单片机系统是需要按照规范的系统设计方法严谨的进行的。为了开发通信系统,选择8051单片机,必须掌握单片机控制系统硬件电路的设计,如复位电路和时钟电路等的设计,另外对汇编语言的灵活运用是少不了的,如单片机中断、定时器和串行口的汇编语言编程,而对单片机的串口知识深刻的理解下,确定以定时器T1的工作方式2作为波特率发生器是一个关键

18、的,计算机方面,首先是 RS-232C接口,RS-232C接口是最为常用的、应用最为广泛的串行接口标准,大量的集成设备、工业产品都提供了RS-232C接口,因此单片机应用系统的设计中,RS-232C通信设计是十分重要的。51兼容单片机通常都自带一个标准UART端口,这个端口用过电平转换电路就可以构成一个标准的RS-232C接口,并且与计算机的接口相匹配,运用RS-232C连接的最简单形式:3线制,将单片机与PC机进行硬件连接。其中由于单片机系统使用的是TTL电平,单片机中的串口输出的信号也是如此,但是串行通信中使用的RS-232C通信协议,二者的电平并不相同,在和单片机进行通信时,还需要有一定

19、的外围电路的配合,使得单片机的通信电平和标准的串行通信协议相匹配。这一点用MAX232芯片进行处理。以上所形成的通信系统的原理方案 ,便是本系统的硬件电路的设计依据。接着到了系统软件的设计部分,一个完整的单片机系统只有硬件还不能工作,必须有软件来控制整个系统的运行,PC机部分的串口通信软件开发,采用的是VB的MSComm控件来实现串行通信,这一部分,我编制出了利用文本框接受和发送数据的界面,其中对如何接受单片机发送的16进制代码和向单片机发送数据,是我做的不足的地方,采用的编程方法是正确的,但只形成了基本框架,不足的是不能很好的对收发数据进行代码处理,而这一部分,我认为应该单独作为一个课题进行

20、研究。开发出强大的串口通信软件,鉴于VB是一种弱字符语言,可以考虑用VC+等语言来开发,目的是使传输的数据不受任何限制,使通信系统更容易实现。而单片机的汇编程序方面,我一方面编写出了单片机自动发送和按键发送数据的程序,另一方面编写出了单片机查询接受数据和中断接受数据的程序,并在AT89C51单片机试验开发板上进行了测试,都达到了很好的效果,这也是让我满意的一部分。最后,在硬软件设计完毕后,最重要的一步是对系统的调试,而对于可能出现的问题,需要从软件和硬件两个方面进行考虑,这一阶段需要大量的测试程序对系统等各个部分进行分别的测试,才能找到问题的所在,并进行针对性地修改和完善,而最终目的是使软件和

21、硬件能够很好的配合,完成预定的功能,再在实际的环境中对开发出来的系统进行考验,并随时对产生的问题进行处理,我认为这一步很费工夫,也存在着许多困难,但开发出成功的单片机系统,这一步是必经阶段,只有在这一阶段,多摸索,多探索,才能使自己的能力有所突破与提高。随着我一步一步做我的论文和设计,我才发现自己能力的不足与知识的贫乏,这是需要在后续的学习中,持续积累与拼搏的。参考文献1 赵茂泰.智能仪器原理及应用.北京: 电子工业出版社,2004.72 张毅刚,刘杰.MCS51单片机原理及应用.哈尔滨: 哈尔滨工业大学出版社,2004.63 何立民.单片机应用技术选编.北京: 北京航天航空大学出版,2002.54 张军,梅丽凤.单片机原理接口技术.北京交通大学出版社,2006.55 张婧武,周灵彬.单片机系统的PROTEUS设计与仿真.北京: 电工出版社,2007.46 周佩玲,彭虎.微机原理与接口技术.北京: 电子工业出版社,2005.47 李群芳,张士军.单片微型计算机与接口技术.北京: 电子工业出版社,2008.5第11页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!