51单片机与PC的RS232接口串行通信实现研究大学毕业论文毕业设计学位论文范文模板参考资料.docx
- 文档编号:25382329
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:26
- 大小:226.85KB
51单片机与PC的RS232接口串行通信实现研究大学毕业论文毕业设计学位论文范文模板参考资料.docx
《51单片机与PC的RS232接口串行通信实现研究大学毕业论文毕业设计学位论文范文模板参考资料.docx》由会员分享,可在线阅读,更多相关《51单片机与PC的RS232接口串行通信实现研究大学毕业论文毕业设计学位论文范文模板参考资料.docx(26页珍藏版)》请在冰豆网上搜索。
51单片机与PC的RS232接口串行通信实现研究大学毕业论文毕业设计学位论文范文模板参考资料
目录
一概述4
1.1引言4
1.2设计目的和意义4
二方案功能详述及论证5
2.1方案功能详述5
2.1.1总体功能设计5
2.1.2具体功能模块设计5
2.2方案论证5
三系统硬件设计9
3.1选用设备和设计总框图9
3.2串行接口通信硬件线路图9
3.3电源电路11
3.4主要芯片说明11
3.4.1单片机AT89C51概述11
3.4.2MAX232芯片简介:
15
3.4.3RS232串行接口简介16
四系统软件设计18
4.1波特率的设置18
4.2系统软件设计参考程序如下19
4.3系统软件仿真20
4.4系统程序流程图22
五结论与展望23
参考文献25
摘要
本文设计了一种采用51系列单片机与采用了MAX232芯片的PC通过标准的RS232接口实现串行通信的功能。
为了使系统所需电缆线少,接线简单,稳定可靠工作,采用了零调制三线经济行的连接方式,这是进行全双工通信所必需的最少线路。
应为MCS-51输入,输出电平为TTL电平,而PC配置的是RS-232标准接口,二者的电气规范不同,所以要加电平转换电路。
本文采用了MAX232芯片的PC和51单片机串行接口电路,与PC相连采用9芯标准插座。
在本文描述的系统中,硬件线路图根据本次设计的要求,采用CAD制图软件绘制,流程图采用Word和Photoshop软件绘制。
本次设计的特色在于采用了零调制三线经济型连接电路,,该电路的优点是成本低、电路简单。
关键词:
单片机;PC机;串行通信;数据交换
一概述
1.1引言
当今,串口的应用始于1960,RS-232的初始版本于1969得到认证。
其标准主要适用于通信设备如电话调制解调器,串行接口称为COM口。
目前串口通信的最大速率,RS-232是20Kbps,RS-422/485是300Mbps。
就距离范围来说,RS-232通常为50英尺,RS-422/485为4000英尺,当然还可以用中继器进行扩展。
一个串行局域网的最大设备数量为32个,通过中继器这个数值还可以更大,但最大不能超过所用设备的地址限制(通常为256)。
多年以来,串行技术与连接设备都得到了很大的发展。
串口设备仍有大量应用,设备电缆和软件的大量库存证明了这一点。
毫无疑问,串行连接仍然是工商业及医疗应用中的广泛标准。
1.2设计目的和意义
(1)设计目的
串行通信仅仅使用一条数据线,就可以将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,如计算机与计算机、计算机与单片机以及外设之间的远距离通信
(2)设计意义
计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。
由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。
二方案功能详述及论证
2.1方案功能详述
2.1.1总体功能设计
通过编写单片机侧的串口通信程序,设置相应的波特率如9600b/s。
使单片机接收到PC机所发送的命令后,收到正确的命令后开始将“天净沙·秋思”这篇短文的数据传送到PC机。
2.1.2具体功能模块设计
本文论述的单片机与PC机串行口通信包括如下功能模块。
(1)单片机系统模块:
实现和PC机通信的串口通信程序。
(2)外围电路模块:
实现单片机和PC机之间的串口电平转换。
(3)通信程序模块:
一方面是单片机的程序,另一方面是PC机的通信程序。
2.2方案论证
本文采取了专用电平转换芯片MAX232实现PC机与MCS51单片机之间的串行通信方法。
通过对系统的通信方式选择89C51通信波特率的设置,通信的设置,以及对接口电路的软件和硬件的设计分析,展示了该电路的实用信。
系统还通过“伟福51软件仿真器”进行编译,本系统的设计和具体实际应用相结合,系统的安全性、可靠性及实用性强,操作简单、扩展功能强,设计具有良好的可行性和可操作性。
按照单片机系统的设计方法,这一阶段,我需要考察实际应用环境的需要,确定单片机与PC机串行通信系统的整体设计方案。
它包括系统的可行性分析、功能分析、单片机选型以及系统硬软件的分工问题。
2.2.1可行性分析
这次设计是我的毕业设计任务,在指导老师的指导下和搜集、查阅相关资料、确定单片机系统能达到需要的设计目标,而且达到目标需要的经济成本没有超出可接收的范围。
2.2.2系统功能分析
单片机以其体积小、价格低、抗干扰性好等特点,在现在控制系统中常用在操作现场进行数据采集,以及实现现场控制中。
但是由于其数据存储容量和数据处理能力都较低,所以一般情况下要通过通信手段使它与PC机相连,把所采集到的数据传送到PC机上,再在PC机上进行数据处理,充分发挥两者各自的优势。
由于单片机输入、输出电平是TTL电平,而PC机配置的是RS—232标准串行接口,两者的电气规范不一致,因此要完成单片机与PC机的数据通信,必须对单片机输出的TTL电平进行电平转换。
单片机和PC的串口通信原理方案如图2-1所示。
图2-1串口通信原理方案
2.2.3单片机选型
单片机的选型的依据为,应用系统本身对数据处理能力的要求,以及是否有其他方面的特殊需要(低功耗、工作温度、接口电路)的原则来确定。
在此,本人选择Intel公司的MCS-51系列单片机中的8051单片机。
MCS-51系列的单片机是Intel公司在1980年推出的8位机系列,8051为这一系列的代表产品。
8051单片机内部包括8位CPU、4KB片内ROM、128KB片内RAM、4个8位并口、一个全双工的串口,支持64KB寻址空间,并提供5个中断源和两级中断。
其性能指标如表2-1。
表2-1MCS-51系列单片机8051的性能指标
单片机
片内ROM(KB)
片内ROM
(KB)
I/O并口
计
数
器
串行口
DMA
A/D
中断源
空闲和掉电方式
类型
型号
ROM
8051
4
128
4
2
16
UART
无
无
5
无
以上我选用的单片机的种类和型号,取决于对该类型号的熟悉程度以及手头所具备开发系统的条件。
而在第六章我用单片机实验板对系统软件进行调试所用到的单片机是STC89C52RC,其特点是可以直接用串口进行ISP编程,对于使用就变得很简单了,我在这里作一个说明。
2.2.4系统硬软件的功能设计
对系统的各项功能进行划分,确定软件和硬件的分工问题,根据图2-1单片机和PC的串口通信原理方案,实现该方案需要从通信协议(串行通信总线标准接口)、硬件电路和程序3个方面考虑。
1)通信协议
标准接口,就是明确定义若干信号线,使接口电路标准化、通用化,借助串行通信标准接口,不同类型的数据通信设备很容易实现它们之间的串行通信连接。
标准异步串行通信接口有以下几类:
RS-232C、RS-232E、RS-449、20mA电流环、USB通用接口。
根据协议的广泛性和此次设计为短距离通信,并且PC机配置的是RS—232标准串行接口等条件。
标准接口即通信协议采用基本的RS-232,但是在具体运用上可以根据实际的需要进行变化。
例如,当对传输的数据要求不高时,可以采用无奇偶检验的10位数据,而需要数据稳定性时,可以采用软件握手的方法。
根据单片机对串口的使用还有初始化串口的要求,其通信协议也需要结合单片机的信号和在实际使用中的通信方式而定。
2)硬件电路
如图2-1所示,数据通信的硬件上采用3线制,将单片机和PC串口的3个引脚(TXD、RXD、GND)分别连在一起,即将PC机和单片机的发送数据线TXD与接收数据线RXD交叉连接,两者的地线GND直接相连,而其他信号线如握手信号线均不用,采用软件握手的方式。
这样既可以实现预定的任务又可以简化电路设计。
但由于单片机的TTL逻辑电平和RS-232的电气特性完全不同,RS-232的逻辑0电平规定为+5~+15V之间,逻辑1电平为-5~-15V之间,因此在将PC机和单片机的TXD和RXD交叉连接时必须进行电平转换,这里我选用的是MAX232电平转换芯片。
3)传输程序
单片机和PC的通信,在程序上涉及两个部分的内容:
一方面是单片机的C51程序或者汇编程序,完成数据的收发。
二是PC机的串口通信程序和界面的编制。
2.2.5本章小结
经过这一阶段的设计,已经有比较成型的系统设计框架,对软硬件系统的分工有较明确的方案。
现在总结如下:
1)确定单片机与PC机串行数据通信系统的通信方案,如图2-1;
2)选择Intel公司的MCS-51系列单片机中的8051,实验板对系统软件进行调试所用到的单片机是STC89C52RC;
3)串行通信总线标准接口采用RS-232C;
4)串行数据通信的硬件上采用3线制,选用的是MAX232芯片进行单片机与RS-232接口的电平转换;
5)单片机端用C51程序或者汇编程序进行编程,完成数据的收发,PC机端完成串口通信程序和界面的编制。
此时,可以开始进行系统的硬件设计工作了。
三系统硬件设计
3.1选用设备和设计总框图
本系统选用8051(4KBEPROM)单片机一片,MAX232芯片的PC一台、连线若干进行设计。
系统总框图如图3.1所示。
图3.1系统总框图
从设计方框图中可以看出用此方案设计的系统由电源电路、MAX232串行接口电路、单片机外围电路、LED显示电路。
单片机能够接收PC机所发送的命令,收到正确的命令后开始将待发送的数据传送到PC机。
向PC通信传送一首诗歌或者短文。
3.2串行接口通信硬件线路图
串行接口硬件线路图如图3.2所示。
8D7Q
2Q
1D
1Q
74LS373
GE
图3.2串行接口硬件线路图
本设计的串行通信部分主要是由MAX232电平转换电路,其原理是:
MAX232芯片把单片机引脚的COMS电平(0—5V)转换为RS232电平(-12V—+12V),AT89S52单片机有一个全双工的串行通信口,而PC机有一个RS232的通信接口。
只要用RS232D型9针的引脚的双边母头接到PC机上,而另一头和MAX232相连接,MAX232的输出再和AT58S52相连就可以实现单片机和PC机的串行通信[1]。
具体连线如上图3.2所示,AT89S52的串行通信引脚的TXD和RXD分别接到MAX232的T1IN和T1OUT上,MAX232的R1OUT和R1IN分别接到RS232的2、3上,RS232的5脚接地。
MAX232外围元件只有四个电容,根据MAX232的典型应用电路,可取10μF∕50V的电解电容。
单片机外围电路由LED显示电路、晶振电路组成。
3.3电源电路
电源电路如图3.3所示。
图3.3电源电路
电源电路是整个系统工作的能量来源,主要由变压器、桥式整流电路、滤波电容电路、低功率三端稳压器LM7805等组成。
上图中我们设计的是系统中所需的+5V的电源。
其工作原理是变压器把市电220V的交流电降压为低压交流电,通过桥式整流电路把低压交流整流为含有脉动和谐波成份的直流电,再通过滤波电容把其中含有的脉动的交流成份滤出,就成为平缓的直流电,直流电压不够稳定,它再通过三端稳压器LM7805把电压稳定在一个基本不变的数值上,LM7805输出的稳定的电压就可以作系统的电源用了。
3.4主要芯片说明
3.4.1单片机AT89C51概述:
1.MCS-51单片机的特点
MCS-51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,他们的特点:
(1)面向控制的8位中央处理器(CPU)
(2)具有布尔处理(即位处理)能力
(3)64KB程序存储器空间
(4)64KB数据存储器空间
(5)4KB片内程序存储器(EPROM)
(6)128B内部数据存储器(RAM)
(7)一组特殊功能寄存器(SFR)
(8)32根双向并可按位寻址的I/O口线
(9)2个16位定时器/计数器
(10)5个中断源两个外中断、两个定时/计数器中断和一个串行中断
(11)一个全双功异步串行口
(12)片内振荡器和时钟电路
2.MCS-51单片机的结构
下图是MCS-51系列单片机的内部结构示意图,如图3.4所示。
图3.4MCS-51结构框图
3.MCS-51的引脚说明:
MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
图3.5MCS-51引脚示意图
(1)主电源引脚Vcc和Vss
VCC(40脚):
接+5V电源正端;
VSS(20脚):
接+5V电源地端。
(2)外接晶体引脚XTAL1和XTAL2
XTAL1(19脚):
接外部石英晶体的一端。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
XTAL2(18脚):
接外部晶体的另一端。
在单片机内部,接至片内振荡器的反相放大器的输出端。
(3)RST/VPD(9脚):
RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。
VPD是备用电源输入端,当单片机掉电或电源发生波动导致电源电压下降到一定值时,备用电源通过VPD端给内部RAM供电,保持其中的信息,直至单片机工作电压恢复正常。
(4)ALE(30脚):
当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低8位地址, 的功能是8751等片内含有ROM器件的编程脉冲输入端。
(5)/PSEN(29脚):
片外程序存储器读选通信号输出端,低电平有效。
(6)/VPP(31脚):
为访问外部程序存储器控制信号,低电平有效。
VPP是编程电源输入端。
(7)P0口(39脚~32脚):
P0.0~P0.7统称为P0口。
(8)P1口(1脚~8脚):
P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。
(9)P2口(21脚~28脚):
P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。
(10)P3口(10脚~17脚):
P3.0~P3.7统称为P3口。
8751的复位方式可以是自动复位,也可以是按钮复位。
如下图3.5,图3.5所示。
图3.6上电复位电路
图3.7按键复位电路
单片机进入复位状态的条件是:
在内部振荡器运行时,使复位输入端RESET至少保持两个机器周期(24个振荡周期)为高电平,由CPU采样复位信号,启动复位时序,完成复位操作。
3.4.2MAX232芯片简介:
图3.8MAX232芯片结构框图
RS232接口芯片MAX232,SOP封装主要有以下型号:
MAX232CSE、MAX232ESE。
后缀第一个字母如果为“C”,代表商业级,如果为“E”,代表工业级。
后缀第二个字母带“S”,代表SOP封装。
后缀最后一个字母带“+”的:
表示无铅产品。
特殊说明:
带“A”的MAX232A,有MAX232ACSE、MAX232AESE,它们使用的是0.1uF外部电容,最高速率200kbps。
而MAX232使用的是1uF外部电容,最高速率120kbps。
3.4.3MAX232芯片简介:
图3.9RS232接口图
针脚、定义、符号:
1载波检测DCD
2接收数据RXD
3发送数据TXD
4数据终端准备好DTR
5信号地SG
6数据准备好DSR
7请求发送RTS
8清除发送CTS
9振铃提示RI
接口特性:
(1)接口的电气特性:
在RS-232C中任何一条信号线的电压均为负逻辑关系。
即:
逻辑“1”,-5—-15V;逻辑“0”+5—+15V。
噪声容限为2V。
即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”
(2)接口的物理结构:
RS-232-C接口连接器一般使用型号为DB25的25芯插头座,通常插头在DCE端,插座在DTE端.一些设备与PC机连接的RS-232C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。
所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。
(3)传输电缆长度由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺.其实在一般应用中,传输距离小于50m,最大传输速率为20kbps.
由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。
四系统软件设计
4.1波特率的设置
在串行通信中,通信双方应该采用相同的波特率以确保通信成功.PC机系统中配备有异步信适配器,该板上有8250异步通信接口,PC机上波特率的设置是通过8250初始化而实现的.在COM2的8250寄存器中,2F8H、2F9H分别设置为波特率因子的低8位和高8位值.该因子(k)的取值范围在1~65535之间,对输入时钟(118432)进行分频,产生16倍波特率的时钟,波特率为118432/(16·k).MCS251单片机的串行接口(UART)是一个全双工的接收缓冲式的串行通信接口,可以同时发送和接收数据.波特率随串行口工作方式选择不同而异.它除与系统的晶振、特殊控制寄存器PCON的SMOD位(D7位)有关外,还与定时器T1的设置有关.为了减少误差或者说为了不受单片机时钟频率的限制,这里采用外部时钟电路.设置串口工作在方式3,在此方式下可选不同的波特率,并且对于MCS251系列单片机来说用T1做波特率发生器通用性好.T1工作在方式2(计数方式),8位,自装入,当使用内部时钟fOSC时,串口波特率fb为
当使用外部时钟(fe)时
当fb=9600b/s时,外部时钟频率fe的计算如下
其中:
SMOD=1,TH1=255.即fe=916kHz×16=15316kHz.外时钟电路图如图4.1所示.该电路工作频率虽不如晶振电路稳定,但是电路简单,易获得所需的15316kHz的频率,且调试后证明串口可以稳定工作.
图4.1 外部时钟产生电路
图4.1的频率计算公式为
要得到15316kHz的频率,图2中参数为
VDD=5V,VT-=2V,VT+=3V,C=
1000pF,R=8103kΩ.
4.2系统软件设计参考程序如下:
ORG0000H
AJMPMAIN
ORG0030H
MAIN:
MOV20H,#00H
MOVTMOD,#20H;T1方式2
MOVSCON,#40H;串口方式1
MOVTH1,#0FAH;波特率为9600b/s
MOVPCON,#80H;SMOD=1
SETBTR1;启动波特率发生器
SETBREN;允许串行接收
START:
MOVR2,#8;命令代码的宽度(字节数)
MOVR3,#0;代码指针
MOVDPTR,#CMD;4个汉字“开始发送”共占8
个字节
WAIT:
JNBRI,$;等待一个字节接收完
CLRRI;清接收完成标志
MOVA,SBUF;保存接收数据
MOVB,A;转存
MOVA,R3
MOVCA,@A+DPTR;与约定的命令比较,检查是否
为有效的命令
CJNEA,B,START;不是有效的命令,则继续等待
命令
INCR3
DJNZR2,WAIT
CLRREN;是有效命令,则禁止串行
接收,准备发送
SEND:
MOVDPTR,#WORD;待发送数据的首地址
SEND1:
CLRA;查表指针清零
MOVCA,@A+DPTR;查表,取持发送数据
CJNEA,#’@’,SEND2;判断是否为结束标志
SETBREN;是结束标志,则结束发送,
准备再接受命令
SJMPSTART;等待命令
SEND2:
MOVSBUF,A;发送
JNBTI,$;等待一个字节发送完
CLRTI;清发送完标志
INCDPTR;修改地址,准备取下一个
待发送数据
LJMPSEND1;继续
CMD:
DB“开始”;对应代码为“0BFH,0AAH,0CAH,0BCH”
DB
WORD:
DB0DH,0AH;0DH为换行命令,0AH为左对
齐命令
DB“天净沙·秋思”,0DH,0AH
DB“马致远”,0DH,0AH,0DH,0AH
DB“枯藤老树昏鸦。
”,0DH,0AH
DB“小桥流水人家。
”,0DH,0AH
DB“古道西风瘦马。
”,0DH,0AH
DB“夕阳西下,断肠人在天涯。
”,0DH,0AH
DB‘@’;结束标记
END
4.3系统软件仿真
程序编号后可以采用“伟福51软件仿真器”进行编译,该软件支持对汉字字符串的编译,汉字或字符串必须用DB伪指令定义,字符串要用半角双引号括起来,否则视为非法。
PC机的通信程序可以采用现成的串口调试器,如scomv21.exe、comdebug.exe、commix.exe、AccessPort.exe等,这些软件可以直接到单片机网站上下载。
下面以comdebug.exe为例,简单介绍串口调试软件的使用方法。
comdebug.exe为绿色软件,下载后不需安装直接运行即可,启动后的界面如图227所示,窗口内显示有下载
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 PC RS232 接口 串行 通信 实现 研究 大学毕业 论文 毕业设计 学位 论文范文 模板 参考资料
链接地址:https://www.bdocx.com/doc/25382329.html