单片机与PC机串口通信实现正文.docx
- 文档编号:9036271
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:25
- 大小:553.01KB
单片机与PC机串口通信实现正文.docx
《单片机与PC机串口通信实现正文.docx》由会员分享,可在线阅读,更多相关《单片机与PC机串口通信实现正文.docx(25页珍藏版)》请在冰点文库上搜索。
单片机与PC机串口通信实现正文
毕业设计(论文)
课题:
单片机与PC机串口通信实现
学生:
孙波系部:
通信工程
~
班级:
通信1301学号:
25
*******
装订交卷日期:
2016年x月x日
装订顺序:
(1)封面
(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献
^
毕业设计(论文)成绩评定记录表
指导教师评语(包含学生在毕业实习期间的表现):
成绩(平时成绩):
指导教师签名:
、
年月日
评阅教师评语:
成绩(评阅成绩):
指导教师签名:
年月日
总评成绩:
(
注:
1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定;
2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。
教务处制
重庆电子工程职业学院
毕业设计(论文)开题报告
系 别通信工程专业通信技术班级通信1301
学生姓名孙波学号25指导教师童华
一、、
二、毕业设计的内容和意义:
目前,随着计算机和微电子技术的高速发展,单片机在国民经济的各个领域的智能化控制中得到了非常广泛的应用。
单片机已成为信息处理、物联网络、通信设备、工业控制、家用电器等各个领域不可缺少的智能部件。
在一些工业控制中,经常需要以单片机作为下位机执行对被控对象的直接控制,以PC机为上位机完成复杂的数据处理,组成主从式控制系统。
为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。
较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。
主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。
从机被动的接收、执行主机发
来的命令,并且根据主机的要求回传相应的实时数据,报告其运行状态。
主机和从机之间的通信大多采用串行总线通信。
用串行总线技术可以使系统的硬件设计大大简化、系统的体积减少、可靠性提高。
同时系统的更改和扩充极为容易。
而MCS-51系列单片机由于内部带有一个可用于异步通讯的全双工串行通讯接口,因此可以很方便地构成一个主从式系统。
串行通讯接口是计算机上一种非常通用的设备通信协议。
大多数的计算机包含多个USB转RS-232的串行通讯接口。
RS-232接口在监视和控制系统中被普遍的应用,同时也是仪器仪表设备通用的通信协议,很多的GPIB兼容的设备也带有RS-232接口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
所以深入的理解和研究串口通信的相关知识是非常必要的。
此次毕业设计的选题为“单片机与PC机串口通信实现”,使用51系列的单片机来实现一个主从式的串行通信系统。
通过此次设计,可以对串口通信的原理和应用融会贯通,为以后的实践工作储备知识和研究方法。
三、文献综述:
随着计算机系统的应用和微型计算机的高速发展,通信功能显得极为的重要。
需采用一种低成本、可靠性高的通信方式。
由于串行通信是在一根传输线上一位一位的传送信息,所用传输线少,并且可以借助现成的通信网络进行信息传送,因此,特别适合于远距离传输。
对于那些与计算机相距不远的人-机交换设备和串行存储的外部设备,如终端、串行打印机、外置调制解调器,绘图仪等,采用串行交换数据也很普遍。
在工业控制和管理方面,采用多台微型计算机组成的控制系统中,各台微型计算机之间的通信一般都是采用的串行方式。
所以串行接口是微型计算机应用系统常用的接口。
而主从式串口总线通信则是串口通信的一种情况,在工业控制应用领域非常的广泛。
在此背景下,对串口通信原理和应用的研究是非常必要的。
四、工作计划及方案论证:
工作计划安排
{
查阅文献、资料、期刊,确定论文题目。
收集论文材料,总结报告。
制定目录,并递交老师审核。
写开题报告并递交老师审核。
开始写论文正文,形成论文初稿。
|
修改论文直到完成论文。
1.通过查阅文献,对收集资料的了解。
2.了解单片机历史及发展。
3.掌握单片机串口通信技术的理论知识和现今的应用。
4.搭建单片机与PC机串口通信系统平台。
5.系统测试及结果。
6.完成毕业论文。
五、参考文献:
[1].、
[2].童华、刘鹏、童建中.《单片机应用技术基础项目式教程》;北京:
电子工业出版社,.
[3].谭浩强.《C程序设计》;北京:
清华大学出版社,.
[4].孔维功.C51单片机编程与应用[M].北京:
电子工业出版社,2011.
[5].王静霞.单片机应用技术(C语言版)[M].电子工业出版社,2009.
[6].侯正鹏.嵌入式C语言程序设计—使用MCS-51[M].北京:
人民邮电出版社,2006:
119,119.
五、指导教师意见:
指导教师(签字) 日期:
[
六、审查意见:
教研室负责人(签字)日期:
系部负责人:
(签字) 日期:
"
附录1实物图12
单片机与PC机串口通信实现
【摘要】
微机与单片机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。
作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。
本次设计主要解决上位机与下位机之间的串行通信问题。
【关键词】
单片机PC机发送数据接收数据串行通信
一、绪论
(一)、系统开发背景
自单片机出现至今,单片机技术已走过了40多年的发展路程。
纵观40多年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域为拉动,表现出较微处理器更具个性的发展趋势。
与此同时在市场上以单片机为核心控制器的产品更是层出不穷,各种家用电器、智能仪器仪表、医疗器械、机电一体化、实时工业控制、交通领域无不用到单片机。
从单片机的发展趋势来看,单片机控制技术已成为电子设计技术及计算机技术不可缺少的一个重要部分。
在国内外,以PC机作为上位机,单片机作为下位机的控制系统,PC机通常以软件界面进行人机交互,以串口通信方式与单片机进行积极交互,而单片机作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作信息状态。
目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。
在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成主从式控制系统。
为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。
较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。
主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。
从机被动的接收、执行主机发来的命令,并且根据主机的要求回传相应的实时数据,报告其运行状态。
主机和从机之间的通信大多采用串行总线通信。
用串行总线技术可以使系统的硬件设计大大简化、系统的体积减少、可靠性提高。
同时系统的更改和扩充极为容易。
而MCS-51系列单片机由于内部带有一个可用于异步通讯的全双工串行通讯接口,因此可以很方便地构成一个主从式系统。
串行通讯接口是计算机上一种非常通用的设备通信协议。
大多数的计算机包含多个USB转RS-232的串行通讯接口。
RS-232接口在监视和控制系统中被普遍的应用,同时也是仪器仪表设备通用的通信协议,很多的GPIB兼容的设备也带有RS-232接口。
同时,串口通信协议也可以用于获取远程采集设备的数据。
所以深入的理解和研究串口通信的相关知识是非常必要的。
此次毕业设计的选题为“单片机与PC机串口通信实现”,使用51系列的单片机来实现一个主从式的串行通信系统。
通过此次设计,可以对串口通信的原理和应用融会贯通,为以后的实践工作储备知识和研究方法。
(二)、串行通信的意义
串行通信对单片机应用系统中的相互通道而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。
由于串行通信是一种能把二进制数据按位传送的数据通信方式,它所需要的传输线条数极少,接线简单,传输成本低,所以在较远距离的数据传输中,可以得到广泛的应用。
二、系统设计
(一)、设计思路
本文设计一个51单片机与PC机串口通讯系统,实现单片机与PC机之间的远程通信。
设计分发送和接收两大模块,发送部分通过硬件电路的引用。
其中包括MAX232接口电路,RS-232接口电路,引用相应的管脚相连,并将相应的软件程序写入到硬件电路中,即可运行。
在满足发射和接收模块的要求后可单独对控制进行调整。
程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。
(二)、系统组成及通信原理
1、系统构成
为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。
1)单片机模块
单片机模块中主要包括单片机、复位电路、晶振电路、电源电路。
2)通信模块
通信模块中采用MAX232作为通信电平转换电路、实现RS-232的数据传输,可以直接与PC进行通信。
2、通信原理及协议
由于本设计解决的是串口的通讯问题,所以通信的基本原理是利用MCS-51系列单片机内部的一个可编程全双工串行通信接口来实现单片机和PC机之间的串口通信。
该串口如图所示。
它具有UART(UniversalAsynchronousReceiverTransmitter)的全部功能。
该接口不仅可以同时进行数据的接收和发送控制,采用全双工制式,也可作为一个同步移位寄存器使用。
该串口有四种工作方式,帧格式有8位、10位、和11位,并能设置各种波特率及工作方式。
下面将对MCS-51单片机内部串行口的原理、组成结构、功能特点等进行介绍。
图MCS-51单片机串行口结构
1)串行口数据缓冲器SUBF
发送和接收电路主要由SBUF和一个移位寄存器构成。
SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。
它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。
2)串行口控制寄存器SCON
串行口控制寄存器SCON用于设置串行口的工作方式,监视串行口的工作状态,控制发送和接收的状态。
它是一个既可以字节寻址又可以寻址的8位特殊功能寄存器。
单元地址为98H。
SCON的各位格式定义如表所示,对各位的含义说明如表所示。
表串行口控制寄存器SCON
位序
D7
D6
D5
D4
D3
D2
D1
D1
位地址
9FH
9EH
9DH
9CH
9BH
9AH
99H
98H
位名
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
表串行口的工作方式
SMOSM1
工作方式
功能说明
00
0
方式0,8位同步移位寄存器,其波特率为fosc/12;
01
1
方式1,10位UART,其波特率为可变,由定时器控制;
10
2
方式2,11位UART,其波特率为fosc/64或fosc/32;
11
3
方式3,11位UART,其波特率为可变,由定时器控制。
3)电源控制寄存器
PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,字节地址为87H,不可位寻址。
PCON主要用于实现电源控制而设置的专用寄存器。
其格式如表所示。
表电源控制寄存器PCON
位序
D7
D6
D5
D4
D3
D2
D1
D0
位名
SMOD
-
-
-
GF1
GF0
PD
IDL
与串行口通信有关的只有SMOD位。
即当SMOD=1时,则串行口的波特率增加一倍。
若SMOD=0时,波特率不加倍。
系统复位时,SMOD=0。
4)串行口的工作方式
1工作方式0(8位移位寄存器I/O方式)
发送/接收过程:
SBUF中的串行数据由RxD逐位移出/移入(低位在先,高位在后);TxD输出移位时钟,频率=fosc1/12;每送出/接收8位数据TI/RI自动置1;需要用软件清零TI/RI。
注意:
串行口在方式0下的工作并非是一种同步通信方式,经常配合“串入并出”“并入串出”移位寄存器一起使用,以达到扩展一个并行口的目的。
扩展电路如下图所示。
图扩展电路
2方式1(波特率可变的10位异步通信方式)
发送/接收数据的格式:
一帧信息包括1个起始位0,8个数据位和1个停止位1。
3方式2(固定波特率的11位异步接收/发送方式)
发送/接收过程:
方式2的接收/发送过程类似于方式1,所不同的是它比方式1增加了一位“第9位”数据(TB8/RB8),用于“奇偶校验”。
方式2常用于单片机间通信。
4方式3(可变波特率的11位异步接收/发送方式)
方式3和方式2唯一的区别是波特率机制不同。
三、硬件电路
(一)、硬件设计思路
根据设计要求,实现单片机与PC机通信。
PC机通过串口由串口调试助手软件给单片机发送单个数据,单片机将接收到的数据通过数码管显示。
硬件设计由单片机最小系统,MAX232电平转换电路,PC机组成。
单片机采用STC89C52RC,是整个的核心,它每秒向PC机发送单个数据;LED显示电路采用了4个八段LED数码管,PC机通过串口由串口调试助手软件给单片机发送单个数据,单片机将接收到的数据通过数码管显示。
硬件电路的设计框图,如图所示。
图硬件电路设计框图
本设计的主要硬件电路包括:
单片机与PC机串行通信接口和ISP编程下载电路,单片机外围电路,MAX232电平转换等部分。
(二)、STC89C52RC单片机简介
STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的CMOS八位单片机。
芯片使用经典的MCS-51内核,但做了很多的改进,内部拥有灵巧的8位CPU和在系统可编程Flash存储器,使得芯片具有传统51单片机不具有的功能。
1、引脚及其功能
1)电源引脚
VCC:
芯片电源,接+5V。
VSS:
电源接地端。
2)时钟引脚
XTAL1:
片内放大器输入端。
XTAL2:
片内放大器输出端。
3)专用控制端口
1ALE/
:
地址锁存允许/片内EPROM编程脉冲。
ALE功能:
用来锁存P0口送出的低8位地址。
功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
2
:
外ROM读选通信号。
3RST/VPD:
复位/备用电源。
RST(RESET)功能:
复位信号输入端。
VPD功能:
在VCC掉电情况下,接备用电源。
4
/Vdd:
内外ROM选择/片内EPROM编程电源。
功能:
内外ROM选择端。
VDD功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。
4)输入/输出端口
STC80C52RC共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
5)P3口第二功能
RXD:
串行输入口。
TXD:
串行输出口。
:
外部中断0。
:
外部中断1。
T0:
定时计数器0。
T1:
定时计数器1。
:
外部数据存储器写选通。
:
外部数据存储器读选通。
单片机是由CPU、并行口、ROM、RAM、定时/计数器、串行口和中断系统等组成部分,通过内部总线把各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。
其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。
2、单片机外围电路
单片机外围电路包括晶振电路和复位电路,如图所示。
晶振电路为单片机工作提供基本时钟,复位电路用于将单片机内部各电路的状态恢复到初始值。
图STC89C52RC最小系统电路
单片机外围电路由复位电路、晶振电路组成。
复位电路采用上电复位电路。
此电路能实现开机和单片机在运行时的复位,开机复位要求接通电源后,单片机自动实现复位操作,开机瞬间单片机的RST引脚获得高电平,随着电容C1的充电RST的高电平将逐渐下降。
RST引脚的高电平只要能保持足够的时间,单片机就可以进行复位操作。
单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接一石英晶体振荡器,就构成了自激振荡器并在单片机内部产生了时钟脉冲信号,图中C2和C3的作用是稳定频率和快速起振,电容值选为30pF。
(三)、RS-232C接口电路
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。
RS-232C是目前最常用的一种串行通讯接口。
1、RS-232C总线标准及其接口
在通信系统中,数据通信、计算机网络以及过程控制系统经常通过各自配备的标准串行通信接口,再加上合适的通信电缆实现相互通信。
在设计通信接口时,必须遵循一定的标准,使各设备方便地进行串行通信。
RS-232C由美国电子工艺协会(EIA)正式公布,是在异步串行通信中应用最广的总线标准接口。
RS-232C现普遍用于计算机之间和计算机与外设之间的近端连接标准,其特点是信号少,有多种数据传输可以选择,使用简单、方便。
RS-232C规定了自己的电器标准,由于它是在TTL电路之前研制的,因此它的电平不是+5V和地。
而计算机接口或终端的电气标准是TTL/CMOS电平,使得计算机或终端与RS-232通信接口的逻辑电平不兼容,需要实现电平转换。
MAX-232芯片能够实现RS-232C电平的转换。
2、MAX-232接口电路
MAX-232芯片是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种EIA-232C和的通信接口。
MAX232芯片的功能:
MAX232内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的±10V电压。
所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。
对于没有±12V电源的场合,其适应性更强。
Max232是TTL电平与RS232电平相互转换的模块,其引脚封装图如图所示。
图MAX-232引脚功能
(四)、51单片机与PC机串行通信电路
单片机与PC机串行通信接口电路及编程下载电路如图所示。
图串行通信电路
串行通信部分主要是由MAX232电平转换电路和ISP编程下载电路组成,其原理是:
MAX232芯片把单片机引脚的COMS电平(0—5V)转换为RS-232C电平(-12V—+12V),AT89S52单片机有一个全双工的串行通信口,而PC机有一个RS232的通信接口。
只要用RS232D型9针的引脚的双边母头接到PC机上,而另一头和MAX232相连接,MAX232的输出再和STC89C52RC相连就可以实现单片机和PC机的串行通信。
(五)、LED数字显示
根据设计要求可知,系统需要显示数字,因此需用到LED数码管显示。
硬件电路图如图所示,显示部分采用扫描显示模块,其中P0口控制段选,P1口控制位选,利用P2口中的4个端口(即、、、)来控制4个LED数码管。
图显示电路
四、软件设计
(一)、软件设计思路
软件需要解决的是PC机与单片机串行口通信,并把数据在LED上进行结果的显示。
软件程序功能模块由单片机的通信程序和PC的通信程序组成。
1、单片机部分软件设计思路:
STC89C52RC单片机的和口分别串行通信的接收和发送端,其接口程序主要由发送子程序和接收子程序组成。
通信速率9600bit/s,使用查询方式。
2、PC机部分软件设计思路:
PC机有多种支持串行通信的软件,本次采用的通信程序是“串口调试助手”应用软件。
单片机的通信程序采用KeilC51集成开发环境编写,程序由主函数和串行口终端函数组成,主函数主要完串行口的初始化、LED的显示;串行口中断函数主要完成进入串行口的中断服务程序、接收主机命令、控制LED显示状态等任务。
(二)、程序设计
1、单片机通信程序流程图
系统由STC89C52RC单片机作为中央控制器,控制各功能模块的正常工作及数据的接收和处理。
整个软件系统是这样来设计的:
首先上位机编辑好源程序再转换为相应的可执行的二进制代码文件由编程下载电路传送到单片机中存储。
主程序的流程图如图所示。
图主程序的流程图
五、proteus仿真及结果
(一)、proteus仿真
软件调试是利用仿真工具进行在线仿真测试,除发现和解决程序错误外,也可以发现硬件故障。
首先在proteus画出电路图,检查电路连通情况,无误后单击芯片添加源程序的HEX文件。
打开虚拟串口软件,建立COM1和COM2为相互连接的一对端口,单击添加端口,完成端口添加。
启动上位机软件,端口选择COM2,在发送数据的区域输入发送的字节,观察proteus数码管的显示,并记录结果。
(二)、运行结果
数据发送前proteus中LED数码管显示的数字全为0,在发送数据区域输入两个十六进制0F0F后发送,LED数码管的显示为0F0F,发送其它十六进制数,LED数码管能够正确显示。
六、结论与展望
(一)、结论
本文介绍的应用于单片机系统实现与PC机之间的串行通信接口,具有硬件电
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 PC 串口 通信 实现 正文