单片机与PC机串口通信

单片机与PC机串口通信
单片机与PC机串口通信

摘要

微机与单片机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。本次设计主要解决上位机与下位机之间的通信问题。

关键词:串行通信,单片机,PC机

第一章:绪论

随着计算机技术的迅速发展及其在各领域的广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、

价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。

单片机改变了我们生活,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机, 单片机有着广阔的应用前景。

如今,随着单片机和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由PC机和多台单片机构成的多机网络测控系统已成为单片机技术发展的一个方向。它结合了单片机在实时数据采集和微机对图形处理、显示的优点。

本次设计的任务是:1)掌握单片机的工作原理与接口设计。2) 完成硬件设计, 包括硬件选择及硬件原理图绘制。3) 完成软件设计,绘制程序流程图。给出在分布式控制系统中上位PC机与下位单片机之间进行异步串行通信的解

决方案,实现了上位机向下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能。使得在实际运行过程中,简单方便,稳定可靠,较好地解决上位机与下位机之间的通信问题。

本设计将实现以下功能,即单片机通过串行口向PC发送字符串并且可以接收由PC发送过来的数字。

具体实现结果为:将从单片机键盘上键入的字符显示到PC显示器上,将PC 键盘输入的数字(0-9)显示到单片机的数码管上。

第二章:基础知识及介绍

2.1 AT89C51单片机的工作原理

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

该系列单片机在结构上基本相同只是在个别模块和功能上有些区别,图2.1是AT89C51单片机的内部结构框图。它包含了作为微信计算机所必须的基本功

能部件,各功能部件通过片内单一总线连成一个整体,集成在一块芯片上。

图2.1 A T89C51单片机内部结构框图

2.2 单片机串行口与PC机通讯概述

到目前为止,计算机控制系统已逐步从单机控制向多机控制发展并出现了以计算机技术为核心,与数据通讯技术相结合的具有检测、控制和管理等多功能的计算机网络,即我们所说的“集中分布式测控系统”。

我们都知道,基本原理PC机与单片机之间一般采用2种通信方式:1)并行通信和串行通信,见(图2.2;图2.3),其中,串行通信是将数据一位一位地按顺序传送。并行通信虽然传输效率高,由于所需硬件设备复杂,不适于长距离通信,所以一般只适用于要求实时性强,传送速率较高的控制系统中,实用面较窄;相比之下,串行通信简单易实现,传输距离较长,所以已被广泛应用于各种工控系统中。串行通信分为同步通信和异步通信2种方式。

同步通信是指通过在每个数据块开始时的同步字符来实现收/发双方同步的一种数据传输方法,常用于信息量大,速度要求高的场合;异步通信则规定了标准的字符数据传输格式,即每一帧信息由起始位、数据位、奇偶校验位和停止位组成。由于有冗余位,所以传送效率不高,常用于信息量不大,速度较低的场合。在计算机测控系统中,由于串行接口的标准化,一般采用异步串行通信方式,以提高其通用性。由于各种接口的机械和电器特性有所差异,串行通信分为近程通信和远程通信。2 接口电路的设计2.1 近程通信目前,PC 机是利用异步通讯控制器来实现串行通讯的,其核心是8250通讯芯片加上一些收发逻辑电路。接口标准大多是RS232标准,其通讯距离小于15 m,传输速率小于20 kb/s。RS232标准是按负逻辑定义的,他的“1”电平在-5~-15 V 之间,“0”电平在+5~+15 V之间。由于PC机使用的是TTL电平信号,因此数据输出时必须把TTL电平信号转换成驱动器MC1488和接收器MC1489,其作用除了电平转换外,还实现正负逻辑电平转换。

图2.2 并行通信图2.3 串行通信

第三章:硬件设计

3.1 整体设计思路及原理

当51单片机与PC机通过RS-232标准总线串行通信时,由于RS-232信号电平与51单片机信号电平不一致,因此,必须进行信号电平转换。本设计采用专门集成芯片MAX232来实现51单片机与RS-232的接口电路。

此外,单片机工作必须使用到晶振电路和复位电路。晶振电路是给单片机提供时钟信号,复位电路给单片机提供复位功能,它的作用是使单片机的程序计数器清零。

因此,基于protuse的AT89C51单片机与PC串口通信电路主要由51单片机外围电路(晶振电路、复位电路、外部中断)、电平转换电路MAX232、RS232接口、LED数码显示管及虚拟终端组成。硬件电路整体框图如图3.1所示:

图3.1 硬件电路整体框图

3.2 单片机外围电路

1).晶振的原理及作用:晶振是电路中常用用的时钟元件,全称是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。

图3.2 晶振电路原理图

2).复位电路原理

复位电路的作用:在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。

图3.3 复位电路

3).单片机的外部中断

5 1单片机一般有两个外部中断输入端,并允许外部中断源以低电平或负边沿两种触发方式输入中断请求信号。本设计就是利用一只按钮,在按下时产生的负边沿触发外部中断。将一只按钮接在外部中断输入0即12口。

3.3 电路连接框图及接口

本次课程设计中我们采用一块MAX3221芯片,把从AT89C51中过出的信号进行电平转换后输出到PC,把从PC发过来的信号发送给AT89C51,设计中的RS-232接口电路连接方式如图3.4所示:

图3.4 RS-232接口电路连接方式

其中我们运用的接口是RS-232——个人计算机上的通讯接口,

由电子工业协会所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,由于串行通信是在一根传输线上一位一位的传送信息,所用的传输线少,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传输.

第四章:软件设计

