串口通信论文.docx
- 文档编号:23267031
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:28
- 大小:194.37KB
串口通信论文.docx
《串口通信论文.docx》由会员分享,可在线阅读,更多相关《串口通信论文.docx(28页珍藏版)》请在冰豆网上搜索。
串口通信论文
******
智能仪表综合训练设计说明书
题目:
串行口通信
学生姓名:
**
学号:
0******
专业:
测控技术与仪器
班级:
2007-3
指导教师:
***老师
摘要
本设计采用STC89C52单片机作为下位机,PC机作为上位机。
二者通过RS-232串行口接受或上传数据。
我们要实现串口通信是通过PC机发出信号,然后经过数码管显示。
在本设计中,选用键盘输入数据,共采用四个键盘和四个八段LED数码管显示。
四个键盘分别用来显示、选位按键、加一按键和减一按键,而四个八段LED数码管分别显示个、十、百、千位。
在显示方面采用动态显示。
调试方面是通过串口调试助手完成数据的发送和查看LED数码管的显示出的数字是否与输入一致。
关键词:
串行通信;STC89C52;RS-232
第一章概述
1.1串行通信
1.1.1串行通信的概念和特点
串行通信是指使用一条数据线(另外需要地线,可能还需要控制线),将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。
如图1-1所示。
图1-1串行通信
串行通信的特点是:
数据传送按位顺序进行,最少值只需要一根传输线即可完成,节省传输线。
与并行通信相比还有较为显著的优点,传输距离长,可以几米到几千米。
在长距离内串行数据传送速率比并行数据传送速率快,,串行通信的通信时钟频率容易提高,串行通信的干扰能力十分强,其信号间的互相干扰完全可以忽略。
但是串行通信传送速率比并行通信慢很多,并行通信时间为T,则串行时间为NT。
正是由于串行通信的接线少、成本低,因此它在数据采集和控制系统中得到了广泛的应用,产品也多种多样。
RS-232的通信距离一般为15米,波仕电子的RS-232可以达到500米以上。
1.1.2串行通信的分类
串行传输中,数据时一位一位按照到达的顺序依次传输的,每位数据的发送的接受都需要时钟来控制,发送端通过发送时钟确定数据位的开始和结束,接受端需要在适当的时间间隔对数据流进行采样来正确的识别数据。
接收端和发送端必须保持步调一致,否则数据传输就会出现差错。
为了解决以上问题,串行通信可采用以下两种方法:
同步通信和异步通信。
⑴同步通信:
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。
这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
它们均由同步字符、数据字符和校验字符(CRC)组成。
其中同步字符位于帧开头,用于确认数据字符的开始。
数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。
同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。
⑵异步通信:
串行异步通信即RS232通信,是主机与外部硬件设备的常用通讯方式。
可以双向传输。
如卫星信号接收版收到的数据传导到计算机处理,主要使用串行异步通信处理。
异步通信中,在异步通行中有两个比较重要的指标:
字符帧格式和波特率。
数据通常以字符或者字节为单位组成字符帧传送。
字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。
发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。
接收端检测到传输线上发送过来的低电平逻辑"0"(即字符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。
异步通信中典型的帧格式是:
1位起始位,7位(或8位)数据位,1位奇偶校验位,2位停止位。
1.1.3串行通信的工作模式
通过单线传输信息是串行数据通信的基础。
数据通常是在两个站(点对点)之间进行传送,按照数据流方向可分成三种传送模式:
单工、半双工、全双工。
1.单工形式:
早期的电流环
单工形式的数据传送是单向的。
通信双方中,一方固定是发送端,另一方则固定是接收端,使用一根传输线,如图1-2所示。
图1-2单工形式
2.半双工形式:
RS-485
半双工通信使用同一根传输线,即可发送数据又可接受数据,但不能同时发送和接受。
在任何时刻只鞥由其中的一方发送数据,另一方接受数据。
因此半双工形式既可以使用一条数据线,也可以使用两条数据线。
如图1-3所示。
图1-3半双工形式
半双工通信中每个端口都需要有一个收/发切换电子开关,通过切换来决定数据向哪个方向传输。
因为有切换,所以会产生时间延迟,信息传输效率较低。
但是对于像打印机这样单方向传输的外围设备,用半双工方式就能满足要求了,不用采用全双工方式,可节省一根传输线。
波仕电子的RS-232/RS-485转换器使用了独特的零延时自动收发转换技术,直接从RS-485信号中用硬件提取收发转换控制信号,并具备零延时的性能。
其中零延时指收发切换过程转变时间为0。
在使用时与RS-232通信一样。
3.全双工形式:
RS-232
全双工数据通信分别由两根可以在两个不同的端点同时发送和接收的传输线进行传送,通信双方都能在同一时刻进行发送和接收操作。
如图1-4所示。
图1-4全双工形式
在全双工形式中,每一端都有发送器和接收器,有两条传送线,可在交互式应用和远程监控系统中使用,信息传输效率较高。
1.1.4通信参数
串行端口的通信方式是将字节拆分成一个接着一个的位再传送出去。
接到此信号的一方在将此一个一个的位组合成原来的字节,如此形成一个字节的完整传送。
在传输进行的过程中,双方明确传送的具体方式,否则双方就没有一套共同的译码方式,从而无法了解对方所传过来的信息的意义。
因此双方为了进行通信,必须遵守一定的通信规则,这个共同的规则就是通信端口的初始化。
通信端口的初始化必须对以下参数进行设置。
1.波特率:
这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
2.数据位:
这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。
3.停止位:
用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
4.奇偶校验位:
在串口通信中一种简单的检错方式。
有四种检错方式:
偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步.
第二章总体方案设计
2.1主要原件的选择
2.1.1STC89C52单片机的功能特性描述
STC89C52的结构简单并可以在编程器上实现闪烁式的电擦写达几万次以上.使用方便等优点,而且完全兼容MCS5l系列单片机的所有功能。
STC89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FAlshProgrAmmABleAndErAsABleReAdOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
STC89C51系列单片机是宏晶科技推出的新一代超强抗干扰/高速/低功耗的单片机,是MCS-51系列单片机的派生产品;它们在指令系统中、硬件系统和片内资源与标准的8052单片机完全兼容,DIP-40封装系列与8051为pin-to-pin兼容,指令代码是与8051完全兼容的单片机。
该器件与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
STC89C52单片机具有增强型12时钟/机器周期、6时钟机器/周期任意选择,工作电压为5.5V-3.4V(5V单片机)/3.8V-2.0V(5V单片机);工作频率范围:
0-40MHZ,相当于普通8051的0-80MHZ。
实际频率可达48MHZ。
用户应用程序空间为4K/8K/13K/16K/20K/32K/64K字节;片上集成1280字节/512字节RAM;有32/36个通用I/O口,P1/P2/P3/P4是准双向口;集成ISP(在系统可编程)/IPA(在应用可编程),无需专用的编程器/仿真器,可通过串行口(P3.0/P3.1)直接下载用户程序,8K程序3秒就可以完成一片,具备EEPROM功能,工作温度范围在0-750℃,共有3个16位定时器/计数器,其中定时器T0还可以当成2个8位定时器使用;封装形式有DIP-40,PLCC-44,PQFP-44等。
1)振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
2)芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.1.2RS-232的功能特性描述
通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25)的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。
RS-232标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。
RS-232标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
RS-232的电气特性为:
①EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了规定。
②在TxD和RxD上:
③逻辑1(MARK)=-3V~-15V
④逻辑0(SPACE)=+3~+15V
⑤在RTS、CTS、DSR、DTR和DCD等控制线上:
⑥信号有效(接通,ON状态,正电压)=+3V~+15V
⑦信号无效(断开,OFF状态,负电压)=-3V~-15V
以上规定说明了RS-323C标准对逻辑电平的定义。
对于数据(信息码):
逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(3~15)V之间。
RS-232C的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。
常用的只有10根:
数据发送准备好(Datasetready-DSR)——有效时(ON)状态,表明MODEM处于可以使用的状态。
数据终端准备好(Dataterminalready-DTR)——有效时(ON)状态,表明数据终端可以使用。
请求发送(Requesttosend-RTS)——用来表示DTE请求DCE发送数据,它用来控制MODEM是否要进入发送状态。
允许发送(Cleartosend-CTS)——用来表示DCE准备好接收DTE发来的数据,是对请求发送信号RTS的响应信号。
接收线信号检出(ReceivedLinedetection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。
振铃指示(Ringing-RI)——当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。
发送数据(Transmitteddata-TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。
接收数据(Receiveddata-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。
GND、Sig.GND——保护地和信号地,无方向。
由于RE-232接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率≤20Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺(实际≤15米)。
虽然RS-232不会是在串行通信中最理想的应用元件,但在本次设计中,RS-232完全可以完成设计的基本要求。
2.2显示的设计方案
显示采用LED数码管,一方面与其他显示器件相比,LED数码管显示清晰直观,另一方面LED数码管的成本低,符合经济适用的设计原则。
设计中采用动态扫描的方式把数据输出出来,共用到四个八段LED数码管,分别表示个、十、百、千位,通过按键来实现四位之间的相互转换,手动选择需要显示的位数。
在调用显示程序时,需要输出的值会通过74LS138译码器输出到相应的LED数码管,哪一位数据需要改变,只需手动调节。
2.3按键的设计方案
按键采用的是中断编码按键,这趟既能设计多个按键,而且还不用占用程序太多时序。
按键总共用到4个:
数据传送按键一个,此按键是实现在LED数码管上显示的数据能发送到串口调试助手上。
选择显示位按键一个,用来选中需要操作的数据位,每按一下,都会选中个、十、百、千位中具体的一位。
数据加一按键一个,用来实现数据的加一操作,每按一下,都会使显示数字在原有基础上加一。
数据减一按键一个,与加一按键相反,此按键用来实现数据的减一操作,每按一下,都会使显示位上的数据在原有数据的基础上减一。
2.4晶振的选择
本设计中用到的晶振是11.0592MHZ。
第三章硬件设计
一个单片机应用系统的硬件电路设计包含有两部分内容:
一是系统扩展,既单片机内部的功能单元,如ROM、RAM、I/O口、定时/计数器/中断系统等能量不能满足应用系统的要求时,必须在片外进行扩展,选择适当的芯片,设计相应的电路。
二是系统配置,既按照系统功能要求配置外围设备,如键盘显示器、打印机、A/D、D/A转换器等,要设计合适的接口电路。
本设计以STC89C52单片机为中心,分别设计了按键电路、数据接收和发送电路和LED数码管显示电路。
按键采用的是中断编码按键;串行口数据的接收和发送电路采用RS-232;显示采用的是静态扫描数据显示。
系统电路总体示意图如图3-1所示。
系统总体原理图见附录。
图3-1系统电路总体示意图
3.1单片机最小应用系统的设计
STC89C52单片机是片内有ROM/EPROM的单片机,因此,这种芯片构成的最小的系统简单、可靠。
用STC89C52单片机构成最小应用系统时,只要将单片机接上时钟电路和复位电路即可,如图3-2STC89C52单片机最小系统所示。
其应用特点:
有可供用户使用的大量I/O口线。
内部存储器容量有限。
应用系统开发具有特殊性。
图3-2STC89C52单片机最小系统
3.1.1STC89C52单片机的时钟电路
STC89C52虽然内部有震荡电路,但要形成时钟,必须外部附加电路。
STC89C52单片机的时钟产生方法有两种:
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的震荡电路,在X1、X2引脚上外接定时元件,内部的震荡电路变会产生自激震荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
震荡晶体选择可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,但电容取值对震荡频率输出的稳定性、大小、震荡电路起震速度有少许影响,C1、C2可在20pF到100pF之间取值,但在60pF到70pF时震荡器会有较高的频率稳定性。
所以在本设计中,震荡晶体选择11.0592MHZ,电容选择30pF,如图3-3STC89C52单片机晶振电路所示。
图3-3STC89C52单片机晶振电路
在系统设计上,单片机执行内部程序存储器的指令,所以EA接高电平。
3.1.2STC89C52单片机的复位电路
STC89C52的复位时由外部的复位电路来实现的。
复位引脚RESET通过一个斯密特触发器来抑制噪音。
复位电路通常采用上电自动复位和按键复位两种方式。
最简单的上电自动复位电路上电自动复位时通过外部复位电路的电容来实现的。
只要Vcc的上升时间不超过1ms,就可以实现上电自动复位。
除了上电自动复位外,有时还需要按键手动复位。
本设计就是采用按键手动复位。
按键手动复位有电平方式和脉冲方式两种。
其中电平复位时通过RESET端经电阻与电源Vcc接通来实现的。
按键手动复位电路见图3-4。
时钟频率选用12MHZ时,C103取10uF,R2取10KΩ。
图3-4STC89C52单片机复位电路
3.2中断编码按键是硬件设计
本设计共设置了四个独立按键,分别是数据减一按键、数据加一按键、数据传送按键、选择显示位按键,采用中断方式输入键操作信息。
理论上按键的闭合与否,反映在电压上就是呈现出高电平或低电平,所以通过电平的高低状态的检测,便可确认按键按下与否。
在本设计中只要检测到相应端口的电平为低电平,就说明有键按下。
按键输入的信号会通过相应的端口进行传输,最后由LED显示出来。
图3-5按键系统电路图
3.3数码管显示的硬件设计
串行口通信采用的是共阴极的八段LED数码管,单片机用动态扫描的方式把数据发送出去,同时为选信号会选择具体的显示位置。
在本设计中,在显示部分运用到了74LS138即3线-8线译码器。
下面介绍74LS138的有关信息。
74LS138为3线-8线译码器,共有54/74S138和54/74LS138两种线路结构型式,其工作原理如下:
当一个选通端(E3)为高电平,另两个选通端(E1)和/(E2))为低电平时,可将地址端(A0、A1、A2)的二进制编码在一个对应的输出端以低电平译出。
利用E1、E2和E3可级联扩展成24线译码器;若外接一个反相器还可级联扩展成32线译码器。
若将选通端中的一个作为数据输入端时,74LS138还可作数据分配器。
74LS138可以驱动8个LED,在本设计中只用到4个LED。
从功能上可以看出它的输出只能有一个低电平,也就是可以用来用灌电流的方式进行驱动LED,工作电压Vcc=5V,输出可以直接连接LED,没有带来不稳定因素。
74LS138的引脚图如图3-6所示。
图3-674LS138的引脚图
3.3PCB设计
3.3.1Protel99SE软件
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,是一个32位的设计软件,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。
按照系统功能来划分,Protel99se主要包含以下俩大部分和6个功能模块:
1、电路工程设计部分
(1)电路原理设计部分(AdvancedSchematic99):
电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。
本系统的主要功能是:
绘制、修改和编辑电路原理图;更新和修改电路图零件库;查看和编辑有关电路图和零件库的各种报表。
(2)印刷电路板设计系统(AdvancedPCB99):
印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。
本系统的主要功能是:
绘制、修改和编辑电路板;更新和修改零件封装;管理电路板组件。
(3)自动布线系统(AdvancedRoute99):
本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。
2、电路仿真与PLD部分
(1)电路模拟仿真系统(AdvancedSIM99):
电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。
(2)可编程逻辑设计系统(AdvancedPLD99):
可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。
本系统的主要功能是;对逻辑电路进行分析、综合;观察信号的波形。
利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。
(3)高级信号完整性分析系统(AdvancedIntegrity99):
信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。
3.3.2PCB板的设计流程
一般PCB基本设计流程如下:
前期准备->PCB结构设计->PCB布局->布线->布线优化和丝印->网络和DRC检查和结构检查->制版。
由于本设计只是为了让我们熟悉PCB的生成方式,所以最后并没有制版这一流程。
第一:
前期准备。
这包括准备元件库和原理图。
即准备好原理图SCH。
第二:
PCB结构设计。
这一步根据已经确定的电路板尺寸和各项机械定位,在PCB设计环境下绘制PCB板面,并按定位要求放置所需的接插件、按键/开关、螺丝孔、装配孔等等。
并充分考虑和确定布线区域和非布线区域(如螺丝孔周围多大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 串口 通信 论文