PC机与MCS51单片机的串口通信Word格式文档下载.docx
- 文档编号:22524263
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:46
- 大小:288.05KB
PC机与MCS51单片机的串口通信Word格式文档下载.docx
《PC机与MCS51单片机的串口通信Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《PC机与MCS51单片机的串口通信Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。
5.1单片机串行口通信技术25
5.2PC机串口通信技术28
6软件设计30
6.1单片机通信程序设计30
6.2 PC机通信程序设计
PC机MCS-51单片机的串口通信
1.1选题背景
在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。
目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。
在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。
为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。
较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。
主机的作用一是要向从机发送各种命令及参数:
二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。
从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。
用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。
同时,系统的更改和扩充极为容易。
MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。
串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。
串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容的设备也带有RS-232口。
同时串口通讯协议也可以用于获取远程采集设备数据。
所以,深入的理解学习和研究串口通信相关知识是非常必要的。
此次毕业设计选题为“PC机与MCS-51单片机的串口通讯”,使用51单片机来实现一个主从式的总线通讯系统。
通过此次设计,对串口通讯的原理和应用融会贯通,为以后的时间工作储备知识和研究方法。
1.2目的和意义
用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。
串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。
1.3国内外发展现状
在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。
2.1系统功能概述
系统主要实现功能是:
由PC机键盘的输入发送给MCS-51单片机,单片机接收到PC机发来的数据后,回送同一数据给PC机,并在PC机屏幕上显示出来。
只要PC机屏幕上显示的字符与键入的字符相同,即表明PC机与单片机间通信正常,红外通信成功。
微机与单片机红外线通信系统,由于我们本次毕业设计采用的是红外通信方式,考虑到红外通信存在发射与接收之间的相互干扰,所以本次设计采用是半双工(HalfDuplex)串口通信,微机与单片机两个部分。
微机部分是通过串口RS-232的TXD口发送数据,经电平转换电路之后送红外发射电路发射出去,由单片机部分接收,并相应的处理、显示之后再经红外发射电路返回给PC机,PC机检验发送与接受是否一致,标志着设计的成与败。
微机部分用VisualBasic软件编写的界面作为PC机部分与单片机进行串口之间通信,其界面的设计、电平转换电路和红外发射、接收电路以及单片机部分的电路的设计等将在以下章节作详细地设计。
从实用的角度看,评价一个系统实用价值的重要标准,就是这个系统对社会生活和科技观念有多大的贡献。
随着生活节奏的加快,人们将更加钟情于个人信息终端的智能化互联。
另一方面,用无线设备来代替安全隐患的工作区采集数据,更加安全。
因此,红外线有其不可估量的实用价值!
2.2系统要求及主要内容
将微机中的二进制或ASCⅡ数据通过微机的RS-232串口经红外发射器发送缎带单片机,再由单片机将接收的二进制或ASCⅡ数据通过串口经红外发射器发送给微机,在微机中检查发送的二进制或ASCⅡ数据与接收到的二进制数据是否一致。
(1) 单片机部分主要完成接收微机发送的数据和将接收的数据回送给
机;
(2) 红外发发射部分完成将微机或单片机发送的数据通过红外发送给红外接收器。
(3)红外接收部分主要完成接收红外信号并将红外信号转换为数据送给计算机。
(4)PC机部分主要完成将数据的发送给单片机和接受单片机发送的数据。
2.3系统技术指标
微机与单片机红外线通信的主要完成以下功能:
单片机部分:
(1)设计并制作单片机的串口通信的硬件系统;
(2)用汇编语言编制串口通信软件;
(3)要求把从微机发送来的原样发送回微机;
红外发射部分:
(1)自行设计红外发送器
(2)红外发送距离大于50cm
(3)系统稳定、抗干扰能力强
红外接收部分:
(1)自行设计红外接收器
(2)红外接收器的稳定、抗干扰能力要强
PC机部分:
(1)在微机部分采用VisualBasic编制RS—232通信软件
(2)通信软件具有数据发送和数据接受编辑框
(3)通信软件要实现发送数据与接受数据一致
根据系统要实现的功能以及要求,要实现单片机和PC机之间的红外通信,主要是实现上下微机之间能够互通信息,而采用红外通信,就是利用这种非电信号传送控制信息和数据信息,省去了有线方式信号线的直接连接,属完全隔离状态,安全可靠,能有效地隔离电气干扰,同时使用简单,移动方便,实现了通信双方非接触式的数据传送。
它可以应用于高压、辐射、潮湿、有毒气体、粉尘等不利于人们现场控制的环境下,这种红外通信方案也可用于其它遥控、遥测的单片机应用场合。
红外通信的重点在于信号的调制与解调,完成低误码率、高速率的信息传输。
目前红外通信技术和集成技术的发展已将此方面做的比较平民化了。
以普通的集成红外头为核心的红外收发模块即可完成此功能。
单片机可通过编程控制外围部件,能实现较高的自动化程度。
以它为系统核心的控制模块可实现主从控制,完成预定的任务。
系统的进一步升级是与上位机实现红外通信,实现与整个网络的连通,达到资源共享和远程控制,这在当今这个信息化的社会里是非常有价值的!
3.1硬件电路设计思路
硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。
89C51单片机通过普通I/O口与PC机RS-232串口实现通信的硬件接口电路如图2所示。
由于PC系列微机串行口为RS232C标准接口,与输入、输出均采TTL电平的89C51单片机在接口规范上不一致,因此TTL电平到RS-232接口电平的转换采用MAXIM公司的MAX232标准MAX232CPE接口芯片,该芯片可以用单电压(+5V)实现RS232接口逻辑“1”(-3V~-15V)和逻辑“0”(+3V~+15V)的电平转换。
(1)单片机部分硬件设计思路:
本次设计单片机部分的硬件框图如图3-1所示。
图3-1 单片机部分硬件框图
(2)PC机部分硬件设计思路:
PC机与单片机之间的红外数据收发装置的结构非常简单,其结构框图如图3-2所示。
PC机及其兼容机的标准串行通信接口RS-232C有一个9芯的D型插座,该红外收发装置便是通过此接口插座与计算机连接,并由计算机通信软件控制其数据的收发,并由计算机通信软件控制其数据的收发。
由于数据的传输采用了38KHZ信号进行调制、解调和发射、接收,因而更加安全可靠。
具体的电路原理图将在第三章中作详细地分析设计。
图3-2 PC机部分硬件框图
3.2软件设计思路
软件需要解决的是设定PC机串口和单片机串行口的工作方式,包括串行口的通讯速率、奇偶校验位、停止位等。
软件工作流程是:
PC机发送一个数据信号,通过红外通信方式传送到单片机,单片机接收数据作相应的处理后回送到PC机。
经测试,此系统可以在2400kbit/s速率下稳定工作,比较理想。
(1)单片机部分软件设计思路:
AT89C51单片机的P3.0和P3.1口分别串行通信的接收和发送端,其接口程序主要由INPUT发送子程序和OUTPUT接收子程序组成。
通信速率2400bit/s,帧格式为N.8.1。
发送时,先发送一个起始位(低电平),接着按低位在先的顺序发送8位数据,最后发送停止位。
接收时,先判断P3.0接收端口是否有起始低电平出现,如有则按低位在先的顺序接收8位数,最后判断P3.0口是否有停止高电平出现,如有则完成一个数据接收,否则继续等待。
其中软件编写要严格按照异步通信的时序进行,每bit位传送时间间隔按通信速率2400bit/s计算为833μs,系统要求单片机晶振为11.0592MHZ。
(2)PC机部分软件设计思路:
PC机有多种支持串行通信的软件,VisualBasic通信语句、C语言等等,本次毕业设计准备采用VisualBasic语言来实现PC机部分的通信,VB具有面向对象的设计方法,友好的用户界面,简单方便的串行通讯和实用性强等优点。
4硬件电路设计
硬件的功能由总体设计所规定,硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的电路原理图,必要时做一些部件实验,以难电路图的正确性,以及工艺结构的设计加工、印制板的制作、样机的组装等。
根据本次毕业设计的要求以及要实现的功能,查阅了很多有关PC机与单片机之间通信的书籍以及红外通信方面的知识,对硬件电路的设计做了很深刻的研究。
我们将整个PC机与单片机之间的红外通信系统分成三大模块:
PC机模块、红外通信模块(红外发射和红外接收)以及单片机模块,各个模块都承担着各自的任务。
在设计单片机模块时,考虑到单片机本身并不具备红外通信接口,利用单片机的串行接口与单片机外的红外发射和接收电路,组成一个应用于单片机系统的红外串行通信接口;
PC机通过RS-232进行数据的传输,考虑到PC微机串口的电平和单片机的输入输出的TTL电平不一致,在整个电路设计时要考虑电平转换电路,除此之外本系统的传输是采用的无线通信,因此还需要设计红外发射与接收电路,具体每一部分的设计将在以下章节中详细分析。
4.1单片机模块
根据系统功能要求以及单片机硬件电路设计思路(如图2-1)对单片机模块进行设计,要使单片机准确的接收与发送,并且使接收到的数据能显示出来,所以整个单片机部分分为时钟电路、复位电路、执行元件以及显示电路四个部分。
4.1.1执行元件
本次毕业设计的单片机部分的执行元件我们采用MCS-51T系列的AT89C51(其引脚图如图4-1),由于它本身带有一定的优点。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图4-1 AT89C51引脚图
一、主要特性:
·
与MCS-51兼容
4K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位定时器/计数器
5个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
二、管脚说明:
(1)VCC:
供电电压;
(2)GND:
接地;
(3)P0口:
P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
(4)P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
(5)P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
(6)P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表4-1所示:
表4-1P3口的第二功能
引脚
第二功能
信号名称
P3.0
RXD
串行数据接收
P3.1
TXD
串行数据发送
P3.2
INT0
外部中断0请求
P3.3
INT1
外部中断1请求
P3.4
T0
定时器/计数器0计数输入
P3.5
T1
定时器/计数器1计数输入
P3.6
WR
外部RAM写选通
P3.7
RD
外部RAM读选通
P3口同时为闪烁编程和编程校验接收一些控制信号。
(7)RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
(8)ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
(9)/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
(10)/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
(11)XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
(12)XTAL2:
来自反向振荡器的输出。
三、振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
四、芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
4.1.2时钟电路
时钟电路是计算机的心脏,它控制着计算机的工作节奏。
MCS-51单片机允许的时钟频率是因型号而异的典型值为12MHZ
MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。
AT89C51是属于CMOS8位微处理器,它的时钟电路在结构上有别于NMOS型的单片机。
CMOS型单片机内部(如AT89C51)有一个可控的负反馈反相放大器,外接晶振(或陶瓷谐振器)和电容组成振荡器,图4-2为CMOS型单片机时钟电路框图。
振荡器工作受/PD端控制,由软件置“1”PD(即特殊功能寄存器PCON.1)使/PD=0,振荡器停止工作,整个单片机也就停止工作,以达到节电目的。
清“0”PD,使振荡器工作产生时钟,单片机便正常运行。
图中SYS为晶振或陶瓷谐振器,振荡器产生的时钟频率主要由SYS参数确定(晶振上标明的频率)。
电容C1和C2的作用有两个:
其一是使振荡器起振,其二是对振荡器的频率f起微调作用(C1、C2大,f变小),其典型值为30pF。
图4-2 CMOS型单片机时钟电路框图
4.1.3复位电路
计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。
MCS-51单片机有一个复位引脚RST,它是史密特触发输入(对于CHMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后,该引脚上出现2个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51保持复位状态。
此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。
RST变为低电平后,退出复位,CPU从初始状态开始工作。
本次毕业设计采用的复位方式是自动复位方式。
对于CMOS(AT89C51)单片机只要
接一个电容至VCC即可(见图4-3)。
在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使MCS-51有效的复位。
RST端在加电时应保持的高电平时间包括VCC的上升时间和振荡器起振的时间,Vss上升时间若为10ms,振荡器起振的时间和频率有关。
10MHZ时约为1ms,1MHZ时约为10ms,所以一般为了可靠的复位,RST在上电进应保持20ms以上的高电平。
图3-8中,RC时间常数越大,上电进RST端保持高电平的时间越长。
当振荡频率为12MHZ时,典型值为C=10uf,R=8.2kΩ。
若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运转。
图4-3上电复位电路
4.1.4显示电路
本次毕业设计的显示电路采用LED数码管动态显示,LED(Light-EmittingDiode)是一种外加电压从而渡过电流并发出可见光的器件。
LED是属于电流控制器件,使用时必须加限流电阻。
LED有单个LED和八段LED之分,也有共阴和共阳两种。
一、显示器结构
常用的七段显示器的结构如图4-4(a)所示。
发光二极管的阳极连在一起的称为共阳极显示器(如图4-4(b)所示),阴极连在一起的称为共阴极显示器(如图3-4(c)所示)。
1位显示器由八个发光二极管组成,其中七个发光二极管a~g控制七个笔画(段)的亮或暗,另一个控制一个小数点的亮和暗,这种笔画式的七段显示器能显示的字符较少,字符的开头有些失真,但控制简单,使用方便。
(a)外形(b)共阳极(C)共阴极
图4-4七段发光显示器的结构
二、显示方式
为了节省I/O口线,我们采用的动态显示方式。
所谓动态显示,就一位一位地轮流点亮各位显示器(扫描),对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。
调整电流和时间参数,可实现亮度较高较稳定的显示。
若显示器的位数不大于8位,则控制显示器公共极电位只需8位口(称为扫描口),控制各位显示器所显示的字形也需一个8位口(称为段数据口)。
4位共阴极显示器和AT89C51的接口逻辑如图8-7所示。
AT89C51的P0口作为段数据口,经同相驱动器7407接显示器的各个段;
P2口作为扫描口,经反相驱动器7406接显示器公共极。
对于图4-5中的4位显示器,在AT89C51RAM存贮器中设置四个显示缓冲器单元30H-34H,分别存放4位显示器的显示数据,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PC MCS51 单片机 串口 通信