PC 机上的串行接口采用RS-232C 串行通信标准接口,其逻辑1电平为-5V~-15V ,表示传号状态;其逻辑0电平为+5V~+15v,表示空号状态;其逻辑电平与TTL;CMOS 电平不兼容。因此,RS232驱动器与TTL 电平连接必须经过电平转换。MAX232是RS232转换芯片。

4.1串行通信基本原理

4.1.1串行口的工作方式

串行口分四种工作方式,由SM0、SM1二位决定,其定义如下表:

表4.1 串行口的工作方式 SM0

SM1 工作方式 功能描述 波特率 0

0 方式0 8位移位寄存器 Fosc/12 0

1 方式1 10位UART 可变 1

0 方式2 11位UART Fosc/64或fosc/32 1

1

方式3 11位UART 可变

(1)方式0:串行口的工作方式0为移位寄存器I/O 方式,可外接移位寄存器,一扩展I/O 口,也可外接同步I/O 设备。 发送操作:当执行一条“MOV SBUF,A”指令时,启动发送操作,由TXD 输出移位脉冲,由RXD 串行SBUF 中的数据。发送完8位数据后自动置TI=1.请求中断。要继续发送时,TI 必须有指令清零。 接收操作:REN 是串行口接收允许控制位。REN=0时禁止接收;REN=1时允许接收。当软件将REN 置“1”时,即开始从RXD 端口以fosc/12波特率输入数据,当接收到8位数据时,将中断标志RI 置“1”。再次接收数据之前,必须用软件将RI 清0

(2)方式1:串行口位10位通用异步接口。发送或接收一帧数据信息为10位,包括1位起始位“0”、8位数据位、1位停止位“1”。 发送数据:数据从TXD 端口输出,当数据写入发送缓冲器SBUF 时,就启动发送器发送。发送完一帧数据后,置中断标志TI=1,申请中断,通知CPU 可以发送下一个数据了。 接收数据:首先使REN=1(允许接收数据),串行口从RXD 接收数据,当采样到1至0跳变时,确认是起始位“0”,就开始接收一帧数据,当接收完一帧数据

时,置中断标志RI=1,申请中断,通知CPU从SBUF取走接收到的数据(3)方式2:串行口为11位异步通信接口。发送或接收一帧信息包括1位起始位“0”、8位数据位、1位可编程位、1位停止位“1”。发送数据:发送前,先根据通信协议由软件设置TB8为“奇偶校验位”或“数据标识位”,然后将要发送的数据写入SBUF,即能启动发送器。发送过程是由执行任何一条以SBUF为目的寄存器的指令而启动的,把8位数据装入SBUF,同时还把TB8装到发送移位寄存器的第9位上,然后从TXD(P3.1)端口输出一帧数据。接收数据:先置REN=1,使串行口为允许接收状态,同时还要将RI清“0”。然后再根据SM2的状态和所接收到的RB8的状态决定此串行口在信息到来后是否置R1=1,并申请中断,通知CPU接收数据。当SM2=0时,不管RB8为“0”还是为“1”,都置RI=1,此串行口将接收发送来的信息。当SM2=1时,且RB8=1,表示在多机通信情况下,接收的信息为“地址帧”, 此时置RI=1, 串行口将接收发来的地址。当SM2=1时,且RB8=0,表示在多机通信情况下,接收的信息为“数据帧”, 但不是发给本从机的,此时RI不置为“1”,因而SBUF中接收的数据帧将丢失。

(4)方式3:为波特率可变的11位异步通信方式,除了波特率有所区别之外,其余方式都与方式2相同。

本设计中单片机串行口工作在方式1(波特率可变10位异步通信方式),T1为波特率发生器,以TXD为发送端,RXD为接收端,根据给定的波特率可以计算计数初值。

4.1.2波特率

波特率(Baud rate)即调制速率,指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号。

串口波特率设置说明:波特率不要设置太高,波特率设置过高会导致传输数据不稳定,会出现丢包的现象。由图可知,本设计的波特率为9.6K..

表4.2 常用波特率与定时器/计时器1各参数关系(T1*12/AUXR.6=0)

4.2程序设计思路

本次课程设计主要分为单片机程序设计,PC机程序设计两大模块,主程序设计思路流程图如下图3.2所示。单片机和PC机程序具体设计框图将在下面章节中作具体介绍。

图4.1 主程序设计思路流程图

4.3单片机程序设计

设计单片机通信程序时,必须充分发挥单片机的效率。由于单片机多应用于实时性较强的控制场合,因此,应将及时响应和控制对象的动作放在优先考虑的位置,以尽量减少通信等辅助性操作所占用的CPU时间。基于上述考虑,在设计单片机通信程序时,将通信程序分为接收中断处理程序、发送中断处理程序和通信处理程序3部分,并将这3部分程序巧妙地进行组合,从而构成整个单片机的通信程序。

4.3.1接收中断处理程序

接收中断处理程序主要负责接收微机发送到单片机接收缓冲区(不对数据进行处理,以减少中断占用的时间)的数据,当接收到规定的字符数或在一定等待时间内无后续数据之后,置接收完毕标志,以表明接收缓冲区中有待处理的数据并请求通信处理程序对其进行处理。其流程图如图3.3所示。

图4.2 接收中断处理程序流程图

4.3.2发送中断处理程序

发送中断处理程序主要负责向微机发送数据,发送中断一般处于禁止状态,只有在通信处理程序将需要发送的数据写入单片机的发送缓冲区,并将发送中断置为允许方式后,发送中断才开始工作,并将缓冲区数据逐一发送给微机。当发送完指定长度的数据后(发送缓冲区为空),发送中断处理程序将发送中断置为禁止(关闭)状态,直到通信处理程序将其再一次开放。其流程如图 3.4所示。

