基于串口通信的字符终端的设计.docx
- 文档编号:28920847
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:37
- 大小:709.25KB
基于串口通信的字符终端的设计.docx
《基于串口通信的字符终端的设计.docx》由会员分享,可在线阅读,更多相关《基于串口通信的字符终端的设计.docx(37页珍藏版)》请在冰豆网上搜索。
基于串口通信的字符终端的设计
本科毕业设计论文
题目基于串口通信的字符终端的设计
系别名称电子信息工程0
专业名称电子信息工程0
学生姓名******
班级122902
学号******
指导教师****
毕业时间2013年6月0
设计
论文
毕业任务书
一、题目
基于串口通信的字符显示终端的设计
二、基本内容及重点
(1)查阅串行通信相关方面的资料,掌握关于串行通信的软、硬件设计;
(2)制定出适用于数据采集系统的,通用的,易于实现的串行通信协议;
(3)根据制定的通信协议,设计出下位机串行通信模块;
(4)根据制定的通信协议,利用编程语言设计动态链接库文件;
(5)通过设计一个可视化界面来对单片机程序和动态链接库文件进行调试和验证,并进行改善;
(6)资料的整理以及各种说明文档的撰写。
附加初步总体结构图
At89s52单片机
Lcd1602显示
计算机终端
MAX232电平转换电路
按键
设计总体构思图
(1)硬件设计
通过ALtiumDesigner设计串口通信硬件电路,制作全部电路PCB及所有的元器件的焊接。
(2)软件设计
通过keil软件编写相关程序并进行调试。
三、预期达到的成果
(1)运行于计算机上的程序可通过动态链接文件对单片机进行数据访问和传送;
(2)单片机机串行通信模块具有通用性和可移植性,可以通过简单的设置和改变而嵌入到其它数据采集系统中;
(3)串行通信协议具有稳定性、通用性和可实现性。
四、存在的问题及拟采取的解决措施
1.usb不能正常通信,可能存在的问题?
1、电路焊接错误
2、程序编写不正确,如:
中断未开启。
2.usb通信正常,但显示出现乱码?
初步诊断应该是程序逻辑不正确。
五、进度安排
1.2-3周接受并熟悉任务书,查阅有关书籍、资料,上网查寻相关网站,获取所需的信息。
2.4周根据要求,消化资料,确定思路和总体技术方案,学习Protel软件,提供初稿审核,编写开题报告。
3.5-13周根据第二阶段的设计,进入具体实施阶段,进行硬件电路设计,和软件设计。
并不断改进。
4.14-15周对各阶段的工作整理,完成毕业设计论文撰写及修改。
5.15-16周准备及完成毕业设计答辩
六、参考文献和书目
[1]王伟郑金奎MCS_51单片机主从式多机系统实时通讯的实现.西南自动化研究所,1998年第3期
[2]陈永真.全国大学生电子设计竞赛试题精解选.北京:
电子工业出版社,
[3]张传新徐少杰PC机与MCS_51单片机主从多机通信控制程序的研究.伊图里河分局研究所,铁路计算机应用第5卷第2期.
学生___________指导教师___________系主任___________
基于串口通信的字符显示终端的设计
摘要
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。
51单片机是一种集CPU,RAM,FLASHROM,I/O接口和定时中断系统于一体的微型计算机。
只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。
由于单片机具有体积小,重量轻,功耗低,功能强,价格低,可靠性好等诸多优点,因而在仪器仪表,家用电器,数据采集等一些嵌入式控制领域被广泛应用。
当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算机系统。
将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。
因此,实现单片机与PC机之间的远程通信更具有实际意义。
关键词:
单片机、PC机、发送数据、接收数据串行通信
ABSTRACT
Withcomputertechnology,especiallythesingle-chipmicrocomputertechnologydevelopment,ithasbeenincreasinglyusedmicrocontrollertosomeindustrialcontrolsystemssuchastemperature,flowandpressureparameterstodetectandcontrol.51isasetofsingle-chipCPU,RAM,FLASHROM,I/Ointerfaces,andtimerinterruptsysteminoneofthemicro-computer.Aslongastheexternalpowersourceandthecrystaloscillatorcanbedoneindependentlyofthedigitalsignalarithmetic,logiccontrol,serialcommunicationandotherfunctions.Sincethemicrocontrollerwithasmallsize,lightweight,lowpowerconsumption,powerful,lowprice,goodreliability,andmanyotheradvantages,whichintheinstrumentation,homeappliances,dataacquisition,andsomeareashavebeenwidelyusedinembeddedcontrol.
Whenyouneedtodealwithmorecomplexdata,ortheneedformorecomprehensivedatacollectionprocessandtheneedfordistributedcontrol,themicrocontrollerarithmeticandlogicoperationsnoticeablelackofability,thenoftenrequiretheuseofcomputersystems.ThemicrocontrollerdatacollectedthroughtheserialporttothePCmachine,high-levellanguage,orbythePCdatabaselanguageprocessing,orachievePCremotemicroprocessorcontrol.Therefore,SCMandremotecommunicationbetweenPChasmorepracticalsignificance.
Keywords:
microcontroller,PC,senddata,receivedata,serialcommunication
绪论
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便地连接起来进行通讯。
RS-232-C接口(又称 EIA RS-232-C)是目前最常用的一种串行通讯接口。
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、 调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标 准。
它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间 串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信 号的电平加以规定。
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。
第一章设计总体介绍
1.1单片机的发展阶段
51单片机的发展可分为以下4个阶段。
1,第一代:
单片机探索阶段。
主要有同通用CPU68XX系列和专用MCS-48系列的简单实例应用。
2,第二代:
单片机完善阶段。
具体表现在:
面对对象,突出控制功能,专用CPU满足嵌入功能;寻址范围为8位或16位;规范的种线结构,有8位数据线,16位地址线及多功能异步串行接口(UART);指令系统突出控制功。
3,第三代:
微控制形成阶段。
这一间段已形成系列产品:
以8051系列为代表,如8031,8031和8051等。
4,第四代:
微控制器百花齐放。
表现在:
满足最低层电子技术的应用;大力发展专用型单片机,致力于提高单片机的综合品质。
1.2单片机的发展趋势
单片机的发展趋势可归为以下8个方面。
1、主流机型发展趋势。
2、全盘CMOS化趋势。
3、RISC体系结构的发展。
4、可刷新的FLASHROM成为主流供应状态,便于用户对系统软件进行升级和修改。
5、ISP及基于ISP的开发环境。
6、单片机的软件嵌入。
7、实现全面功耗管理。
8、推行串口扩展总线。
9、
10、
单片机引脚图1-2
1.3单片机的应用模式
单片机应用系统是以单片机为核心构成计算机应用系统,是最具有代表性和使用最广范的专用计算机应用系统。
(1)单片机应用系统的结构。
单片机应用系统的结构分3个层次。
1.单片机:
通常指应用系统主处理机,即所选择的单片机器件。
2.单片机系统:
指按照单片机的技术要求和嵌入对象的资源要求而构成的基本系统,如时钟电路、复位电路和扩展存储器等与单片机构成了单片机系统。
3.单片机应用系统:
指能满足嵌入对象要求的全部电路系统。
在单片机系统的基础上加上面向对象的接口电路,如前向通道、后向通道、人机交互通道和串行通信口(RS232)以及应用程序等。
1.4单片机与PC串口间通讯设计的应用
目前RS-232是PC与通信工业中应用最广泛的一种串行接口,其中EIA代表美国电子工业协会,RS代表推荐标准,232是标识号。
RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。
RS-232采取不平衡传输方式,即单端通信。
单片机之间的串口通信,当传输距离在1.5-15米之间时,可以采用RS-232通讯协议进行数据传输,基于RS-232电气特性的限制,只能实现一点对一点通信(既单机通信)。
1.5设计内容及要求
在计算机控制系统中,不可避免的要采用多机进行通信。
随着单片机在各个领域的广泛应用,利用51实验板等单片机系统与PC机RS232串口相连,实现双向数据通信。
利用可视化程序设计编制串口调试软件,然后向串口发送“1”、“2”、“3”......“8”、“9”、“0”等字符,实验板收到数据后通过lcd1602液晶显示出来,同时会向PC机反馈显示成功的确认信号,即在PC机串口调试软件的接收缓冲区内将显示“display OK!
”等字样。
1.6串口通信原理
所谓"串行通信"是指外设和计算机间使用一根数据信号线,数据在一根数据信号线上按位进行传输,每一位数据都占据一个固定的时间长度。
这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,当然,其传输速度比并行传输慢。
相比之下,由于高速率的要求,处于计算机内部的CPU与串口之间的通讯仍然采用并行的通讯方式,所以串行口的本质就是实现CPU与外围数据设备的数据格式转换(或者称为串并转换器),即当数据从外围设备输入计算机时,数据格式由位 (bit)转化为字节数据;反之,当计算机发送下行数据到外围设备时,串口又将字节数据转化为位数据。
串行端口的本质功能是作为CPU和串行设备间的编码转换器。
当数据从 CPU经过串行端口发送出去时,字节数据转换为串行的位。
在接收数据时,串行的位被转换为字节数据。
在Windows环境(Windows NT、Win98、Windows2000)下,串口是系统资源的一部分。
应用程序要使用串口进行通信,必须在使用之前向操作系统提出资源申请要求(打开串口),通信完成后必须释放资源(关闭串口)。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。
尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。
它很简单并且能够实现远距离通信。
比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。
典型的串口用于ASCII码字符的传输。
通信使用3根线完成:
(1)地线,
(2)发送,(3)接收。
由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。
其他线用于握手,但是不是必须的。
串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。
对于两个进行通行的端口,这些参数必须匹配:
a,波特率:
这是一个衡量通信速度的参数。
它表示每秒钟传送的bit的个数。
例如300波特表示每秒钟发送300个bit。
当我们提到时钟周期时,我们就是指波特率例如如果协议需要4800波特率,那么时钟是4800Hz。
这意味着串口通信在数据线上的采样率为4800Hz。
通常电话线的波特率为14400,28800和36600。
波特率可以远远大于这些值,但是波特率和距离成反比。
高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。
b,数据位:
这是衡量通信中实际数据位的参数。
当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7和8位。
如何设置取决于你想传送的信息。
比如,标准的ASCII码是0~127(7位)。
扩展的ASCII码是0~255(8位)。
如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。
每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。
由于实际数据位取决于通信协议的选取,术语 “包”指任何通信的情况。
c,停止位:
用于表示单个包的最后一位。
典型的值为1,1.5和2位。
由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。
因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。
d,奇偶校验位:
在串口通信中一种简单的检错方式。
有四种检错方式:
偶、奇、高和低。
当然没有校验位也是可以的。
对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。
例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。
如果是奇校验,校验位位1,这样就有3个逻辑高位。
高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。
这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。
第二章系统设计
2.1硬件方案选择
2.1.1单片机的选择
本设计采用的是AT89S52单片机,AT89S52是一种带8K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。
它是一种高效微控制器,因为它更经济实惠,用起来灵活方便,而且习惯了用这种型号的单片机,所以选择AT89S52单片机。
2.1.2电平转换
本设计采用MAX232芯片进行电平转换,MAX232芯片是美信公司专门为电脑的RS232标准串口设计的接口电路,使用+5V单电源供电,它的作用就是完成TTL电平与RS232电平的转换。
PC机的串行口采用的是标准的RS232接口,单片机的串行口电平是TTL电平,而TTL电平特性与RS232的电气特性不匹配,因此为了使单片机的串行口能与RS232接口通信,必须将串行口的输入/输出电平进行转换。
通常用MAX232芯片来完成电平转换。
2.1.3单片机与pc机通信原理
MCS-51单片机有一个全双工的串行通讯口UART。
利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。
所以单片机和PC机之间可以方便地进行串口通讯。
单片机串口有3条引线:
TXD(发送数据)、RXD(接收数据)和GND(信号地)。
因此在通信距离较短时可采用零MO·
DEM方式,简单三连线结构。
PC机有两个标准的RS.232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了Pc机与MCS-51机之间能可靠地进行串行通信,需要用电平转换芯片,我们采用了MAXIM公司生产的专用芯片MAX232进行转换。
电路如图所示。
图2.2MAX232工作原理图
2.2软件方案选择
2.2.1PC机编程方案选择
本设计采用VC6.0++来实现编程,上位机与单片机进行通信的程序编写可用VB、VC等软件。
由于VB作为面向对象的编程工具不够完全,效率比VC低,提供的命令语言环境较弱,通过串口设备一次最多只能交换16B的数据,对较大数据量的传输存在很大的局限性,很难实现较为复杂的数据处理,VC6.0++是一种功能强大的面向对象的Windows编程开发平台。
VC6.0的优点是界面简洁,占用资源少,操作方便。
所以本设计采用VC作为串口编程工具。
2.2.2单片机编程方案选择
本设计单片机的编程选择C语言编写,因为它简洁紧凑、灵活方便、运算符丰富、数据结构丰富、C是结构式语言、C语法限制不太严格,程序设计自由度大、C语言允许直接访问物理地址,可以直接对硬件进行操作、C语言程序生成代码质量高,程序执行效率高,一般只比汇编程序生成的目标代码效率低10へ20%、C语言适用范围大,可移植性好C语言有一个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适用于多种机型。
C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画它是数值计算的高级语言。
所以我选用C语言来编写此程序。
2.3总体方案选择
温度传感器测量出来的温度值由单片机采集出来,然后单片机再将采集出的温度数据处理后,通过串行口发送给上位机。
PC机
MAX232
AT89C5111
图2.1总体设计方案流程图
2.4系统总体设计思路
本文要求设计一个51单片机与PC串口间通讯系统的字符终端显示,实现单片机与PC机之间的远程通信。
设计分发送和接收两大模块,发送部分通过硬件电路的引用。
其中包括RS-232接口电路、MAX232接口电路,引用相应的管脚相连,并将相应的软件程序转入电路中,即可运行。
当电路是相对独立时,可直接调速电路参数值,其影响和干扰就小。
在满足发射和接收模块的要求后可单独对控制进行调整,程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。
利用vc++编写上位机数据发送接收软件,作为给单片机发送数据或接收单片机发送数据的软件。
用单片机设计好硬件电路,给单片机进行编程,从而是单片机能够接收pc机传送来的数据,并通过lcd1602液晶显示出来从而达到设计要求。
第三章单元硬件电路设计
3.1硬件实现的过程
在实现单片机与PC机之间通信或单片机与单片机之间远程距离通信时通常采用标准串行总线通讯接口。
比如RS-232C、RS-422、RS485等。
在这些串行总线接口标准中,是在异步串行通信中应用最广的标准总线,它实用于短距离或带调制解调器的通信场合。
下面以RS-232标准串行总线接口为例,简单介绍单片机与PC机之间串行通信的硬件实现过程。
3.1.1单片机主要特性
·与MCS-51兼容
·4K字节可编程闪烁存储器
·寿命:
1000写/擦循环
·数据保留时间:
10年
·全静态工作:
0Hz-24MHz
·三级程序存储器锁定
·128×8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
单片机AT89C51的引脚说明:
图3.1AT89C51的引脚排列
引脚描述:
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路双向I/O口,即地址/数据总线复用口。
作为输出口时,每一个管脚都能够驱动8个TTL电路。
当“1”被写入P0口时,每个管脚都能够作为高阻抗输入端。
P0口还能够在访问外部数据存储器或程序存储器时,转换地址和数据总线复用,并在这时激活内部的上拉电阻。
P0口在闪烁编程时,P0口接收指令,在程序校验时,输出指令,需要接电阻。
P1口:
P1口一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL电路。
对端口写“1”,通过内部的电阻把端口拉到高电平,此时可作为输入口。
因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。
闪烁编程时和程序校验时,P1口接收低8位地址。
P2口:
P2口是一个内部带有上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL电路。
对端口写“1”,通过内部的电阻把端口拉到高电平,此时,可作为输入口。
因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。
在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器时,P2口线上的内容在整个运行期间不变。
闪烁编程或校验时,P2口接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部电阻的8位双向I/O口,P3口输出缓冲故可驱动4个TTL电路。
对P3口写如“1”时,它们被内部电阻拉到高电平并可作为输入端时,被外部拉低的P3口将用电阻输出电流。
P3口除了作为一般的I/O口外,更重要的用途是它的第二功能,如下表所示
端口引脚
第二功能
P3.0
RXD
P3.1
TXD
P3.2
INT0
P3.3
INT1
P3.4
T0
P3.5
T1
P3.6
WR
P3.7
RD
表2..1P3口第二功能
P3口还接收一些用于闪烁存储器编程和程序校验的控制信号。
RST:
复位输入。
当震荡器工作时,RET引脚出现两个机器周期以上的高电平将使单片机复位。
ALE/
:
当访问外部程序存储器或数据存储器时,ALE输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器,ALE以时钟震荡频率的1/16输出固定的正脉冲信号,因此它可对输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲时,闪烁
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 串口 通信 字符 终端 设计