




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z基于单片机的RS-232C串行通信接口设计摘要:随着计算机技术特别是单片机技术的开展,单片机的应用领域越来越广泛,单片机在工业控制、数据采集以及仪器仪表自动化等许多领域都起着十分重要的作用。但在实际应用中,在要求响应速度快、实时性强、控制量多的应用场合,单个单片机往往难以胜任,这时使用多个单片机接合PC机组成分布式系统是一个比拟好的解决方案。这样,单片机的数据通信技术就变得十分重要,在*种程度上说,掌握了单片机的数据通信技术也就是掌握了单片机的核心应用技术。现在单片机及PC机在构造、性能和经济上为实现远程串行通信提供了很好的条件,串行通信是指按照逐位顺序传递数据的通信方式,由于仅需三根传输线传送信息且通信距离相对较远,所以在控制领域的现场监测、分布控制等场合有着重要的应用价值。在各种单片机应用系统的设计中,如智能仪器仪表、各类手持设备、GPS接收器等,常常遇到计算机与外界的信息交换,即通讯。通信的根本方式可分为并行通信与串行通信两种。并行通信是将组成数据的各位同时传送,并通过并行门〔如P1口等〕来实现。在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。因此并行通信适合短距离通信。串行通信是指数据一位一位地按顺序传送。串行通信通过串行口来实现。在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的本钱,但数据传送速度慢。因此,串行通信适合于远距离通信。目前,在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows系统为操作平台,为便于查询和保存数据,还需要数据库的支持,如在测控系统中使用SQLServer数据库。现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和效劳器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的根底。单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口1、2等相连接来实现应用系统与PC机之间的数据交换。1.总体方案设计PC机与单片机之间可以由RS-232C、接口相连,在PC机系统内部装有异步通信适配器,利用它可以实现异步串行通信。该适配器的核心元件是可编程的Intel8250芯片,它使PC机有能力与其他具有标准的RS-232C接口的计算机或设备进展通信。而51单片机本身具有一个全双工的串行口,因此只要配以电平换换的驱动电路、隔离电路就可以组成一个简单的通信接口。同样,PC机和单片机之间的通信也分为双机通行与多机通信。数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚〔T*D、R*D、GND〕分别连在一起,即将PC机和单片机的发送数据线T*D与接收数据线R*D穿插连接,两者的地线GND直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。这样既可以实现预定的任务又可以简化电路设计。PC机和单片机最简单的连接时零调制三线经济系。这是进展全双工通信所必需的最少线路,因为51单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0电平规定为+5~+15V之间,逻辑1电平为-5~-15V之间,因此在将PC机和单片机的T*D和R*D穿插连接时必须进展电平转换,这里我选用的是MA*232电平转换芯片。其原理框图为图1R*DT*DGNDR*DT*DGNDRS-232CTINTOUTROUTRINGNDT*DRVDGND图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中的4KBROM换成相应数量的Flash存储器,其余构造、供电电压、引脚数量及封装均一样,使用时可直接替换。AT89C51在内部采用40条引脚的双列直插式封装,引脚排列如图2所示:图2AT89C51芯片引脚2.2串口根本构造介绍单片机的串行口的功能是与外部器件进展串行数据通信。串行口电路也称为通用异步收发器〔UART〕。从原理上说,一个UART包括发送器电路、接收器电路和控制电路。8051单片机的UART已集成在其中,构成一个全双工串口,全双工通信是指同时可以作双向通信,两个即可同时发送、接收,又可同时接收、发送。其示意图如图3所示。这个口即可以实现串行异步通信,也可以作为同步移位存放器使用。发送接收发送接收发送接收全双工通信图3全双工通信示意图8051的串行口通过引脚R*D〔P3.0串行口数据接收端〕和引脚T*D〔P3.1串行口数据发送端〕与外部设备进展串行通信。其中共有两个串口双缓冲存放器〔SBUF〕,一个是发送存放器,一个是接收存放器,以便8051能以全双工方式进展通信。串行发送时,从片内总线向发送SBUF写入数据;串行接收时,从接收SBUF向片内总线读出数据。它们都是可寻址的存放器,但因为发送与接收不能同时进展,所以给这两个存放器赋一同一地址99H。在接收方式下,串行数据通过引脚R*D进入,由于在接收存放器之前还有移位存放器,从而构成了串行接收的双缓冲构造,以防止在数据接收过程中出现帧重叠错误,即在下一帧数据来时,前一帧数据还没有走。在发送方式下口,串行数据通过引脚T*D发出。与接收数据情况不同,发送数据时,由于CPU是主动的,不会发生帧重叠错误,因此发送电路就不需要双缓冲构造,这样可以提高数据发送速度。2.3电平转换电路设计和其他的单片机器件一样,作为单片机的标准外围电路,串口的电平转换也有专用的芯片,但也可以使用三极管自行调整电平匹配。本次设计我主要采用专用芯片进展电平转换的方法。目前较为广泛的是使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MA*232芯片可完成TTL和RS-232C的双向电平转换。在这里我采用的芯片是MA*232。如图4图4电平转换芯片MA*232在电气特性上RS-232C采用负逻辑,要求高、低两信号间有较大的幅度,标准规定为:逻辑‘1’:-5~-15V,逻辑‘0’:+5~+15V。而单片机的信号电平与TTL电平兼容,逻辑1大于+2.4V,逻辑0为0.4V以下。很显然,RS-232C信号电平与TTL电平不匹配,为了实现两者的连接,必须进展电平转换。MA*232C为单一+5V供电,内置自升压电平转换电路,一个芯片能同时完成发送转换和接收转换的双重功能。MA*232的引脚主要为5个局部:〔1〕外接电容:有5个外接电容、进展电压匹配和电源去耦。〔2〕TTL的输入:电路TTL电平的输入引脚——11和10引脚,连接单片机的T*D输出端口。〔3〕TTL的输出:电路TTL电平的输出引脚——12和9引脚,连接单片机的R*D输出端口。〔4〕RS-232的输入:两路RS-232电平的输入引脚——13和8引脚,连接RS-232的T*D的输出端口。〔5〕RS-232的输出:两路RS-232电平的输出引脚——14和7引脚,连接RS-232的R*D的输出端口。通过MA*232的TTL和RS-232的输入/输出端口,自动地调节了单片机串口的TTL电平信号和RS-232的串行通信信号的电平匹配。电平转换芯片与单片机的连接电路如下:地址分配和连接:只列出和系统相关的、关键局部的单片机与各个模块管脚的连接和相关的地址分配。MA*232的11引脚:MA*232的TTL电平输入引脚,连接单片机的T*D,TTL串口输入信号。MA*232的12引脚:MA*232的TTL电平输出引脚,连接单片机的R*D、TTL串口输入信号。MA*232的14引脚:MA*232的RS-232电平输出引脚,连接RS-232的R*D,RS-232的串口输入信号。MA*232的13引脚:MA*232的RS-232电平输入引脚,连接RS-232的T*D,RS-232的串口输出信号。MA*232和单片机串口连接的电路如图5。图5MA*232和单片机串口连接电路图2.4整体电路设计PC机和单片机最简单的连接时零调制三线经济系。这是进展全双工通信所必需的最少线路,因为51单片机输入、输出电平为TTL电平,但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0电平规定为+5~+15V之间,逻辑1电平为-5~-15V之间,因此在将PC机和单片机的T*D和R*D穿插连接时必须进展电平转换,这里我选用的是MA*232电平转换芯片。将PC机键盘的输入发送给单片机,单片机收到PC机发来的数据后,会送统一数据给PC机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符一样,说明二者之间的通信正常。总串行通信图为图6所示图6串行通信电路图3软件设计将PC机键盘的输入发送给单片机,单片机收到PC机发来的数据后,会送统一数据给PC机。并在屏幕中显示出来。只要屏幕中显示出来的字符与所键入的字符一样,说明二者之间的通信正常。3.1串行通信的实现〔1〕串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。〔3〕通信协议:PC机首先发送数据,单片机接收到之后返回一个一样数据到PC机表示通信正常。〔4〕通信过程使用第九位发送奇偶校验位。〔5〕从机接收到一个数据后,立即进展奇偶校验,假设数据没有错误,则返回00H,否则返回FFH。〔6〕主机发送一个数据后,等待从机返回数据;假设为00H,则继续发送下一个数据,假设为FFH,则重新发送数据。3.2流程框图51单片机通过中断方式接收PC机发送数据,并回送。其程序流程图,如图7所示:是否是否承受PC机发送数据.程序初始化承受PC机发送数据N回发数据给PC机是否发送完成?N去除标志位开场YY完毕图7发送端程序流程图3.3程序设计ORG 00HSTART: MOV SP,*60H MOV SCON,*01010000B ;设定串行方式 ;8位异步,允许接收 MOV P1,00H MOV TMOD,*20H ;设定计数器1为模式2 ORL PCON,*10000000B ;波特率加倍 MOV TH1,*0F3H ;设定波特率为4800 MOV TL1,*0F3H SETB TR1 ;计数器开场计数AGAIN: JNB RI,$ ;等待接收完成 CLR RI MOV A,SBUF ;接收数据送缓存 PUSH ACC CJNE A,*30H,SET1 ;将数据0~9的ASCII码转换为数字0~9,其余字符不变 SJMP SET3SET1: JC SET3 CJNE A,*39H,SET2 SJMP SET3SET2: JNC SET4 CLR CSET3: SUBB A,*30HSET4: MOV P1,A POP ACC MOV SBUF,A ;发送接收到的数据 JNB TI,$ ;等待发送完成 CLR TI SJMP AGAIN END4.联合调试在protues上进展仿真实验。首先使用KeiluVsion2将编写完成的程序编译生成HE*文件,将HE*文件烧录到两片单片机中,进展仿真实验,可以看到,将PC机键盘的输入发送给单片机,单片机收到PC机发来的数据后,会送统一数据给PC机。PC机端已将发送的数据通过单片机回发过来能完整的显示出来。5.课设小结及进一步设想单片机与PC机串行通信系统的设计告一段落,该系统的开发是一项非常有价值的工程。本论文以单片机系统设计方法作为全文的组织线索,开发一个单片机系统是需要按照规*的系统设计方法严谨的进展的。为了开发通信系统,选择8051单片机,必须掌握单片机控制系统硬件电路的设计,如复位电路和时钟电路等的设计,另外对汇编语言的灵活运用是少不了的,如单片机中断、定时器和串行口的汇编语言编程,而对单片机的串口知识深刻的理解下,确定以定时器T1的工作方式2作为波特率发生器是一个关键的,计算机方面,首先是RS-232C接口,RS-232C接口是最为常用的、应用最为广泛的串行接口标准,大量的集成设备、工业产品都提供了RS-232C接口,因此单片机应用系统的设计中,RS-232C通信设计是十分重要的。51兼容单片机通常都自带一个标准UART端口,这个端口用过电平转换电路就可以构成一个标准的RS-232C接口,并且与计算机的接口相匹配,运用RS-232C连接的最简单形式:3线制,将单片机与PC机进展硬件连接。其中由于单片机系统使用的是TTL电平,单片机中的串口输出的信号也是如此,但是串行通信中使用的RS-232C通信协议,二者的电平并不一样,在和单片机进展通信时,还需要有一定的外围电路的配合,使得单片机的通信电平和标准的串行通信协议相匹配。这一点用MA*232芯片进展处理。以上所形成的通信系统的原理方案,便是本系统的硬件电路的设计依据。接着到了系统软件的设计局部,一个完整的单片机系统只有硬件还不能工作,必须有软件来控制整个系统的运行,PC机局部的串口通信软件开发,采用的是VB的MSm控件来实现串行通信,这一局部,我编制出了利用文本框承受和发送数据的界面,其中对如何承受单片机发送的16进制代码和向单片机发送数据,是我做的缺乏的地方,采用的编程方法是正确的,但只形成了根本框架,缺乏的是不能很好的对收发数据进展代码处理,而这一局部,我认为应该单独作为一个课题进展研究。开发出强大的串口通信软件,鉴于VB是一种弱字符语言,可以考虑用VC++等语言来开发,目的是使传输的数据不受任何限制,使通
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 营养师考前冲刺必看试题及答案
- 打下基础的营养师证备考试题及答案
- 个人成长的营养师考试试题及答案
- 2025年房地产经纪资格宣讲试题及答案
- 演出项目盈利模式试题及答案
- 2024年演出经纪人考试综合考盘:试题及答案
- 房地产市场运营试题及答案
- 创新解法的营养师资格试题及答案
- 2024年营养师备考指导及答案
- 2024年营养师考试相关法规试题及答案
- CJT 272-2008 给水用抗冲改性聚氯乙烯(PVCM)管材及管件
- 《工程项目审计》课件
- 法人不参与经营免责协议
- DL-T5191-2004风力发电场项目建设工程验收规程
- DZ∕T 0130-2006 地质矿产实验室测试质量管理规范(正式版)
- 2024年辽宁省营口市中考适应性测试(二模)数学试题
- 四川省泸州市古蔺县金兰教育集团2023-2024学年七年级下学期联合检测数学试卷(含解析)
- 《“光盘”行动-从我做起!》课件
- AED自动体外除颤仪
- 2024年高职考试-渤海船舶职业学院单招笔试参考题库含答案
- 低压断路器课件
评论
0/150
提交评论