图4.3 发送中断处理程序流程图

4.3.3通信处理程序

考虑到尽量减少通信中断程序所占用的CPU时间,通信处理程序被放在普通主循环中调用。只有在接收到上位机送来的一串数据,且接收完毕标志为“ON”时,才能真正进行处理,否则不进行处理。这样就可利用送信后等待微机回答的时间进行别的处理,从而消除了空等待时间,提高了CPU的利用率。通信处理程序可根据通信处理状态的不同来分别执行不同的路径。在进入相应路径后,首先对接收缓冲区的内容进行正确性检查,检查正确后再根据通信要求或协议规定对缓冲区的内容进行处理(包括内存的写入和读出),同时重新组织数据到发送缓冲区以向微机发送数据,最后退出通信处理程序以执行其它的程序。待接收中断程序重新接收到数据并将接收完标志置为“ON”后,

可重新进入通信处理程序进行处理。通信处理程序流程图如图3.5所示。

图4.4 通信处理程序流程图

4.4 PC机程序设计流程图

通信协议:

波特率:1200b/s.

信息格式:8位数据位,1位停止位,无奇偶检验。

传送方式:PC机采用查询方式接收数据,51单片机采用中断方式接收,查询方式发送。

校检方式:累加和校检。

握手信号:采用软件握手。发送方在发送之前先发送一个联络信号“?”,接收方在接收到“?”后回送字符“。”作为应答信号,随后依次发送数据块长度,发送数据,最后发送校检和。接收方在收到发送方发送过来的校检和后与自己

所累加的校检和比较。若相同,则回送一个“0”,表示正确传送并结束本次的传送过程;若不相同,则回送一个“F”,要求发送方重新发送数据,直到接收正确为止。

4.4.1 PC机发送文件子程序

图4.5 PC机发送文件子程序流程图

输入一个文件先判断时候正确,如果正确先去的文件句柄然后发送联络信号给PC机,然后判断此时是否有键按下,若有键按下直接返回DOC;反之没有键按下就到判断“是否收到有键按下”的信息,若没有则继续循环这个判断的过程,直到有键按下;若有则进行接下来的程序判断:先发统计好的总字节数,然后进行校检和,将计算好的校检和给受应答信号,判断此时是否有应答。如果有应答则进入循环计算字节总数的程序中累加校验和,计算总的校验和,直到没有应答为止,将文件关闭。至此PC机发送文件子程序就结束了。

4.4.2 PC机接收文件子程序

图4.6 PC机接收文件子程序流程图

从已经建立好的文件夹中找寻目标,并判断正误,若内容正确则发送联络信号并且判断其是否是已经接收,如没有接收到则转向判断“是否有键按下”,若有则直接返回DOC;若没有则要进入到循环判断的阶段中,直到有确定的信息被接收到为止。如果已经接收,则返回一个“.”的信号,进一步计算接收总字节数,统计校检和和接收到的校检和并判断校检是否正确,若正确则向外发送“0”并关闭文件,反之,如果校检错误则向外发送“F”进入判断校检和的循环中,直到校检正确,并向外发送“0”为止。

4.4.3 PC机主程序流程图设计

图4.7 PC机主函数流程图

在有了上述发送和接收文件两个子函数之后,就可以以直接调用主函数来实现功能。主函数的工作是在判断传输进入的命令是否正确,正确则进入初始化并且完成串口初始化,反之,如果错误,则显示“错误”,然后返回DOS。完成串口初始化后,根据键入的命令来决定是发送还是接收文件,最后返回DOS。

软件设计总流程图

图4.8 单片机与PC机通信程序流程图

第五章:总结语

经过一个星期的努力终于把设计顺利完成了。通过这一个星期的学习,我发现自己还有好多不足之处。

本设计就是采用MCS-51系列单片机,利用AT89C51单片机串行口,实现与PC机通讯。本设计中包括了单片机通讯的编制,串行通讯的硬环境,数据格式的协议,数据交换的协议等多方面的知识,在这个单片机串行口与PC机通讯设计中,我主要是说明它的原理和应用,然后用一个相对简单的实验来实现这个功能。通过这次设计使我对这一学期所学的知识更加的系统化、深层次化。通过这次设计学会了分析问题、处理问题的方法,可以说达到了举一反三的目的。为以后工作、学习都打下了比较坚实的基础。

总之,我们在设计过程中学到了许多。作为现代的大学生,如果仅停留在以往的层次上,是远远跟不上时代的步伐,也无法使自己立足在竞争如此激烈的社会里,通过此实验,让我看到了自己的水平和差距,虽然我们有很多不足,但是在我们的努力下,弥补了我们的缺憾。此次学习使我受益匪浅。从中学到很多以前没有接触到的错误,及其解决办法和某些程序的设计方法。增加了自己在编程方面的功底。

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.360docs.net/doc/931947071.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

汇编语言实现串口通信(PC和单片机间)教学文案

8.用C语言或汇编语言实现串口通信(PC和单片机间) 上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。由于PC 机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS-232或者RS-485接收、发送数据和传送指令。单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示 1 硬件电路的设计 MCS-51单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。所以单片机和PC机之间可以方便地进行串口通讯。单片机串口有3条引线:TXD(发送数据),RXD(接收数据)和GND(信号地)。因此在通信距离较短时可采用零MODEM方式,简单三连线结构。IBM-PC机有两个标准的RS-232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了PC机与MCS-51 机之间能可靠地进行串行通信,需要用电平转换芯片,可以采用MAXIM公司生产的专用芯片MAX232进行转换。电路如图1所示。硬件连接时,可从MAX232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。接口电路如图3.5所示。

