基于串口通信的单片机仿真和C语言开发.docx
- 文档编号:26175078
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:14
- 大小:142.73KB
基于串口通信的单片机仿真和C语言开发.docx
《基于串口通信的单片机仿真和C语言开发.docx》由会员分享,可在线阅读,更多相关《基于串口通信的单片机仿真和C语言开发.docx(14页珍藏版)》请在冰豆网上搜索。
基于串口通信的单片机仿真和C语言开发
目录
摘要I
AbstractII
1系统硬件设计1
1.1AT89C52芯片介绍1
1.29针D型连接器2
2串口通信设计4
2.1串口通信概述4
2.2串行接口基本任务4
2.3串行接口工作原理4
2.4串行接口控制寄存器4
2.5串行接口工作方式5
3Protues软件介绍及使用6
4软件设计7
5仿真结果10
6心得体会12
参考文献13
摘要
随着科技的发展,单片机的应用越来越广泛,其使用也越来越频繁,有时候需要将单片机中的数据传到另一台单片机或者是PC机,有时候需要将PC机的数据传输到单片机上,这就用到了单片机的串行通信。
串行通信是CPU与外界交换信息的一种基本方式。
单片机应用于数据采集或工业控制时,往往作为前端机安装在工业现场,远离主机,现场数据采用串行通信方式发往主机进行处理,降低通信成本,提高通信可靠性。
51系列单片机自身实现串行通信是十分方便的。
在本次的仿真设计中,利用了虚拟串口进行仿真实验。
关键词:
单片机,串行通信,虚拟串口
Abstract
Isfindingwiderandwiderwiththedevelopmentofscienceandtechnology,theapplicationofsingle-chipmicrocomputer,itsuseisbecomingmoreandmorefrequently,sometimesneedtodatainasinglechipmicrocomputertoanotherMCUorPC,sometimesneedtothePCdatatransmissiontothesingle-chipmicrocomputer,itUSESsinglechipmicrocomputerserialcommunication.SerialcommunicationisabasicoftheCPUtoexchangeinformationwiththeoutsideworld.MCUisappliedtodatacollectionorindustrialcontrol,oftenasafront-endmachineinstalledintheindustrialfield,awayfromthehost,thedatasenttothehostforprocessing,serialcommunicationwaytoreducethecommunicationcost,improvethereliabilityofcommunication.51seriesmicrocontrolleritselftorealizeserialcommunicationisveryconvenient.Inthesimulationdesign,usingthevirtualserialporttothesimulationexperiment.
Keywords:
Singlechipmicrocomputer,serialcommunication,virtualserialport
1系统硬件设计
本次设计中,最主要的芯片是AT89C52,还有9针D型连接器,有时候还会用到MAX232芯片。
1.1AT89C52芯片介绍
图1AT89C52
单片机是在一块芯片中集成了CPU、RAM、ROM、定时/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路.芯片有32条端口线、2条电源线、6条控制线。
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
P1口、P2口、P3口是一个带内部上拉电阻的8位双向I/O口,其中P3口还可接收一些用于Flash闪速存储器编程和程序校验的控制信号。
这四个端口是并行I/O端口。
RST是复位输入,当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
EA端接低电平时,单片机只访问外部程序存储器,接高电平时,单片机访问内部程序存储器。
该芯片还有一个全双工的可编程串行I/O端口,可以在程序控制下把CPU的八位并行数据变成串行数据一位一位的从发送数据线Txd发送出去,也可以把串行接受到的数据变成八位并行数据送给CPU,这两种传输方式可以同步进行,也可以单独进行。
1.29针D型连接器
图29针D型连接器
国际电子工业协会制定RS-232串行通信标准接口,它采用平衡通信接口,即在发送端将TTL电平信号转换成差分信号输出,接收端将信号变成TTL信号输入,提高了抗干扰能力和传输距离。
目前微机都采用9针的D型连接器。
RS-232通过它传送数据,还可以对双方的互传起协调作用。
在串行通信中,最简单的通信只需连接TXD、RXD、GND这3跟线。
其余针脚的使用如下:
RTS:
请求发送信号,输出信号。
CTS:
清除传送,是对RTS的响应信号,输入信号。
DCD:
数据载波检测,输入信号。
DSR:
数据通信准备就绪,输入信号。
DTR:
数据终端就绪,输出信号。
1.3MAX232芯片介绍
图3MAX232
RS-232的EIA标准是以正负电压来表示逻辑状态的,与TTL以高低电平表示逻辑状态的规定不同。
RS-232逻辑1的电压范围是-3V到-15V,逻辑0的范围是+3V到+15V.因此,为了能够同计算接口或终端的TTL器件连接,必须在EIA电平与TTL电平之间进行变换。
电平转换芯片MAX232可以实现TTL电平与RS-232电平双向转换。
它内部有电压倍增电路和转换电路,仅需外接5个电容和+5V电源便可工作,使用方便简单。
在本次仿真设计中,由于2个虚拟串口的电压标准是一样的,因此可以不需要用MAX232进行电平之间的转换。
在实际中,如果两串口的标准不一样,是需要进行转换的。
2串口通信设计
2.1串口通信概述
串行通信的数据或字符是一帧一帧地传送的,在异步通信中,一帧数据先用一个起始位“0”表示字符的开始,然后是5到8位数据,规定低位在前,高位在后,接下来是奇偶校验位,最后一个停止位“1”表示字符的结束。
在串行通信中,如果某机的通信接口只能发送或接收,这种单向传送的方法称单工传送。
反之,则为双工传送。
在双工传送中,如果接收和发送不能同时进行,只能分时接收和发送,这种传送称为半双工传送。
反之,称为全双工传送。
在半双工传送中,收发使用一条线,各机内还需要换向器,以完成接收发送方向的切换。
2.2串行接口基本任务
CPU只能处理并行数据,要进行串行通信,必须接串行接口,并遵从串行通信协议。
串行接口的基本任务就是实现数据格式化,进行串行数据和并行数据的转换,控制数据的传输速率,进行传送错误检测。
2.3串行接口工作原理
51单片机串行口主要由两个数据缓冲寄存器SBUF和一个输入移位寄存器组成,其内部还有一个串行控制寄存器SCON和一个波特率发生器。
特殊功能寄存器SCON用以存放串行口的控制和状态信息。
根据控制字决定波特率发生器的时钟源是来自系统时钟,还是定时器。
设有两个单片机串行通信,甲机发送,乙机接收,串行通信中,甲机CPU向SBUFF写入数据,在发送控制器的控制下,按设定的波特率,每来一个移位时钟,数据移出一位,由低位到高位移出,移出的数据到达乙机,乙机按设定的波特率,每来一个移位时钟移入一位,由低位到高位移入SBUFF,如果两边的移位速度不一致,会造成数据位的丢失,因此,两边的波特率必须一致。
2.4串行接口控制寄存器
串行通信的方式选择。
接收和发送控制及串行口的标志均由专用寄存器SCON控制和指示。
SM0,SM1:
串行口工作方式控制位。
SM2:
多机通信控制位。
REN:
串行接收允许位。
TB8:
在方式2,3中,该位是发送机要发送的第9位数据。
RB8:
在方式2,3中,该位是接收机接收到的第9位数据。
TI:
发送中断标志位。
发送前必须用软件清零,发送过程中TI保持零电平,发送完一帧数据后,硬件自动置1。
如果再发送,需先用软件清零。
RI:
接收中断标志位。
接收前必须用软件清零,接收过程中RI保持零电平,接收完一帧数据后,片内自动置1。
如果再接收,需先用软件清零。
2.5串行接口工作方式
51系列单片机的串行通信有4种工作方式,通过编程进行选择。
方式0:
波特率固定的方式。
方式1:
波特率可变的10位异步通信方式,波特率由定时器提供。
X为定时器计数初值。
方式2:
波特率固定的11位异步通信方式。
方式3:
引脚使用与数据格式同方式2,波特率计算公式同方式1。
3Protues软件介绍及使用
Protues软件是一款EDA工具软件。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
Protues从原理图布图,代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。
首先,打开元件库,在左上角输入关键字,在对话框就可以看到元件名,点击元件名,在右上角就可以看到元件及其引脚图。
关闭元件搜索框,就可以在布件页面放置元件,右键单击元件,选择编辑属性,就可以编辑元件的属性。
在protues左边框,可以选择各种方式方便使用。
连好线路后,点击左下角开始仿真,即开始仿真,如有错误,会有提示。
接下来介绍如何使用Keil软件生成hex文件,以便于Protues仿真。
在keil界面,新建一个工程,在工程中新建一个文本输入,在其中写入代码,左上角有编译、仿真快捷键,如有错误,会有提示,修改代码,直到编译成功。
然后,单击“OptionsforTarget”,选择“Output”,将“CreatHexFile”复选框选上,单击“ok”,就生成了Hex文件。
在protues中将单片机芯片属性界面打开,选择刚才生成的Hex文件,单击“确定”。
就完成了Protues的代码输入,接下来就可以进行仿真了。
4软件设计
程序流程图如下:
否
是
图4程序流程图
代码如下:
#include
#defineucharunsignedchar
sbitK1=P1^4;
ucharflag=0,a=0,i;
ucharcodetable[]="Iwanttogohome";
voidinit()
{
TMOD=0X20;//选择定时器T1,工作方式0
TH1=0xfd;//提供高8位计数初值
TL1=0xfd;//提供低5位计数初值
TR1=1;//控制T1定时器开启
SM1=1;
SM0=0;//SCON方式选择,方式1
REN=1;//允许串行接收
EA=1;//允许中断
ES=1;//允许串行口使用
}
voidsend_str()
{
unsignedchari=0;
while(table[i]!
='\0')
{
SBUF=table[i];
while(!
TI);
TI=0;
i++;
}
}
voidmain()
{
init();
while
(1)
{
if(K1==0)
{
ES=0;
send_str();
while(!
K1);
}
if(flag==1)
{
ES=0;
SBUF=a;
while(!
TI);
TI=0;
ES=1;
flag=0;
}
}
}
voidser()interrupt4
{
RI=0;
a=SBUF;
flag=1;
}
这一次设计串行口工作方式是方式1,波特率可变,与定时器的计数初值有关。
5仿真结果
PC机和单片机的串口通信系统调试一般通过一根串口连接线把PC机和单片机连接在一起。
在本次设计中,使用软件虚拟一个串口进行仿真。
图5虚拟串口软件
在这里,选择将COM1和COM2连接在一起,表示这两个数据口用一根连接线连接在一起,在protues中设计好串口名字,就可以开始仿真。
图6串口助手调试
接下来使用串口助手进行调试,在发送区输入字符,点击发送,就可以在Protues的虚拟终端显示出来,表示PC机的数据放送到单片机。
图7虚拟终端显示
当按下按键的时候,系统响应中断,将单片机中的数据发送到PC机,仿真结果在虚拟终端上显示出来。
6心得体会
通过本次课程设计,我明白了模拟量与数字量之间的转换,温度的采集,以及显示电路的设计与原理。
在本次课程设计过程中,遇到的问题首先是芯片的使用,例如,AD590的特点是流过器件的电流即为器件所处环境的热力学温度等,ICL7135芯片的典型应用电路,很方便的将模拟量转化为BCD码,显示电路中74LS47的使用特点以及译码器与数码管之间的接法,这些问题在课程设计之前,都不清楚,通过查资料,相关书籍,以及问同学,将这些问题一一解决,为电路的设计做好了铺垫。
在设计电路过程中,器件参数的选择很重要,例如,在温度采集电路中,为使当温度为零时,输出电压为零所加的偏移电阻,在显示电路中,为防止数码管烧坏所加的限流电阻,A/D转换电路中,典型应用所给出的器件参数,这些参数的选择都是有一定理论依据的。
在实物制作过程中,电子器件的布局是否合理,是否美观都是需要考虑的因素,元器件较多,而且线路多而繁杂,焊接时,容易将本不该相连的两点连接在一起,尤其是显示电路部分,焊接时,需要十分小心。
在检验实物的过程中,可能由于二级管电流过大,将数码管烧坏,这些问题在今后的设计中需要注意。
这次课程设计,我收获很大,提高了我遇到问题解决问题的能力,加强了与同学就学习问题的交流讨论,加强了自己的动手能力,明白了团队合作的作用,同时也认识到了自己不足,在电路设计,元件参数的选取,焊接实物的问题上仍然存在不足,最重要的是认识到了光有理论知识是远远不够的,理论需要结合实践才能发挥最大的作用。
这些问题的暴露让我知道了以后努力的方向,在加强理论学习的基础上,提高自己解决问题的能力,提高自己动手实践的能力。
参考文献
[1]李群芳.单片微型计算机.北京:
电子工业出本社,2008
[2]伍时和.数字电子技术基础.北京:
清华大学出版社,2009
[3]胡乾斌.单片微型计算机原理与应用.武汉:
华中科技大学出版社,2006
[4]李刚.51系列单片机系统设计与应用技巧.北京:
北京航空航天大学出版社,2004
[5]孙育才.MCS-51系列单片微型计算机及其应用.南京:
东南大学出版社,1997
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 串口 通信 单片机 仿真 语言 开发