《51单片机与PC机通信.pdf》由会员分享,可在线阅读,更多相关《51单片机与PC机通信.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、志不强者智不达,言不信者行不果。墨翟谋事在人,成事在天!增广贤文 专业综合实习报告 专 业:电子信息工程 年 级:2013 级 指导教师:学 生:以铜为镜,可以正衣冠;以古为镜,可以知兴替;以人为镜,可以明得失。旧唐书魏征列传宠辱不惊,看庭前花开花落;去留无意,望天上云卷云舒。洪应明 目录 一:实验项目名称 二:前言 三:项目内容及要求 四:串口通信原理 五:设计思路 虚拟串口的设置 下位机电路和程序设计 串口通信仿真 六:电路原理框图 七:相关硬件及配套软件 AT89C51 器件简介 COMPIN 简介 MAX232 器件简介 友善串口调试助手 虚拟串口软件 Virtual Serial P
2、ort Driver 八:程序设计 九:proteus 仿真调试 十:总结 十一:参考文献 良辰美景奈何天,便赏心乐事谁家院。则为你如花美眷,似水流年。汤显祖好学近乎知,力行近乎仁,知耻近乎勇。中庸一:实验项目名称:基于 51 单片机的单片机与 PC 机通信 二:前言 在国内外,以 PC 机作为上位机,单片机作为下位机的控制系统中,PC 机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受 PC 机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。目前,随着集成电路集成度的增加,
3、电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台 PC 机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从
4、机发回的数据,供进一步的决策和报表。从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。MCS-51 系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232 的串口。串口同时也是仪器仪表设备通过用的通讯协议,很多 GPIB 兼容志不强者智不达,言不信者行不果。墨翟勿以恶小而为之,勿以善小而不为。刘备的设备也带有 RS-232
5、 口。同时串口通讯协议也可以用于获取远程采集设备数据。所以,深入的理解学习和研究串口通信相关知识是非常必要的。此次毕业设计选题为“PC 机与 MCS-51 单片机的串口通讯”,使用 51 单片机来实现一个主从式的总线通讯系统。通过此次设计,对串口通讯的原理和应用融会贯通,为以后的时间工作储备知识和研究方法。三项目内容及要求 基于 51 单片机,在相关软件的辅助下,建立起单片机与 PC 机之间的通信机制,使用 proteus 仿真软件进行仿真,要求可从 PC 机上发送数字及英文字母出来,由单片机接收并在虚拟软件显示屏上显现出来,有开关控制数字或者是字母的发送。四:串口通信原理 单片机与外围部件或
6、设备的数据传输方式有并行通信和串行通信两种方式,本实验主要通过串行通信方式进行单片机与 PC 机之间的数据传输,故略去并行通信方式的介绍。串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为 1 或者为 0。这种传送方式具有方法简单,灵活性强,可靠性高等特点,同时需要的传送线少,适于远距离传送。但是,由于数据是按位发送出去的,因此
7、这种数据传送方式比并行通信速率低。串行通信又可以分为同步通信和异步通信两种方式。同步通信是指同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方人不知而不愠,不亦君子乎?论语谋事在人,成事在天!增广贤文建立同步,此后便在同步时钟的控制下逐位发送/接收。进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本
8、无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。五设计思路 Pc 机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(Pc 机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。本文介绍一种用纯软件实现PC 机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上通过软件完成。上位机由Pc 机代替,下位机由用PROTEUS软件设计的AT89C51 单片机仿真
9、电路代替串口及连接通过由虚拟串口软Virtual Serial Port Driver 进行连接。虚拟串口的设置 安装虚拟串口软件 Virtual Serial Port Driver,然后打开,左边上面的COMl 是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。因为电脑最多有两个物理串口,将圆圈里的串口改为 COMl,COM3,点击 Add pair,这就表示,利用这个软件将计算机的串口 l 和模拟串口 3 联接了起来,这两个串一寸光阴一寸金,寸金难买寸光阴。增广贤文以家为家,以乡为乡,以国为国,以天下为天下。管子牧民口可以进行通信了。下位机电路和程序设计 用 Proteus6
10、9 设计的仿真电路只用了几个元器件。由于两个虚拟串口采用相同的标准电平,因此电路中用来作,ITllL 电平向 RS232 电平转换的电路在仿真电路中可以省略。单片机的实例程序用 Keil C51 语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。人人好公,则天下太平;人人营私,则天下大乱。刘鹗谋事在人,成事在天!增广贤文 串口通信仿真 打开友善串口调试助手,修改串口为 COM3,波特率为 9600,校验位为 None,数据位 8,停止位为 1。用 Proteus 打开仿真电路文件,先设置 AT89C51 的属性,右击选中 AT89C5l,再用左键单击
11、AT89C51,在出现的属性对话框里点击 Program File 后的打开按钮,找到自 Keil 源程序编译好的HEX 文件后单击打开,然后在 Clock Frequency 后填写 12M。单击 OK 接下来打开串口 COMPIN 的属性对话框,在 PhsicalPort 后选择 COMl,波特率为 9600,校验位为 None,数据位 8,停止位为 l。设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。首先演示一下单片机向计算机的串口发送数据。拨动开关向右拨,运行,按一下开关。虚拟串口终端最示单片机向计算 机 COMl 发送的数据,而计算机的 COMI 已经和COM3 相连,因软
12、件 PROTEUS 所此可以在 COM3 收到单片机发送给 COMi 的数据。接着冉演示一下计算机的串口向单片机发送数据。拨动开关向左拨,在口调试助手中输入想要发送的数据,点击手动则字符 串由 COM3 发送给了计算机的 COMI。再由 COMI 发送给单片 机。单片机的程序里面有回显功能,将接 送给了 COM 因 此可以在 COM3 的接受框内能够接收到会显得字符串。六电路原理框图 我尽一杯,与君发三愿:一愿世清平,二愿身强健,三愿临老头,数与君相见。白居易老当益壮,宁移白首之心;穷且益坚,不坠青云之志。唐王勃 七相关硬件及配套软件 AT89C51 器件简介 AT89C51 是一种带 4K
13、字节 FLASH 存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪速存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C051 是它的一种精简版本。AT89C51 单片机
14、为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。COMPIN 简介 COM 口(cluster communication port)即串行通讯端口。微机上的 com 口通常是 9 针,也有 25 针的接口,最大速率 115200bps。通常用于连接鼠标(串口)及通讯设备(如连接外置式 MODEM 进行数据通讯或一些工厂的 CNC 机接口)百学须先立志。朱熹丈夫志四方,有事先悬弧,焉能钧三江,终年守菰蒲。顾炎武等。一般主板外部只有一个 COM 口,机箱后面和并口一起的那个九孔输出端(梯形),就是 COM1 口,COM2 口一般要从主板上插针引出。并口是最长的那个梯形口。本实验主要应用九针接
15、口。MAX232 器件简介 MAX232 是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单 5V 电源供电时提供 EIA/TIA-232-E 电平。当用单片机和 PC 机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和 RS232 的标准不一样,因此要通过 max232 这种类似的芯片进行电平转换。穷则独善其身,达则兼善天下。孟子吾日三省乎吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎?论语 友善串口调试助手 一个强大而稳定的串口调试助手,支持常用的 110-921600bps 波特率及自定义波特率,波特率最高可支持 8000000(串口硬件有关),可适应
16、于非标准波特率。支持串口自动识别,能设置校验、数据位和停止位,能以 ASCII 码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。虚拟串口软件 Virtual Serial Port Driver 简介 该软件安装成功后可以虚拟出多个串口用于实验,虚拟串口都是成对出现使用的,最大限度的方便了用户数的需求。以家为家,以乡为乡,以国为国,以天下为天下。管子牧民万两黄金容易得,知心一个也难求。曹雪芹 八程序设计 注:本程序采用 C 语言编写,程序如下:#include#define uint unsigned int#define
17、 uchar unsigned char uchar Receive_Buffer101;uchar Buf_Index=0;uchar code DSY_CODE=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00;void Delay(uint x)uchar i;while(x-)非淡泊无以明志,非宁静无以致远。诸葛亮海纳百川,有容乃大;壁立千仞,无欲则刚。林则徐 for(i=0;i120;i+);void main()uchar i;P0=0 x00;Receive_Buffer0=i;SCON=0 x50
18、;TMOD=0 x20;PCON=0 x00;TH1 =0 xfd;TL1 =0 xfd;EA =1;EX0 =1;IT0 =1;ES =1;IP =0 x01;TR1 =1;while(1)for(i=0;i=0&c=9)Receive_BufferBuf_Index=c-0;Receive_BufferBuf_Index+1=-1;Buf_Index=(Buf_Index+1)%100;ES=1;void EX_INT0()interrupt 0 uchar*s=(Receiving From 8051.rn);uchar i=0;人人好公,则天下太平;人人营私,则天下大乱。刘鹗云路鹏程九万里,雪窗萤火二十年。王实甫 while(si!=0)SBUF=si;while(TI=0);TI=0;i+;