总体设计按照整体设计思路方案绘制原理图如下所示: 2 系统软件设计 软件设计分上位机软件设计和下位机软件设计。这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的:一个发送,另一个接收。为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序。现约定通信协议如下:PC机和单片机都可以发送和接收。上位机和下位机均采用查询方式发送控字符和数据、中断方式接收控制字符和数据。采用RS-232串口异步通信, 1上位PC机与下位单片机异步串行通信的通信协议

实验单片机与PC机串口通信

实验单片机与PC机串口通信(C51编程)实验 要求: 1、掌握串行口的控制与状态寄存器SCON 2、掌握特殊功能寄存器PCON 3、掌握串行口的工作方式及其设置 4、掌握串行口的波特率(bondrate)选择 任务: 1、实现PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。 采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和PROTEUS分别仿真。 需要用到以下软件:KEIL,VSPDXP5(虚拟串口软件),串口调试助手,Proteus。 (1)虚拟串口软件、串口调试助手和KEIL C的联调 首先在KEIL里编译写好的程序。

打开VSPD,界面如下图所示:(注明:这个软件用来进行串口的虚拟实现。在其网站上可以下载,但使用期为2周)。 左边栏最上面的是电脑自带的物理串口。点右边的addpair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入 modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验 位、数据位、停止位 assigncom3sout %把单片机的串口和COM3绑定到一 起。因为所用的单片机是

(以上参数设置注意要和所编程序中设置一致!) 打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率9600,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。 实验实现PC机发送一个字符给单片机,单片机接收到后将其回发给PC机。在调试助手上(模拟PC)发送数据,单片机收到后将收到的结果回送到调试助手上。 2、以下在Proteus和串口调试助手实现的结果: 将编译好的HEX程序加载到Proteus中,注意这里需要加上串口模块,用来进行串行通信参数的设置。 点击串口,可以对串口进行设置: 用串口调试助手发送数据,即可看到仿真结果。 实验参考程序源文件在exp2-comm文件夹中。

51单片机与PC串口通讯

目录 第1章需求分析 ............................................................................................................................ - 1 - 1.1课题名称 (1) 1.2任务 (1) 1.3要求 (1) 1.4设计思想 (1) 1.5课程设计环境 (1) 1.6设备运行环境 (2) 1.7我在本实验中完成的任务 (2) 第2章概要设计 ............................................................................................................................ - 2 - 2.1程序流程图 (2) 2.2设计方法及原理 (3) 第3章详细设计 ............................................................................................................................ - 3 - 3.1电路原理 (3) 3.1.1STC89C52芯片 ............................................................................................................. - 3 -3.2串口通信协议 (4) 3.3程序设计 (5) 3.3.1主程序模块 .................................................................................................................... - 5 - 3.3.2串口通讯模块 ................................................................................................................ - 6 - 3.3.3控制部分文件 ................................................................................................................ - 8 - 3.3.4公共部分模块 .............................................................................................................. - 11 -3.4电路搭建 (12) 3.4.1电路原理图 .................................................................................................................. - 12 -第4章上位机关键代码分析 ...................................................................................................... - 12 - 4.1打开串口操作 (12) 4.2后台线程处理串口程序 (15) 4.3程序运行界面 (18) 第5章课程设计总结与体会 ...................................................................................................... - 19 -第6章致谢 .................................................................................................................................. - 19 -参考文献........................................................................................................................................... - 19 -

PC机串口与多个单片机红外无线通信的实现

