51单片机与PC串口间通讯设计与分析.docx
- 文档编号:11859570
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:12
- 大小:163.38KB
51单片机与PC串口间通讯设计与分析.docx
《51单片机与PC串口间通讯设计与分析.docx》由会员分享,可在线阅读,更多相关《51单片机与PC串口间通讯设计与分析.docx(12页珍藏版)》请在冰豆网上搜索。
51单片机与PC串口间通讯设计与分析
51单片机与PC串口间通讯设计与分析
摘要:
51单片机是一种集CPU,RAM,FLASHROM,I/O接口和定时中断系统于一体的微型计算机。
只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。
由于单片机具有体积小,重量轻,功耗低,功能强,价格低,可靠性好等诸多优点,因而在仪器仪表,家用电器,数据采集等一些嵌入式控制领域被广泛应用。
当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算机系统。
将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。
因此,实现单片机与PC机之间的远程通信更具有实际意义。
关键词:
单片机、PC机、发送数据、接收数据串行通信
摘要------------------------------------------------------------------
(1)
1、绪论---------------------------------------------------------------------------(3)
1.1单片机的发展阶段-------------------------------------------------(3)
1.2单片机的发展趋势-------------------------------------------------(3)
1.3单片机的应用模式-------------------------------------------------(4)
1.4单片机与PC串口间通讯设计的应用--------------------------(5)
2、系统设计-------------------------------------------------------------------(6)
2.1设计思路-------------------------------------------------------------(6)
2.2系统组成-------------------------------------------------------------(6)
3、单元硬件电路设计-------------------------------------------------------(7)
3.1硬件的实现过程-----------------------------------------------------(7)
3.1.1RS-232C总线标准-------------------------------------------(8)
3.2RS-232接口电路----------------------------------------------------(9)
3.2.1MAX-232接口电路------------------------------------------(9)
3.351单片机与PC机串行通信电路-----------------------------(11)
4、软件设计------------------------------------------------------------------(12)
4.1软件设计和硬件设计的关系-----------------------------------(12)
4.2程序设计-----------------------------------------------------------(13)
4.3程序运行后的结果------------------------------------------------(17)
5、结论-----------------------------------------------------------------------(18)
6、参看文献------------------------------------------------------------------(19)
绪论
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、推行串口扩展总线。
单片机引脚图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电气特性的限制,只能实现一点对一点通信(既单机通信)。
2、系统设计
2.1系统设计思路
本文要求设计一个51单片机与PC串口间通讯系统,实现单片机与PC机之间的远程通信。
设计分发送和接收两大模块,发送部分通过硬件电路的引用。
其中包括RS-232接口电路、MAX232接口电路,引用相应的管脚相连,并将相应的软件程序转入电路中,即可运行。
当电路是相对独立时,可直接调速电路参数值,其影响和干扰就小。
在满足发射和接收模块的要求后可单独对控制进行调整,程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。
2.2系统组成
为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。
1、单片机模块
单片机模块中主要包括单片机、复位电路、晶振电路、上拉电阻和端口扩展等。
端口扩展部分可以通过跳线将单片机的I/O口在系统板上的功能释放,并将其连接到扩展上。
2、通信模块
通信模块中采用MAX232作为通信电平转换电路、实现RS-232的数据传输,可以直接与PC进行通信。
3、单元硬件电路设计
3.1硬件实现的过程
在实现单片机与PC机之间通信或单片机与单片机之间远程距离通信时通常采用标准串行总线通讯接口。
比如RS-232C、RS-422、RS485等。
在这些串行总线接口标准中,是在异步串行通信中应用最广的标准总线,它实用于短距离或带调制解调器的通信场合。
下面以RS-232标准串行总线接口为例,简单介绍单片机与PC机之间串行通信的硬件实现过程。
3.1.1RS-232总线标准
RS-232C总线标准定义了25个引脚的连接器,各引脚的定义如表3-1所示。
引脚
定义(助记符)
引脚
定义(助记符)
1
保护地(PG)
13
辅助通道允许发送(SCTS)
2
发送数据(TXD)
14
辅助通道发送数据(STXD)
3
接收数据(RXD)
15
发送时钟(TXC)
4
请求发送(RTS)
16
辅助通道接收数据(SRXD)
5
清除发送(CTS)
17
接受始钟(RXC)
6
数据准备好(DSR)
18
----------------------------------
7
信号地(GND)
19
辅助通道请求发送(SRTS)
8
接收线路信号检测(DCD)
20
数据终端准备就绪(DTR)
9
------------------------------
21
信号质量检测
10
------------------------------
22
音响指示(RI)
11
-------------------------------
23
数据信号速率选择
12
辅助通道接收信号检测(SDCD)
24
发送时钟(TXC)
表3-1RS-232信号引脚定义
表3-1中定义的许多信号线是为通信业务联系或控制而设置的,在计算机串口通信中主要是用以下一些信号。
(1)数据传输信号:
发送数据(TXD),接收数据(RXD)
(2)调制解调器控制信号:
请求发送(RTS),清除发送(CTS)
(3)地线:
保护地(PG),信号地(GND)
Rs-232C总线的其他标准规定如下:
(1)RS-232总线标准逻辑电平:
+5--+15V表示逻辑“0”,-15、-5表示逻辑“1”,噪声容限为2V。
(2)标准数据传输速率:
50b/s、75b/s、110b/s、600b/s、1200b/s、4800b/s、9600b/s、19200b/s
3.2、RS-232C接口电路
当51单片机与PC机通过RS-232标准总线串行通信时,由于RS-232信号电平与51单片机信号电平不一致,因此,必须进行信号电平转换。
其常用的方法有两种,一种是采用运算放大器、晶体管、光电隔离器等器件组成的电路来实现,另一种是采用专门集成芯片来实现。
下面以MAX232专门集成芯片为例来介绍接口电路的实现。
3.2.1、MAX232接口电路
MAX232芯片是MAXIM公司生产的具有两路接收器和驱动器的IC芯片,其内部有一个电源电压变换器,可以将输入+5V的电压变换成RS-232C输出电平所需的+/-12V的电压。
在其内部同时也完成TTL信号电平和RS-232信号电平的转换。
所以,采用此芯片实现接口电路只需单一的+5V电源就可以。
MAX232芯片的引脚结构如图2-2所示。
其中管脚1-6(C1+,V+,C1-,C2+,C2-,V-)用于电源电压转换,只要在其内部接入相应电解电容即可:
管脚7-10和管脚11-14.构成两组TTL信号电平与RS-232信号电平的转换电路,对应管脚可直接与单片机串行口的TTL电平引脚和PC机的RS-232电平引脚相连。
具体连接可参看图2-3
.
图3-2MAX232引脚图
3.3、51单片机与PC机串行通信电路
图2-3是由芯片MAX232实现51单片机与PC机串行通信的典型接线图。
图中外接电解电容C1,C2,C3,C4用于电源电压变换,提高抗干扰能力,它们可以取相同数值电容1.0uF/16V.其值一般为0.1UF.
选择任一组电平转换电路实行串行通信,如图中选Tlin,Rlout分别与51单片机的TXD,RXD相连,Tlout,Rlin分别与PC机中RS232接口的RSD,TSD相连,这种发送与接收的对应关系不能连错,则不能正常工作。
图3-3用MAX232实现串行通信接口电路图
3、软件设计
鉴于单片机技术比较成熟,且开发过程中可以利用的资源和工具丰富、价格便宜、成本低。
故设计用C语言对其编程并烧录到芯片内部,C语言表达和运算能力比较强,且具有很好的可移植性和硬件控制能力,程序可分为发射部分和接收部分。
在51系列单片机中,波特率由定时/计数器T1自动产生,但在使用前。
需对T1进行一些设置,才能得自己想要的波特率。
我们通常在有串行通信的系统中选用11.0592MHz的晶振,为了使用方便采用19200Kbps的波特率,所以T1的初值应设置为0Xfd。
4.1、软件设计和硬件设计的关系
为了满足设计的功能和指标的要求,我们必须在开始设计时就应考虑到硬件和软件的协调;不然就是造成硬件资源的浪费,就是增加软件实现时的困难和复杂程度,甚至造成信号的断层,即使硬件和软件能单独使用,却不能使它们组成的系统工作,故在设计的过程中必须考虑软、硬件的处理能力以及它们的接口是否兼容,实现软、硬件的过渡,其次、设计时硬件之间应尽可能减小联系,只要把必要的信号线相连即可。
由于硬件的分离,在软件的调试时就可以单独针对控制模块。
4.2程序设计
假设PC机先向单片机一组指令“55H、AAH、01H”当单片机接收到PC发来的数据,并判断命令为“01H”时,启动定时发送程序,即每隔2S向PC发送15个字节的数据。
具体程序如下:
#include
#defineucharunsignedchar
ucharTxdnum[15]={0,1,2,3,4,5,6,7,8,9,0xa0,0xa1,0xa2,0xa3,0xa4}
uchartimercount,Rxdcount,Numcount;
bitTxdflag;
Voidserial_Txd(uchar*p)
{
uchari;
for(i=0;i<15;i++)
{
SBUF=*p++;
While(!
TI);
TI=0;
}
}
Voidserial_Int()interrupt4
{
uchartemp;
ES=0;
If(RI)
{
Temp=SBUF;
RI=0;
If(temp==0x55)
{
while(!
RI);
temp=SBUF;
RI=0;
if(temp==0xaa)
{
while(!
RI);
temp=SBUF;
RI=0;
if(temp==0x01)
{
P2=~temp;
TR0=1;
}
}
else
Es=1;
}
else
Es=1;
}
}
VoidT0_Interrupt()interrupt1
{
TL0=0x00;
TH0=0xdc;
if(--timercount==0)
{
Timercount==200;
Txdflag=1;
}
}
Voidmain()
{
Txdflag=0;
Rxdcount=0;
Numcount=0;
Timercount=100;
TMOD=0x21;
TL0=0x00;
TH0=0xdc;
TL1=0xfd;
TH1=0xfd;
SCON=0X50;
TR1=1;
ET0=1;
ES=1;
EA=1;
while
(1)
{
if(Txdflag==1)
{
Txdflag=0;
Serial_Txd(Txdnum);
}
}
}
4.3、程序运行后的结果
单片机与PC相连,同时运行程序,当PC向单片机传送数据后,如果数据相符,则单片机点亮L1发光二极管,并且开始每隔2S向PC传送数据,在PC上观察到以下结果。
00010203040506070809A0A1A2A3A400010203040506070809A0A1A2A3A400010203040506070809A0A1A2A3A400010203040506070809A0A1A2A3A4
程序运行后PC上的运行结果
5、结论
经过一段时间的学习与研究,至此,本次毕业设计已经全部完成,所设计的接口电路、单片机串行通信、传输模块基本达到预期的目的,顺利地完成了任务。
进行循环数据采集,并且误差范围非常小,数据采集速度高,能够满足一般多通道数据采集要。
在做毕业设计之初,我查了很多关于单片机串行通信、单片机原理与接口技术的设计资料,我发现经了长时间的实践的检验,而我几乎从零开始做,我发现自己很难找到创新点,即使成功了也是对前人工作的一次重复,一度我很茫然,前人的设计水2何在?
但是经过仔细思考,我端正了自己的态度,同时我也找到了姑且算作创新点的所在,作好了一切准备工作之后便开始了紧张的毕业设计工作。
做毕业设计的这段时间是紧张的一段时间,也是重新学习努力探索的一段时间,更是充满收获喜悦的一段时间。
经过这次毕业设计,我学会了许多新知识,学会了如何查找资料,学会了遇到问题先分析问题解决问题的能力,学会了如何充分的利用网络资源来提高自己的文化知识和专业知识,学会了单片机系统开发的一般流程;也明白了许多不曾明白的道理,明白了求学应当有严谨的作风,并且更应该有锲而不舍、坚强的韧劲。
致谢
本毕业设计论文是在我的导师宋元鹤老师的悉心指导下完成的,在毕业设计过程中,宋老师倾注了大量的心血,他的悉心指导是本设计能够圆满完成的基础。
宋老师学识渊博,专业知识过硬,治学作风严谨,工作认真负责。
在这一段时间的毕业设计过程中,宋老师言传身教,不仅在学习上耐心地给我指点迷津,解惑答疑,在生活上也为我提供方便,更使我对人生的征途有了新的认识,有了新的目标。
宋老师的孜孜不倦的教诲和严谨的治学作风令我终生难忘,也将使我受益终生。
在此谨向宋老师表达一个学生最真挚的谢意!
6、参考文献
【1】张旭涛.曾现峰.单片机原理与应用.北京:
北京理工大学出版社.2006
【2】穆兰.单片微型计算机原理及接口技术.北京:
机械工业出版社.2002
【3】杨金岩.郑应强.51单片机数据传输接口扩展技术与应用实例.北京:
人民邮电出版社.2006
【4】胡伟.季晓衡.单片机C程序设计及应用实例.北京:
人民邮电出版社.2006
【5】黄智伟.全国大学生电子设计竞赛系统设计【M】.北京:
北京航空航天大学出版社.2006
【6】胡汉才组编.单片机原理及接口技术.北京:
清华大学出版社,1996
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 PC 串口 通讯 设计 分析