单片机与PC串口通信课程设计.docx
- 文档编号:11809051
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:21
- 大小:654.91KB
单片机与PC串口通信课程设计.docx
《单片机与PC串口通信课程设计.docx》由会员分享,可在线阅读,更多相关《单片机与PC串口通信课程设计.docx(21页珍藏版)》请在冰点文库上搜索。
单片机与PC串口通信课程设计
摘要
单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统,但是其存储容量小,处理的数据量不大。
为了克服这一缺点,我们可以将单片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数据处理。
单片机与PC机一般采用串行通信,由于51系列单片机中一般集成了全双工的串行端口,只要配以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,本设计将通过电平转换电路实现单片机与PC机中的RS-232标准总线之间的串行通信。
这也是许多测控系统中常用的一种通信解决方案。
关键词:
单片机,PC机,串行通信,电平转换,总线
第一章:
绪论
1.1课题研究的目的和意义
单片机与PC机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。
作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。
如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC机等)进行数据交换。
因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。
1.2所属领域的现状及发展状况
单片机,亦称单片微电脑或单片微型计算机。
它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。
现在可以说单片机是百花齐放的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,它们各具特色,互成互补,为单片机的应用提供广阔的天地。
通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。
随着低价位OTP及各种特殊类型片内程序存储器的发展,加之处围接口不断进入片内,推动了单片机“单片”应用结构的发展。
特别是I2C、SPI等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。
单片机改变了我们生活,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机,单片机有着广阔的应用前景。
如今,随着单片机和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由PC机和多台单片机构成的多机网络测控系统已成为单片机技术发展的一个方向。
它结合了单片机在实时数据采集和微机对图形处理、显示的优点。
同时,Windows环境下后台微机在数据库管理上具有明显的优势。
二者结合,使得单片机的应用已不仅仅局限于传统意义上的自动监测或控制,而形成了向以网络为核心的分布式多点系统发展的趋势。
1.3课程设计的技术要求
1.3.1课程设计的具体要求如下
1)掌握单片机的工作原理与接口设计。
2)完成硬件设计,包括硬件选择及硬件原理图绘制。
3)完成软件设计,绘制程序流程图。
1.3.2本设计的主要功能
根据要求,设计一个51单片机与PC串口通信电路,实现单片机与PC机之间的通信。
设计主要分为硬件设计和软件设计两大模块,本设计主要侧重于硬件电路的实现。
本设计将实现以下功能,即单片机通过串行口向PC发送字符串并且可以接收由PC发送过来的数字。
具体实现结果为:
将从单片机键盘上键入的字符显示到PC显示器上,将PC键盘输入的数字(0-9)显示到单片机的数码管上。
第二章:
硬件电路的设计
2.1串行通信的基本原理
2.1.1串行通信的概念及分类
通信的基本方式可分为并行通信与串行通信两种。
并行通信:
是将组成数据的各位同时传送,并通过并行门(如P1口等)来实现。
在并行通信中,数据传送线的根数与传送的数据位数相等,传送数据速度快,但所占用的传输线位数多。
因此,并行通信适合短距离通信。
如图2-1所示。
串行通信:
是指数据一位一位地按顺序传送。
串行通信通过串行口来实现。
在全双工的串行通信中,仅需要一根发送线和一根接收线,串行通信可大大节省传送线路的成本,但数据传送速度慢。
由于其所需电缆线少,接线简单,所以在较远距离传输中,得到了广泛的运用。
如图2-2所示。
图2-1并行通信图2-2串行通信
串行通信有同步通信和异步通信两种基本方式。
(1)异步通信方式:
数据通常是以字符(或字节)为单位组成字符帧传送的。
发送方发送各个字符的间隔时间是不定的,收发双方各用自己的时钟源来控制发送和接收,这两个时钟源彼此独立,互不同步。
接收端是依靠字符帧格式来判断发送端是何时开始发送及何时结束发送。
平时,发送线为高电平(逻辑“1”),每当接收端检测到传输线上发送过来的低电平逻辑“0”(字符帧中起始位)时,就知道发送端已开始发送,每当接收端接收到字符帧中的停止位时,就知道一帧字符信息己发送完毕。
(2)同步通信方式:
是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。
这里的信息帧和异步通信中的字符帧不同,通常有若干个数据字符。
同步字符帧由同步字符、数据字符和校验字符三部分组成。
同步字符位于帧结构开头,用于确认数据字符的开始(接收端不断对传输线采样,并把采到的字符和双方约定的同步字符比较,只有比较成功后才会把后面接收到的字符加以存储);数据字符在同步字符之后,个数不受限制,由所需传输的数据块长度决定;校验字符有1~2个,位于帧结构末尾,用于接收端对接收到的数据字符的正确性的校验。
在本次课程设计中采用的是串行异步通信方式。
2.1.2串行口的工作方式
51单片机串行口有4种工作方式——方式0,方式1,方式2,方式3。
(1)方式0:
设定SM0,SM1为00时,串行接口工作于方式0,在方式0下,RXD(P3.0)为数据输入/输出端,TXD(P3.1)为同步脉冲输出端,发送或接收的数据为8位低位在前,高位在后,方式0的波特率固定为fosc/12,也就是每一机器周期传送1位数据,方式0可外接移位寄存器,将串行接口扩展为并行接口,也可外接同步输入输出设备。
(2)方式1:
当设定SM0,SM1为01时,串行接口工作于方式1,方式1为波特率可变的8位异步通信方式,由TXD发送,RXD接收。
一帧数据为10位,1位起始位(低电平)8位数据位(低位在前)和1位停止位(高电平)。
方式1:
波特率=2SMOD*(定时器T1溢出率)/32
(1)
(3)方式2和方式3:
当设定SM0,SM1为10或11时,串行口工作于方式2或方式3,这两种方式都是9位异步通信,仅波特率不同,适用于多机通信。
在方式2或方式3下,数据由TXD发送,RXD接收,1帧数据为11位,1位起始位(低电平)8位数据位(低位在前)1位可编程位(第9位数据)用作奇偶校验或地址/数据选择,1位停止位,与方式1相比多了一位可编程位,发送时,第9位数据为TB8,接收时,第9位数据送入RB8。
方式2和方式3的区别只在于波特率不同。
方式2:
波特率=2SMOD*fosc/64
(2)
方式3:
波特率=2SMOD*(定时器T1溢出率)/32(3)
在本次课程设计中采用的是方式1工作。
2.1.3串行通信的数据传送方式
在串行通信中,数据是在两个站之间传送的。
按照数据传送方向,串行通信可分为单工、半双工和全双工三种传送方式。
如图2-4。
单工方式:
通信线的一端接发送器,另一端接接收器,它们形成单向连接,只允许数据按照一个固定的方向传送。
数据只能单方向传送。
半双工方式:
数据能够实现双方向传送,但任何时刻只能由其中的一方发送数据,另一方接收数据。
全双工方式:
系统的每端都含有发送器和接收器,数据可以同时在两个方向上传送
在本次课程设计中采用的是全双工方式。
2.2硬件电路设计方案
2.2.1整体设计思路及原理
当51单片机与PC机通过RS-232标准总线串行通信时,由于RS-232信号电平与51单片机信号电平不一致,因此,必须进行信号电平转换。
本设计采用专门集成芯片MAX232来实现51单片机与RS-232的接口电路。
此外,单片机工作必须使用到晶振电路和复位电路。
晶振电路是给单片机提供时钟信号,复位电路给单片机提供复位功能,它的作用是使单片机的程序计数器清零。
因此,基于protuse的AT89C51单片机与PC串口通信电路主要由51单片机外围电路(晶振电路、复位电路、外部中断)、电平转换电路MAX232、RS232接口、LED数码显示管及虚拟终端组成。
硬件电路整体框图如图2-3所示:
图2-3硬件电路整体框图
2.2.2AT89C51单片机简介
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51引脚及功能如图2-4所示。
图2-4AT89C51引脚
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
表2-2P3口功能表
—RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
—PROG/ALE:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
—PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSEN两次有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
—VPP/EA:
当EA保持低电平时,访问外部ROM;注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,访问内部ROM。
—XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
—XTAL2:
来自反向振荡器的输出。
2.2.3单片机外围电路设计
单片机外围电路设计包括晶振电路,复位电路和中断控制。
如图2-5所示。
1.晶振的原理及作用
晶振是电路中常用用的时钟元件,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。
晶振的作用是为系统提供基本的时钟信号。
通常一个系统共用一个晶振,便于各部分保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。
如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
晶振一般采用如图2-6a的电容三端式交流等效振荡电路;实际的晶振交流等效电路如图2-6b;把晶体的等效电路代替晶体后如图2-6c。
其中Co,C1,L1,RR是晶体的等效电路。
图2-6晶振电路原理图
2.复位电路原理
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
复位电路的作用:
在上电或复位过程中,控制CPU的复位状态:
这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。
无论使用哪种类型的单片机,总要涉及到单片机复位电路的设计。
而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。
许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。
单片机系统的复位方式有:
手动按钮复位和上电复位。
本设计采用手动按钮复位。
手动按钮复位:
手动按钮复位需要人为在复位输入端RST上加入高电平,如图2-7。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
3.单片机的外部中断
51单片机一般有两个外部中断输入端,并允许外部中断源以低电平或负边沿两种触发方式输入中断请求信号。
本设计就是利用一只按钮,在按下时产生的负边沿触发外部中断。
将一只按钮接在外部中断输入0即12口,如图2-8所示。
它的作用是向PC机发送字符串。
图2-7复位电路
图2-8单片机外围电路设计图
2.2.4MAX232芯片简介
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,使用+5v单电源供电。
引脚介绍:
如图2-9为MAX232引脚图。
第一部分是电荷泵电路。
由1、2、3、4、5、6脚和4只电容构成。
功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。
由7、8、9、10、11、12、13、14脚构成两个数据通道。
其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。
8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。
TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分是供电。
15脚GND、16脚VCC(+5v)。
主要特点:
1、符合所有的RS-232C技术标准
2、只需要单一+5V电源供电
3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-
4、功耗低,典型供电电流5mA
5、内部集成2个RS-232C驱动器
6、内部集成两个RS-232C接收器
图2-9MAX232引脚图
如图2-10为利用MAX232构成的电平转换电路设计图
图2-10电平转换电路设计图
2.2.5接口电路设计
RS-232是个人计算机上的通讯接口之一,由电子工业协会所制定的异步传输标准接口。
通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输。
对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式交换数据也很普遍.在实时控制和管理方面,采用多台微机处理机组成分级分布控制系统中,各CPU之间的通信一般都是串行方式.所以串行接口是微机应用系统常用的接口。
本设计用的RS-232九针引脚及功能如图2-11所示。
图2-11RS-232引脚及功能
RS-232接口电路连接方式根据需要有三线、六线、八线、两线多种。
当通讯速率较低时可以采用三线对接法,如图2-12所示。
图2-12RS-232电缆连接图
在本设计中采用一块MAX3221芯片把从AT89C51中过来的信号进行电平转换后输出到PC,把从PC发过来的信号发送给AT89C51,设计中的RS-232接口电路连接方式如图2-13所示:
2.2.6硬件电路设计图
本次课程设计最终硬件电路设计图如图2-14所示。
图2-13RS-232接口电路连接方式
图2-14硬件设计电路图
说明:
P0口作为I/O口输出的时候时 输出低电平为0输出高电平为高组态(并非5V,相当于悬空状态)。
也就是说P0口不能真正的输出高电平,给所接的负载提供电流,因此必须接上拉电阻(一电阻连接到VCC),由电源通过这个上拉电阻给负载提供电流。
因此,当P0口与LED数码显示管相连时,需要接上排阻RP1.
第三章软件设计
3.1单片机与PC总体设计流程图
本次课程设计主要分为单片机程序设计,PC机程序设计两大模块。
总体设计流程图如图3-1所示。
图3-1单片机与PC通信软件流程图
3.2单片机程序设计流程图
设计单片机通信程序流程图时,将通信程序分为接收中断处理程序流程图(如图3-2)、发送中断处理程序流程图(如图3-3)和通信处理程序流程图(如图3-4)三部分,并将这三部分程序巧妙地进行组合,从而构成整个单片机的通信程序。
图3-2接收中断处理程序流程图
图3-3发送中断处理程序流程图
图3-4通信处理程序流程图
3.3PC机程序设计流程图
设计PC机程序流程图时,主要分为三大模块,分别为PC机发送文件子程序流程图(如图3-5),PC机接收文件子程序流程图(如图3-6)和主程序流程图(如图3-7)。
图3-5PC机发送文件子程序流程图
图3-6PC机接收文件子程序流程图
图3-7主程序流程图
第四章总结
本次课程设计历时一周,我不但在图书馆借了许多的相关资料,并且在网上也下载了一些电子书籍,和同学们一起讨论,遇到不懂的就向大家请教。
所以我很快地了解到此次课程设计的内容及要求,并且确定了设计的方案。
刚拿到设计课题的时候,有些迷茫,不知道从何下手,对于一些细节问题也不太清楚,由于没有接触,开始学得很费力,但到后来就好了。
在每次的课程设计中,遇到问题,最好的办法就是问别人,因为每个人掌握情况不一样,不可能做到处处都懂,发挥群众的力量,复杂的事情就会变得很简单。
这一点我深有体会,在很多时候,我遇到的困难或许别人之前就已遇到,向他们请教远比自己在那冥思苦想来得快。
在确定了方案之后,本以为会很快的完成设计。
但是,事情远比想象的困难的多。
有时会犯一些简单的原则性错误。
经过多次的检查,才把错误个个清除。
课程设计之后,我不但掌握了proteus的一些基本的使用方法,也掌握了单片机与PC机串行通信的基本原理。
我意识到要学好我们的专业课,不但要上课认真听讲,掌握课本知识,而且我们还需要经常勤于动手,勤于做实验,把理论知识和实践技能充分合理的结合起来。
只有理论和实践相结合才能更深入的了解课本知识,才能更深刻的了解专业知识的内涵和外延。
也只有这样,知识才能在理论和实践中贯通。
但是,此次设计我只是侧重于硬件方面的设计,对于软件方面并没有挖的很深,所以在以后的学习中,我也会多了解软件设计方面的知识,争取做到吃得透,挖的深,为以后工作打下良好的基础。
致谢
在本次课程设计中,我要衷心的感谢我的队友谭煦同学的帮助和协作,过程中遇到了很多的问题与困难,但是我们一起分工合作,最后终于解决了问题,同时,我也要感谢我的指导老师闫老师对我们的悉心指导!
参考文献
[1]张鑫,《单片机原理及应用》。
电子工业出版社,2005
[2]张振荣,《MCS-51单片机原理及实用技术》。
人民邮电出版社,2000
[3]李朝青,《PC机与单片机&DSP数据通信技术选编》。
北京航空航天大学出版社,2003年
[4]胡汉才编著,《单片机原理及其接口技术》,北京,清华大学出版社,1996年
[5]宋戈编著,《51单片机应用开发范例大全》,人民邮电出版社,2012年
[6]杨金泉编著,《单片机原理及应用实验指导》,西南交通大学出版社,2013年
[6]应俊编著,《51单片机原理及应用实验指导》,西安电子科技大学,2013年
[7]朱华编著,《增强型8051单片机快速实践教程》,电子工业出版社,2013年
[8]丁明亮编著,《51单片机应用设计与仿真》,北京航空航天大学出版社,2009年
[9]王守中编著,《一读就通,51单片机开发》,电子工业出版社,2011年
[10]陈忠平编著,《51单片机C语言程序设计经典实例》,电子工业出版社,2012年
附录1单片机与PC通信所用元器件
单片机AT89C51
电平转换
MAX232
DB-串行口COMPIM
LED数码管
7SEG-COM-AN-GRN
晶振
CAP-ELEC
电阻
RES
按钮
BUTTON
排阻
RESPACK-8
电解电容
CAP-ELEC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 PC 串口 通信 课程设计