《工业控制计算机》!""#年$%卷第%期&’机串口与多个单片机红外无线通信的实现 周文举山东枣庄师专计算机系 (!%%$(")&’机与一台或多台单片机的通信系统中的数据通讯一般 采用的是串行通信方式。串行通信可采用有线与无线两种方式,作者根据单片机串行通信原理、脉冲编码调制)&’*+技术和红外无线通信技术,开发设计了单片机编解码红外无线通信接口。用该接口构成的多机通信系统,由于采用红外线为传输介质,而不是电缆线和电磁波,所以特别适用于那些不适合或不方便架设电缆线及电磁干扰较强的工作环境。本文就利用红外技术实现&’机与多台单片机无线串行通信的实现作一介绍。 !多机通信原理 在多机数据通信系统中,&’机与单片机之间的数据通信采 用一对多的主从模式,利用波长为,#"!-的远红外波通信。其原理示意图如图$。主机为&’机,从机选择*’./0$系列单片机,在&’机上用12345675328(9"编制一个主程序,负责发送从机地址、控制命令和从站之间的信息传输及调度,从站则负责收集现场信息,进行一定的数据处理,根据主站的要求返回数据,并执行主站发出的命令。主站&’机与从站之间的信息交换是通过*.’:--控件来实现。在采用主从式多机串行通信系统中,从机不主动发送命令或数据,一切都由主机控制。并且在一个多机通信系统中,只有一台&’机作为主机,各从机之间不能直接相互通讯,即使有信息交换也必须通过主机转发。由于发送和接收共用同一物理信道因此在任意时刻只允许一台从机处于发送状态,其余的从机不能发送。只有被主机呼叫的从机才能占用总线, 对主机做出应答。 图$&’机与一单片机串行通信 每台从机均分配有一个唯一的从机地址,主机与从机通信时,主机先呼叫某从机地址,唤醒被叫从机后,主、从两机之间进行数据交换,而未被呼叫的从机则继续进行各自的工作。主机发送的信息可以传到多个从机或指定的从机,各从机发送的信息只能被主机接收。单片机通过对多机通信控制位.*!进行置位和复位来控制正确接收地址和数据信号,在返回数据时通过设 ;7<为"或$来区别返回的是数据还是地址。只有正确地完成 了接收和发送任务,才能触发有效的;=,>=信号,进而完成下一步的通信。接收时,检测>=是否建立起来,当>=为高电平,表示接收完毕。发送时,检测;=是否建立起来,当;=为高电平时说明 发送已经完成。而在主机上也要设立相应的多机通信机制,这一任务是通过改变*.’:--控件的.?@@2AB 属性中的奇偶校验位来实现的。发送和接收地址时置奇偶校验位为*,则主机在发送地址过程中发送的第,位;7<为$,而在接收地址时,只有接收到的第,位>7<为$时才能引起’:--CD?A@属性的变化,从而触发EA’:--事件;发送和接收数据时,置该位为.。则主机在发送数据过程中发送的第,位;7<为",而在接收数据时,只有接收到的第,位>7<为"时才能引起’:--CD?A@属性的变化,从而触发EA’:--事件。 在本设计中主机微机发送字符与接受字符均采用查询方式,发送前先读取通信或状态寄存器,查询发送保持寄存器空否?接收前先读取通信或状态寄存器,查询一帧数据收完否?从机采用中断方式,即接收到地址帧后就进行串行口中断申请,’&F 响应后, 进入中断服务程序。在通信协议中规定:"单片机以方式G 进行通信,一帧数据的第,位为“$”,代表地址帧,为“"”,代表数据帧。#设定通信波特率为,(""HI3;$地址帧为"$JKLLJ 代表!00台从机地址。%""J 是以地址帧形式发送的一条对所有从机起作用的控制命令,命令各从机恢复.*!M$,等待接收状态。 为了实现多机通信,所有发射电路的振荡频率和所有的接收电路的振荡频率都必须调整一致,为保证正常通信,防止自己发自己接,数据传送方向必须为半双工传送,收发器在发射时,必须屏蔽自己的接收中断,发射结束后再开放中断。 多机通信过程为: $)主机*.’:--的属性.?@@2AB3M “,("",*,<,$”,所有从机的.*!M$,处于地址帧接收状态。 !) 主机发送一帧地址信息,其中包含<位地址,第,位为“$”,与所需的从机进行联络。 G ) 从机接收到地址信息后,各自将其与自己的地址相比较;对于地址相符的从机使>=M",;7

单片机与PC机串口通信实现正文

毕业设计(论文)课题:单片机与PC机串口通信实现 学生: 孙波系部: 通信工程 班级: 通信1301 学号: 2013120325 指导教师: 童华 装订交卷日期: 2016年x月x日 装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献

毕业设计(论文)成绩评定记录表 注:1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定; 2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。 教务处制

重庆电子工程职业学院 毕业设计(论文)开题报告 系别通信工程专业通信技术班级通信1301 学生姓名孙波学号2013120325 指导教师童华 一、毕业设计的内容和意义: 目前,随着计算机和微电子技术的高速发展,单片机在国民经济的各个领域的智能化控制中得到了非常广泛的应用。单片机已成为信息处理、物联网络、通信设备、工业控制、家用电器等各个领域不可缺少的智能部件。在一些工业控制中,经常需要以单片机作为下位机执行对被控对象的直接控制,以PC机为上位机完成复杂的数据处理,组成主从式控制系统。 为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。从机被动的接收、执行主机发

单片机课设pc与单片机串口通信

哈 尔 滨 理 工 大 学 荣 成 学 院
单片机 课程设计
题目:PC 与单片机的串口通信 班级:电气 姓名: 学号:

一、题目简介
如今,在很多场合中,要求单片机不仅能独立完成单机的控制任 务,还要能与其他数据控制设备(单片机、PC 机等)进行数据 交换。串口通讯对单片机而言意义重大,不但可以实现将单片机 的数据传输到电脑端,而且也能实现电脑对单片机的控制。 89C52 有一个全双工的串行通讯口,所以单片机和电脑之间可以 方便地进行串口通讯。 串行口是计算机与外部设备之间进行数 据交换的重要介质,所以串行通信在工程中有着广泛的应用。这 种通信的实现,主要是靠上位 PC 机与下位单片机组成的二级系 统通过 RS232 进行通信。 此次设计通过计算机输入数据通过串口 传送给单片机进而在 LED 上显示。
二、实现方案
将程序写好后生成.HEX 文件,将其发送至 AT89C52 单片机上, 应用串口助手调好通讯端口与波特率后,打开串口助手实现 PC 发送字符给单片机,单片机接受到后即在 LED 屏幕上进行显示, 同时将其回发给 PC 机。



三、电路原理图







四、软件流程图
开始
初始化定时/计数器 1 和串口控制寄存器
启动定时/计 数器 1
取存储区数据并 启动串行口发送
N
发送完毕
Y
所有数据发送 完毕
N
等待 PC 机发送 命令数据
结束

单片机与pc串口通信

课程设计报告书课程名称:MCS-51单片机课程设计题目:单片机与PC机之间的通信 姓名:高永强 学号:010700830 学院:电气工程与自动化学院专业:电气工程与自动化 年级:2007级 指导教师:张丽萍

