以pc为上位机,单片机为下位机双向通信

以pc为上位机,单片机为下位机双向通信

ID:29450007

大小:391.50 KB

页数:9页

时间:2018-12-20

以pc为上位机,单片机为下位机双向通信_第1页
以pc为上位机,单片机为下位机双向通信_第2页
以pc为上位机,单片机为下位机双向通信_第3页
以pc为上位机,单片机为下位机双向通信_第4页
以pc为上位机,单片机为下位机双向通信_第5页
资源描述:

《以pc为上位机,单片机为下位机双向通信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案一实验背景串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现PC对单片机的控制而且对在机电控制中具有十分重要的地位,掌握串口通信的实现方法以及上下位机的通信原理对日后进行机电控制的开发具有深远意义。二设计目的1)提高学生的动手能力,以及能够利用所学的知识来完成作品,达到复习知识的目标;2)较为详细了解8051芯片的性能;3)能够了解到单片机系统的基本原理,了解单片机控制原理;4)掌握AT89C51程序控制方法;5)掌握AT89C51C语言中的设计和学会分析程序,进而能够根据自己的需要编写代码

2、;6)掌握在PC与单片机在仿真时用到的VirtualSerialPortDriver和串口调试助手的使用方法;7)掌握PC作为上位机以及单片机作为下位机的工作原理;8)通过学习PC与单片机的工作原理及编程方法,提高编程能力以及创新能力;9)培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;10)能够按课程设计的要求编写课程设计报告,能够正确反映设计和实验成果。三设计要求与主要内容:设计要求当运行时,会弹出VirtualTerminal-VT1窗口,PC的串口设置为COM2,在串口调试助手软件中设置串口为COM1,开关断开,PC机

3、发送数据到单片机中即当在串口调试助手软件中输入0123456789时,VirtualTerminal-VT1窗口中显示0123456789,同时数码显示管循环显示0,1,2,3,4,5,6,7,8,9。按下按键时,即单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机精彩文档实用标准文案“这是由8051发送的字符串!”。主要内容1)PC上位机与C51下位机的通信原理及串口的使用。2)PC机发送字符给单片机,单片机接收到在数码管上进行显示。3)单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机“这是由8

4、051发送的字符串!”。实验步骤1)启动keiuvision32)新建工程命名为单片机的C语言设计与应用3)新建文件并另存为计算机控制.c4)在SourceGroop1导入文件5)编写代码,并生成C语言设计与应用.hex文件6)在Proteus中设计电路如图3-1示7)在虚拟串口软件VirtualSerialPortDriver中设置串口COM2与COM1(如图3-2示)利用这个软件将PC的模拟串口1与模拟串口3连接一起,这两串口就可以进行通信了。8)在串口调试助手中设置串口为COM1,在仿真的PC中设置串口为COM2,而且波特率与校

5、验位停止位数据位设置一致,设置参数参考图3-29)将计算机控制.hex文件导入Proteus中10)观察并记录实验数据,得出实验结论。精彩文档实用标准文案图3-1图3-2四设计程序原理:(包含仿真图和流程图)1)主程序流程图初始化设置波特率串口寄存器设置启动定时器单片机接收PC发送的数字字符判断是否接收到-1YN继续接收数据直到收到-1结束精彩文档实用标准文案2)程序流程图开始初始化启动定时器设置接收中断函数外部中断0设置:通过串口设置PC发送字符串至单片机,单片机通过显示管显示发送的数字按下按键,单片机回发给PC机结束精彩文档实用标

6、准文案3)仿真图运行前如图4-1示PC发送字符串至单片机,单片机通过显示管显示发送的数字如图4-2示精彩文档实用标准文案单片机回发给PC机如图4-2示五程序代码#include#defineucharunsignedchar#defineuintunsignedintucharReceive_Buffer[101];//接收缓冲ucharBuf_Index=0;//缓冲空间索引//数码管编码ucharcode精彩文档实用标准文案DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7

7、d,0x07,0x7f,0x6f,0x00};//延时voidDelayMS(uintms){uchari;while(ms--)for(i=0;i<120;i++);}//主程序voidmain(){uchari;P0=0x00;Receive_Buffer[0]=-1;SCON=0x50;//串口模式1,允许接收TMOD=0x20;//T1工作模式2TH1=0xfd;//波特率9600TL1=0xfd;PCON=0x00;//波特率不倍增EA=1;EX0=1;IT0=1;ES=1;IP=0x01;TR1=1;while(1){fo

8、r(i=0;i<100;i++){//收到-1为一次显示结束if(Receive_Buffer[i]==-1)break;P0=DSY_CODE[Receive_Buffer[i]];DelayMS(200);}精彩文档

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。