目录 1.引言与系统结构 (2) 2.硬件实现 2.1.AT89C52 (2) 2.2.MAX232芯片 (3) 2.3. 9针串口 (5) 3.虚拟串口调试 (7) 4.Proteus仿真原理图及元件清单 (14) 5.软件设计 (15) 6.主程序代码 (16) 7.心得体会 (18) 8.参考文献 (18)

1.引言与系统结构:利用PC 机配置的异步通信适配器,可以方便的完成 PC 机遇89C52单片机的数据通信。由于89C52单片机输入、输出电平为TTL 电平,而PC 机配置的是RS-232标准串行接口,二者的电器规范不一致,因此采用MXA232单芯片 实现89C52单片机于PC 机的RS-232标准接口通信电路。 如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC 机等)进行数据交换。串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现电脑对单片机的控制,比如可以很直观地把红外遥控器键值的数据码显示在电脑上,可以使编写红外遥控程序时方便不少,起到仿真器的某些功效。 89C52有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL 电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND.第2脚的RXD.第3脚的TXD 。 图 1 系统结构 2.硬件实现: 2.1 .AT89C52: AT89C52是51系列单片机的一个型号,它是ATMEL 公

单片机与PC串口通信课程设计

单片机与PC机的串口通信 摘要 单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统,但是其存储容量小,处理的数据量不大。为了克服这一缺点,我们可以将单片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数据处理。 单片机与PC机一般采用串行通信,由于51系列单片机中一般集成了全双工的串行端口,只要配以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,本设计将通过电平转换电路实现单片机与PC机中的RS-232标准总线之间的串行通信。这也是许多测控系统中常用的一种通信解决方案。 关键词:单片机,PC机,串行通信,电平转换,总线 目录 第一章:绪论 (1) 1.1课题研究的目的和意义 (1)

课程设计(论文)用纸 1.3课程设计的技术要求 (2) 1.3.1课程设计的具体要求如下 (2) 1.3.2本设计的主要功能 (2) 第二章:硬件电路的设计 (3) 2.1 串行通信的基本原理 (3) 2.1.1 串行通信的概念及分类 (3) 2.1.2 串行口的工作方式 (4) 2.2硬件电路设计方案 (5) 2.2.1整体设计思路及原理 (5) 2.2.2 AT89C51 单片机简介 (6) 2.2.3 单片机外围电路设计 (8) 2.2.4 MAX232芯片简介 (11) 2.2.5 接口电路设计 (13) 2.2.6 硬件电路设计图 (14) 第三章软件设计 (16) 3.1 单片机与PC总体设计流程图 (16) 3.2单片机程序设计流程图 (16) 3.3 PC机程序设计流程图 (18) 第四章总结 (21) 致谢 (22) 参考文献 (23)

单片机与PC机串口通讯设计

第一章串口通讯的系统组成与原理 1.1 系统组成及通讯原理 1.1.1 系统构成 一、MSP430F149功能简介: 本设计选用的主要芯片为MSP430F149,该单片机属于德州仪器公司MSP430F14X/16X FLASH 系列。该系列是一组工业级超低功耗的微控制器,运行环境温度为-40~+85 摄氏度工作电压范围 1.8~3.6V,MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压及灵活而可控的运行时钟方面都有其独到之处。由于具有16位RISC(精简指令集)结构,16位寄存器和常数寄存器,MSP430 达到了最大的代码效率。数字控制的振荡器提供快速从所有低功耗模式苏醒到活动模式的能力时间少于6ms。MSP430F149有较高的处理速度,在8MHz 晶体驱动下指令周期为125 ns。另外它带有两个16 位定时器(带看门狗功能)、速度极快的8 通道12 位A/D 转换器(ADC)(带内部参考电压、采样保持和自动扫描功能)、一个内部比较器和两个通用同步/异步发射接收器、48个I/O口(均可独立控制)的微处理器结构。硬件乘法器提高了单片机的性能并使单片机在编码和硬件上可兼容[3]。这些特点保证了可编制出高效率的源程序。 二、系统构成 1、系统框图 系统构成如图1-1所示,由上位机(即工业控制计算机)、通讯接口和下位机3部分组成。上位机选用的是工控机,智能终端由单片机MSP430F149和外围传感器放大电路等构成(本设计部涉及该部分的设计)。单片机与PC 机之间通信方式为串行异步方式(UART),下位机采用中断方式进行与上位机的数据交换,上位机采用按时查询方式对各串口进行读写操作。单片机MSP430要想与PC 串口连接或者其它带有串口的终端设备连接,接口电路部分必须要进行EIA-RS-232-C 与MSP430 电平和逻辑关系的转换[4]。本设计将采用MAX3221芯片,完成3V~5V 电平与串口电平的双向转换。

单片机与pc串口通信程序及电路图

单片机与pc串口通信程序及电路图 单片机与pc串口通信程序及电路图 #include #define BUFFERLEGTH 10 //----------------------------------------------------------------- void UART_init(); //串口初始化函数 void COM_send(void); //串口发送函数 char str[20]; char j; //------------------------------------------------------------------- void main(void) { unsigned char i; UART_init(); j=0; //初始化串口 for(i = 0;i }; while(1); } //------------------------------------------------------------- //-------------------------------------------------------------------------------------------------- // 函数名称:UART_init()串口初始化函数 // 函数功能:在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s // 串口接收中断允许,发送中断禁止 //-------------------------------------------------------------------------------------------------- void UART_init() { //初始化串行口和波特率发生器

51单片机与PC机串口通信

单片机P2口接8只LED灯,P3.2~P3.3引脚连接有K1和K2共2个按键,使用单片机串行口与PC机通信。 1)由PC机控制单片机的P2口,将PC机送出的数以二进制形式显示在LED灯上; 2)按下按键K1向PC机发送数字0x55,按下K2向PC机发送数字0xAA。 源程序如下: #define uchar unsigned char #include "string.h" #include "reg51.h" unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x08,0x03,0x46,0x21,0x06,0x0e}; //十六进制-7段译码表 void mDelay(unsigned int DelayTime) //延时函数 { unsigned char j=0; for(;DelayTime>0;DelayTime--) //延时循环 { for(j=0;j<125;j++) {;}}} void SendData(uchar Dat) //发送函数 { uchar i=0; SBUF=Dat; //发送Dat while(1){ if(TI) //如果发送中断标志为1,则等待, { TI=0; break; } //否则清除发送中断标志 }} uchar Key() //按键处理函数 { uchar KValue; //声明键值函数 P3|=0x3e; //中间4位置高电平 0011 1101 if((KValue=P3|0xe3)!=0xff) //如果按键按下 { mDelay(10); //延迟时间函数 if((KValue=P3|0xe3)!=0xff) //如果按键还在按下状态 { for(;;) //等待 if((P3|0xe3)==0xff) //如果按键抬起, return(KValue); //返回键值 }} return(0); //如果按键没有按下,返回0

PC机与单片机之间的串口通信分析

中山火炬职业技术学院 毕业综合实践项目 项目名称:PC机与单片机之间的串口通信分析作者:刘世浩 学号:1102070104 系别:信息工程系 专业:通信技术 指导老师:雷英 专业技术职务单片机技术

摘要 单片机的串行口在单片机的日常教学实践和实际的工程技术中,应用十分普遍,因此在学习和设计时经常会对串口进行仿真调试。PC机和单片机的串口通信系统的调试一般需要通过一根串口连接线把带有软件的上位机(PC机)和下位机(即单片机)连接起来进行,这种方法受实验条件的约束,而且比较烦琐。本文介绍一种用纯软件实现的仿真调试方法,全部过程都在一台电脑上通过软件完成此次课设主题为单片机串口通信的应用之一。通过串口,我们的个人电脑和单片机系统进行通信。个人电脑作为上位机,向下位机单片机系统发送数据帧,单片机系统接收后,发回通信协议要求的数据帧。可以用C++ Builder 语言制作的应用程序界面或串口调试助手字符串输入框中输入数字和字符来实现PC机与80C51系列单片机的串口通信。 关键词:单片机串口通信仿真 一、如何串行通信 实现利用虚拟终端仿真单片机与PC机间的串行通信。PC机先发送从键盘输入的数据,单片机接收后回发给PC机。单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。要能够进行数据传送也必须首先测试双方是否可以可靠通信。可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。这三个程序能运行通过,即可证明串行口工作正常。PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。 二、串行通信详细设计 1.串行通信原理 此次采用80C51系列串口的方式1进行串行通信。串口结构如图1所示。

单片机通过串口与电脑连接通信

本实验实现串口中断实验,通过中断和计算机进行通信 * 首先接受联机信号,然后接受计算机的相关控制信号* 本实验中,采用发送不同的字符给计算机来模拟接收到的不同的计算机控制命令* 通过扩展,可以实现不同的功能* * * * * * ********************************************************************************/ #include #define uchar unsigned char uchar time,b_break,b_break_3; ucharbuf; void waitsend() { while(!TI) { }; TI = 0; } //串行中断程序 void int_s(void) interrupt 4 { ES = 0; //关闭串行中断 RI = 0; //清除串行接受标志位 buf = SBUF; //从串口缓冲区取得数据 P1 = buf; //数据送往p1口显示出来 if(buf == 255) SBUF = 255; //发送联络信号 else{

switch(buf) { case 1: SBUF = 'M',waitsend();break; //如果接受到1,发送字符'M'给计算机case 2: SBUF = 'C',waitsend();break; //如果接受到2,发送字符'C'给计算机case 3: SBUF = 'S',waitsend();break; //如果接受到3,发送字符'S'给计算机case 4: SBUF = '5',waitsend();break; //如果接受到4,发送字符'5'给计算机 case 5: SBUF = '1',waitsend();break; //如果接受到5,发送字符'1'给计算机 default: SBUF = 'n',waitsend();break; //如果接受到其它数据,发送n给计算机 } } ES = 1; //允许串口中断 } void main(void) { P0 = 0; P2 = 255; //关闭数码管显示 EA=1; SCON=0x50;PCON=0X80; TMOD=0x20;ES = 1; TL1=TH1=0xf3;TR1=1; //串口工作在模1,波特率4800@12Mhz) while(1); //无限循环等待串行中断 }

51单片机与PC机通信

《专业综合实习报告》 专业:电子信息工程 年级: 2013级 指导教师: 学生:

目录 一:实验项目名称 二:前言 三:项目内容及要求 四:串口通信原理 五:设计思路 虚拟串口的设置 下位机电路和程序设计 串口通信仿真 六:电路原理框图 七:相关硬件及配套软件 AT89C51器件简介 COMPIN简介 MAX232器件简介 友善串口调试助手 虚拟串口软件Virtual Serial Port Driver 八:程序设计 九:proteus仿真调试 十:总结 十一:参考文献

一:实验项目名称: 基于51单片机的单片机与PC机通信 二:前言 在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。 目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。 为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。 用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。 串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容

PC与单片机的串口通信

PC与单片机的串口通信设计与实现

摘要 单片机经历TSCM、MCU、SOC三大阶段,以其超小型化、电路简单、功耗低等特点广泛应用于各个领域,本文提出了基于STC89C51单片机与PC串口通信的设计方案,从PC机对单片机数据的采集、显示,与PC机对单片机设备控制的两个方面分别论述。在介绍PC机与单片机之间串行通信硬件组成的基础上,详细介绍了在Windows环境下用VisualC++6.0的ActiveX技术设计串行通信程序的方法,并给出了通信程序中的部分关键源头代码。通过测定系统满足实时采集、实时处理和实时控制对速度的要求。 关键字:串行通信;VisualC++6.0;控件;单片机

Abstract The design has been verificated, and the results show that the design can achieve a variety of functions. Keyword:

第一章绪论 1.1 单片机概述 单片机也被称为微控制器[1](Microcontroller),由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。它是70年代中期发展起来的一种大规模集成电路芯片,是CPU、RAM、ROM、I/O 接口和中断系统集成于同一硅片的器件。单片机用于控制有利于实现系统控制的最小化和单片化[2],简化一些专用接口电路,如编程计数器、锁相环(PLL)、模拟开关、A/D和D/A变换器、电压比较器等组成的专用控制处理功能的单板式微系统。 按照用途不同,单片机可分为通用型与专用型两大类。 通用型:可开发的内部资源:RAM、ROM、I/O等功能部件,全部提供给用户。用户根据需要,设计一个以单片机芯片为核心的测试系统。 专用型:专门针对某些产品的特定用途而制作的单片机,针对性强且数量巨大。 1.2 课题的来源及研究意义 在各种单片机应用系统的设计中,常常遇到单片机与PC的通信问题,在速度要求不高、传送距离不远的场合一般采用RS232标准串行接口实现,在传送距离较远的场合,可以通过网络实现PC间的通信,与单片机相连的PC通过网络将数据发送到远程电脑,从而实现远程控制[3]。随着信息技术的发展,计算机和网络越来越普及,对单片机的远程控制与测量的要求也越来越多,而本地PC 与单片机的串口通信是实现单片机远程控制的前提与基础。本文在结合现有研究的基础上,对相关的设计进行一定得改进和创新,设计一个本地PC机与单片机串口通信系统。通过VC可视化编程,使本地PC获取单片机指定存储器中数据,并并显示在PC程序页面上;也可通过VC可视化编程,控制单片机上的设备运行。 1.3本文所作的工作 本文主要研究了基于STC89C51单片机与PC的串口通信技术,并以此为基础

51单片机与PC通信仿真(虚拟串口、串口助手)

单片机与PC通信仿真 工具: 串口助手虚拟串口 实验效果图: 实验程序: /******************************************************************** ************* * 【编写时间】: 2016年6月24日 * 【作者】:小瓶子 * 【实验平台】: Proteus 7 * 【内部晶振】: 11.0592mhz * 【主控芯片】: STC89C51 * 【编译环境】: Keil μVisio4

* 【程序功能】:单片机与PC通信 * 【程序说明】:按下单片机的K1 键后,单片机可向PC 发送字符串 ********************************************************************* *************/ #include #define uchar unsigned char #define uint unsigned int uchar Receive_Buffer[101]; //接收缓冲 uchar Buf_Index=0; //缓冲空间索引 //数码管编码 uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00}; //延时 void DelayMS(uint ms) { uchar i; while(ms--) for(i=0;i<120;i++); } //主程序 void main() { uchar i; P0=0x00; Receive_Buffer[0]=-1; SCON=0x50; //串口模式1,允许接收 TMOD=0x20; //T1 工作模式2 TH1=0xfd; //波特率9600

单片机与PC机通信设计

课程设计报告书 目录 一.摘要 二.简介 三.系统概述 3.1单片机的发展 3.2 MCS-51系列单片机 四.单片机与pc通信实习设计 4.1单片机与pc通信设计介绍 4.2 51系列单片机的系统设计 五.软件设计 5. 1系统软件设计 5. 2 单片机与PC机通信设计软件 5. 3 流程图设计 六.硬件部分 6.1硬件设计 6.2主控制单片机 6.3LED显示模块 6.4总体设计电路图 6.5程序源 七.结论 八.参考资料

正文 一.摘要 兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。 串行通信是计算机进行数据通信的一种主要方式之一,而单片机通信主要采用串行通信。这也就引导我们向这方面发展,以至有了单片机的双机通信,多机通信,单片机与PC机的通信等等 关键字:单片机pc 通信显示串行 二.实习简介 实习内容:单片机与PC机通信设计 a)查找资料学习单片机与PC机的通信原理; b)理解KST-51的串口通信电路图; c)编制程序实现:将数字0-255从PC机的串口助手发送到单片机并用 数码管显示。 d)绘制PROTEL 原理图; 三.系统概述

3.1 单片机的发展 单片机也被称为微控制器,是因为他最早被应用在工业控制领域。,经历SCM、MCU、SOC三大阶段。 (1)SCM即单片微型计算机阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。 (2)MCU即微控制器阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。 (3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。 3.2MCS-51系列单片机介绍 单片机的全称是单片微型计算机。为了使用方便,它把组成计算机的主要功能部件:中央处理器(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、E2PROM或FLASH)、定时/计数器和各种输入/输出接口电路等都集成在一块半导体芯片上,构成了一个完整的计算机系统。与通用的计算机不同,单片机的指令功能是按照工业控制的要求设计,因此它又被称为微控制器 单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集

相关文档
最新文档