文档库 最新最全的文档下载
当前位置:文档库 › 单片机与PC机串口通信实现正文

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

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

毕业设计(论文)课题:单片机与PC机串口通信实现

学生: 孙波系部: 通信工程

班级: 通信1301 学号: 2013120325

指导教师: 童华

装订交卷日期: 2016年x月x日

装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献

毕业设计(论文)成绩评定记录表

注:1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定;

2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。

教务处制

重庆电子工程职业学院

毕业设计(论文)开题报告

系别通信工程专业通信技术班级通信1301

学生姓名孙波学号2013120325 指导教师童华

一、毕业设计的内容和意义:

目前,随着计算机和微电子技术的高速发展,单片机在国民经济的各个领域的智能化控制中得到了非常广泛的应用。单片机已成为信息处理、物联网络、通信设备、工业控制、家用电器等各个领域不可缺少的智能部件。在一些工业控制中,经常需要以单片机作为下位机执行对被控对象的直接控制,以PC机为上位机完成复杂的数据处理,组成主从式控制系统。

为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。从机被动的接收、执行主机发

来的命令,并且根据主机的要求回传相应的实时数据,报告其运行状态。

主机和从机之间的通信大多采用串行总线通信。用串行总线技术可以使系统的硬件设计大大简化、系统的体积减少、可靠性提高。同时系统的更改和扩充极为容易。而MCS-51系列单片机由于内部带有一个可用于异步通讯的全双工串行通讯接口,因此可以很方便地构成一个主从式系统。

串行通讯接口是计算机上一种非常通用的设备通信协议。大多数的计算机包含多个USB转RS-232的串行通讯接口。RS-232接口在监视和控制系统中被普遍的应用,同时也是仪器仪表设备通用的通信协议,很多的GPIB兼容的设备也带有RS-232接口。同时,串口通信协议也可以用于获取远程采集设备的数据。所以深入的理解和研究串口通信的相关知识是非常必要的。此次毕业设计的选题为“单片机与PC机串口通信实现”,使用51系列的单片机来实现一个主从式的串行通信系统。通过此次设计,可以对串口通信的原理和应用融会贯通,为以后的实践工作储备知识和研究方法。

二、文献综述:

随着计算机系统的应用和微型计算机的高速发展,通信功能显得极为的重要。需采用一种低成本、可靠性高的通信方式。由于串行通信是在一根传输线上一位一位的传送信息,所用传输线少,并且可以借助现成的通信网络进行信息传送,因此,特别适合于远距离传输。对于那些与计算机相距不远的人-机交换设备和串行存储的外部设

备,如终端、串行打印机、外置调制解调器,绘图仪等,采用串行交换数据也很普遍。在工业控制和管理方面,采用多台微型计算机组成的控制系统中,各台微型计算机之间的通信一般都是采用的串行方式。所以串行接口是微型计算机应用系统常用的接口。而主从式串口总线通信则是串口通信的一种情况,在工业控制应用领域非常的广泛。在此背景下,对串口通信原理和应用的研究是非常必要的。三、工作计划及方案论证:

1.通过查阅文献,对收集资料的了解。

2.了解单片机历史及发展。

3.掌握单片机串口通信技术的理论知识和现今的应用。

4.搭建单片机与PC机串口通信系统平台。

5.系统测试及结果。

6.完成毕业论文。

四、参考文献:

[1].童华、刘鹏、童建中.《单片机应用技术基础项目式教程》;北

京:电子工业出版社,2014.3.

[2].谭浩强.《C程序设计》;北京:清华大学出版社,2010.6.

[3].孔维功.C51单片机编程与应用[M].北京:电子工业出版社,

2011.

[4].王静霞.单片机应用技术(C语言版)[M].电子工业出版社,2009.

[5].侯正鹏.嵌入式C语言程序设计—使用MCS-51[M].北京:人民

邮电出版社,2006:119,119.

五、指导教师意见:

指导教师(签字)日期:六、审查意见:

教研室负责人(签字)日期:

系部负责人:(签字)日期:

目录

【摘要】 (1)

1绪论 (1)

1.1系统开发背景 (1)

1.2串行通信的意义 (2)

2 系统设计 (2)

2.1设计思路 (2)

2.2系统组成及通信原理 (2)

2.2.1系统构成 (2)

2.2.2通信原理及协议 (2)

3 硬件电路 (4)

3.1 硬件设计思路 (4)

3.2 STC89C52RC单片机简介 (5)

3.2.1引脚及其功能 (5)

3.2.2单片机外围电路 (6)

3.3 RS-232C接口电路 (7)

3.3.1 RS-232C总线标准及其接口 (7)

3.3.2 MAX-232接口电路 (8)

3.4 51单片机与PC机串行通信电路 (8)

3.5 LED数字显示 (9)

4 软件设计 (9)

4.1 软件设计思路 (9)

4.2 程序设计 (9)

4.2.1单片机通信程序流程图 (9)

5 proteus仿真及结果 (10)

5.1 proteus仿真 (10)

5.2 运行结果 (10)

6 结论与展望 (11)

6.1结论 (11)

6.2展望 (11)

致谢 (12)

【参考文献】 (12)

附录1实物图 (12)

附录2程序 (12)

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

【摘要】

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

【关键词】

单片机PC机发送数据接收数据串行通信

一、绪论

(一)、系统开发背景

自单片机出现至今,单片机技术已走过了40多年的发展路程。纵观40多年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域为拉动,表现出较微处理器更具个性的发展趋势。与此同时在市场上以单片机为核心控制器的产品更是层出不穷,各种家用电器、智能仪器仪表、医疗器械、机电一体化、实时工业控制、交通领域无不用到单片机。从单片机的发展趋势来看,单片机控制技术已成为电子设计技术及计算机技术不可缺少的一个重要部分。

在国内外,以PC机作为上位机,单片机作为下位机的控制系统,PC机通常以软件界面进行人机交互,以串口通信方式与单片机进行积极交互,而单片机作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作信息状态。

目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成主从式控制系统。

为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。从机被动的接收、执行主机发来的命令,并且根据主机的要求回传相应的实时数据,报告其运行状态。

主机和从机之间的通信大多采用串行总线通信。用串行总线技术可以使系统的硬件设计大大简化、系统的体积减少、可靠性提高。同时系统的更改和扩充极为容易。而MCS-51系列单片机由于内部带有一个可用于异步通讯的全双工串行通讯接口,因此可以很方便地构成一个主从式系统。

串行通讯接口是计算机上一种非常通用的设备通信协议。大多数的计算机包含多个USB转RS-232的串行通讯接口。RS-232接口在监视和控制系统中被普

遍的应用,同时也是仪器仪表设备通用的通信协议,很多的GPIB兼容的设备也带有RS-232接口。同时,串口通信协议也可以用于获取远程采集设备的数据。所以深入的理解和研究串口通信的相关知识是非常必要的。此次毕业设计的选题为“单片机与PC机串口通信实现”,使用51系列的单片机来实现一个主从式的串行通信系统。通过此次设计,可以对串口通信的原理和应用融会贯通,为以后的实践工作储备知识和研究方法。

(二)、串行通信的意义

串行通信对单片机应用系统中的相互通道而言意义重大,不但可以实现将单片机的数据传输到计算机端,而且也能实现计算机对单片机的控制。由于串行通信是一种能把二进制数据按位传送的数据通信方式,它所需要的传输线条数极少,接线简单,传输成本低,所以在较远距离的数据传输中,可以得到广泛的应用。

二、系统设计

(一)、设计思路

本文设计一个51单片机与PC机串口通讯系统,实现单片机与PC机之间的远程通信。设计分发送和接收两大模块,发送部分通过硬件电路的引用。其中包括MAX232接口电路,RS-232接口电路,引用相应的管脚相连,并将相应的软件程序写入到硬件电路中,即可运行。在满足发射和接收模块的要求后可单独对控制进行调整。程序的编入,接收部分相应的结果即以实现,因此实现了PC机对远端单片机的控制。

(二)、系统组成及通信原理

1、系统构成

为实现该系统的生成,主要包含两大模块,即单片机模块和通信模块。

1)单片机模块

单片机模块中主要包括单片机、复位电路、晶振电路、电源电路。

2)通信模块

通信模块中采用MAX232作为通信电平转换电路、实现RS-232的数据传输,可以直接与PC进行通信。

2、通信原理及协议

由于本设计解决的是串口的通讯问题,所以通信的基本原理是利用MCS-51系列单片机内部的一个可编程全双工串行通信接口来实现单片机和PC机之间的串口通信。该串口如图2.1所示。它具有UART(Universal Asynchronous Receiver Transmitter)的全部功能。该接口不仅可以同时进行数据的接收和发送控制,采用全双工制式,也可作为一个同步移位寄存器使用。该串口有四种工作方式,帧格式有8位、10位、和11位,并能设置各种波特率及工作方式。下面将对MCS-51单片机内部串行口的原理、组成结构、功能特点等进行介绍。

图2.1 MCS-51单片机串行口结构

1)串行口数据缓冲器SUBF

发送和接收电路主要由SBUF和一个移位寄存器构成。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。

2)串行口控制寄存器SCON

串行口控制寄存器SCON用于设置串行口的工作方式,监视串行口的工作状态,控制发送和接收的状态。它是一个既可以字节寻址又可以寻址的8位特殊功能寄存器。单元地址为98H。SCON的各位格式定义如表2.2所示,对各位的含义说明如表2.3所示。

表2.1 串行口控制寄存器SCON

表2.2 串行口的工作方式

3)电源控制寄存器

PCON主要是为CHMOS型单片机的电源控制而设置的专用寄存器,字节地

址为87H,不可位寻址。PCON主要用于实现电源控制而设置的专用寄存器。

其格式如表2.4所示。

与串行口通信有关的只有SMOD位。即当SMOD=1时,则串行口的波特率增加一倍。若SMOD=0时,波特率不加倍。系统复位时,SMOD=0。

4)串行口的工作方式

①工作方式0(8位移位寄存器I/O方式)

发送/接收过程:SBUF中的串行数据由RxD逐位移出/移入(低位在先,高位在后);TxD输出移位时钟,频率=fosc1/12;每送出/接收8位数据TI/ RI自动置1;需要用软件清零TI/ RI 。

注意:串行口在方式0下的工作并非是一种同步通信方式,经常配合“串入并出”“并入串出”移位寄存器一起使用,以达到扩展一个并行口的目的。扩展电路如下图2.2所示。

图2.2 扩展电路

②方式1 (波特率可变的10位异步通信方式)

发送/接收数据的格式:一帧信息包括1个起始位0,8个数据位和1个停止位1。

③方式2(固定波特率的11位异步接收/发送方式)

发送/接收过程:方式2的接收/发送过程类似于方式1,所不同的是它比方式1增加了一位“第9位”数据(TB8/RB8),用于“奇偶校验”。方式2常用于单片机间通信。

④方式3(可变波特率的11位异步接收/发送方式)

方式3和方式2唯一的区别是波特率机制不同。

三、硬件电路

(一)、硬件设计思路

根据设计要求,实现单片机与PC机通信。PC机通过串口由串口调试助手软件给单片机发送单个数据,单片机将接收到的数据通过数码管显示。

硬件设计由单片机最小系统,MAX232电平转换电路,PC机组成。单片机

采用STC89C52RC,是整个的核心,它每秒向PC机发送单个数据;LED显示电路采用了4个八段LED数码管,PC机通过串口由串口调试助手软件给单片机发送单个数据,单片机将接收到的数据通过数码管显示。

硬件电路的设计框图,如图3.1所示。

图3.1 硬件电路设计框图

本设计的主要硬件电路包括:单片机与PC机串行通信接口和ISP编程下载电路,单片机外围电路,MAX232电平转换等部分。

(二)、STC89C52RC单片机简介

STC89C52RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的CMOS八位单片机。芯片使用经典的MCS-51内核,但做了很多的改进,内部拥有灵巧的8位CPU和在系统可编程Flash存储器,使得芯片具有传统51单片机不具有的功能。

1、引脚及其功能

1)电源引脚

VCC:芯片电源,接+5V。

VSS:电源接地端。

2)时钟引脚

XTAL1:片内放大器输入端。

XTAL2:片内放大器输出端。

3)专用控制端口

①ALE/PROG:地址锁存允许/片内EPROM编程脉冲。

ALE功能:用来锁存P0口送出的低8位地址。

PSEN功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

②PSEN:外ROM读选通信号。

③RST/VPD:复位/备用电源。

RST(RESET)功能:复位信号输入端。

VPD功能:在VCC掉电情况下,接备用电源。

④EA/VDD:内外ROM选择/片内EPROM编程电源。

EA功能:内外ROM选择端。

VDD功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源VPP。

4)输入/输出端口

STC80C52RC共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH 编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。

5)P3口第二功能

P3.0 RXD:串行输入口。

P3.1 TXD:串行输出口。

INT:外部中断0。

P3.2 0

INT:外部中断1。

P3.3 1

P3.4 T0:定时计数器0。

P3.5 T1:定时计数器1。

P3.6 WR:外部数据存储器写选通。

P3.7 RD: 外部数据存储器读选通。

单片机是由CPU、并行口、ROM、RAM、定时/计数器、串行口和中断系统等组成部分,通过内部总线把各主要部件接为一体,其内部总线包括地址总线、数据总线和控制总线。其中,地址总线的作用是在进行数据交换时提供地址,CPU通过它们将地址输出到存储器或I/O接口;数据总线的作用是在CPU与存储器或I/O接口之间,或存储器与外设之间交换数据;控制总线包括CPU发出的控制信号线和外部送入CPU的应答信号线等。

2、单片机外围电路

单片机外围电路包括晶振电路和复位电路,如图3.1所示。

晶振电路为单片机工作提供基本时钟,复位电路用于将单片机内部各电路的状态恢复到初始值。

图3.1 STC89C52RC最小系统电路

单片机外围电路由复位电路、晶振电路组成。复位电路采用上电复位电路。此电路能实现开机和单片机在运行时的复位,开机复位要求接通电源后,单片机自动实现复位操作,开机瞬间单片机的RST引脚获得高电平,随着电容C1的充电RST的高电平将逐渐下降。RST引脚的高电平只要能保持足够的时间,单片机就可以进行复位操作。单片机内部有一振荡电路,只要在单片机的XTAL1和XTAL2引脚外接一石英晶体振荡器,就构成了自激振荡器并在单片机内部产生了时钟脉冲信号,图中C2和C3的作用是稳定频率和快速起振,电容值选为30pF。

(三)、RS-232C接口电路

在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232C是目前最常用的一种串行通讯接口。

1、RS-232C总线标准及其接口

在通信系统中,数据通信、计算机网络以及过程控制系统经常通过各自配备的标准串行通信接口,再加上合适的通信电缆实现相互通信。在设计通信接口时,必须遵循一定的标准,使各设备方便地进行串行通信。RS-232C由美国电子工艺协会(EIA)正式公布,是在异步串行通信中应用最广的总线标准接口。RS-232C 现普遍用于计算机之间和计算机与外设之间的近端连接标准,其特点是信号少,有多种数据传输可以选择,使用简单、方便。

RS-232C规定了自己的电器标准,由于它是在TTL电路之前研制的,因此它的电平不是+5V和地。而计算机接口或终端的电气标准是TTL/CMOS电平,

使得计算机或终端与RS-232通信接口的逻辑电平不兼容,需要实现电平转换。MAX-232芯片能够实现RS-232C电平的转换。

2、MAX-232接口电路

MAX-232芯片是MAXIM公司生产的、包含两路接收器和驱动器的IC芯片,适用于各种EIA-232C和V.28/V.24的通信接口。MAX232芯片的功能:MAX232内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的±10V电压。所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。对于没有±12V电源的场合,其适应性更强。

Max232是TTL电平与RS232电平相互转换的模块,其引脚封装图如图3.2所示。

图3.2 MAX-232引脚功能

(四)、51单片机与PC机串行通信电路

单片机与PC机串行通信接口电路及编程下载电路如图3.3所示。

图3.3 串行通信电路

串行通信部分主要是由MAX232电平转换电路和ISP编程下载电路组成,其原理是:MAX232芯片把单片机引脚的COMS电平(0—5V)转换为RS-232C 电平(-12V—+12V),AT89S52单片机有一个全双工的串行通信口,而PC机有一个RS232的通信接口。只要用RS232 D型9针的引脚的双边母头接到PC 机上,而另一头和MAX232相连接,MAX232的输出再和STC89C52RC相连就可以实现单片机和PC机的串行通信。

(五)、LED数字显示

根据设计要求可知,系统需要显示数字,因此需用到LED数码管显示。硬件电路图如图3.4所示,显示部分采用扫描显示模块,其中P0口控制段选,P1口控制位选,利用P2口中的4个端口(即P1.0、P1.1 、P1.3 、P1.4)来控制4个LED数码管。

图3.4 显示电路

四、软件设计

(一)、软件设计思路

软件需要解决的是PC机与单片机串行口通信,并把数据在LED上进行结果的显示。软件程序功能模块由单片机的通信程序和PC的通信程序组成。

1、单片机部分软件设计思路:

STC89C52RC单片机的P3.0 和P3.1 口分别串行通信的接收和发送端,其接口程序主要由发送子程序和接收子程序组成。通信速率9600 bit /s,使用查询方式。

2、PC机部分软件设计思路:

PC机有多种支持串行通信的软件,本次采用的通信程序是“串口调试助手”应用软件。

单片机的通信程序采用Keil C51集成开发环境编写,程序由主函数和串行口终端函数组成,主函数主要完串行口的初始化、LED的显示;串行口中断函数主要完成进入串行口的中断服务程序、接收主机命令、控制LED显示状态等任务。

(二)、程序设计

1、单片机通信程序流程图

系统由STC89C52RC单片机作为中央控制器,控制各功能模块的正常工作及数据的接收和处理。整个软件系统是这样来设计的:首先上位机编辑好源程序再转换为相应的可执行的二进制代码文件由编程下载电路传送到单片机中存储。主程序的流程图如图4.1所示。

图4.1 主程序的流程图

五、proteus仿真及结果

(一)、proteus仿真

软件调试是利用仿真工具进行在线仿真测试,除发现和解决程序错误外,也可以发现硬件故障。首先在proteus 画出电路图,检查电路连通情况,无误后单击芯片添加源程序的HEX文件。打开虚拟串口软件,建立COM1和COM2为相互连接的一对端口,单击添加端口,完成端口添加。启动上位机软件,端口选择COM2,在发送数据的区域输入发送的字节,观察proteus数码管的显示,并记录结果。

(二)、运行结果

数据发送前proteus中LED数码管显示的数字全为0,在发送数据区域输入两个十六进制0F0F后发送,LED数码管的显示为0F0F,发送其它十六进制数,

LED数码管能够正确显示。

六、结论与展望

(一)、结论

本文介绍的应用于单片机系统实现与PC机之间的串行通信接口,具有硬件电路简单、成本低廉、编程方便、通信可靠性高的特点,实现了通信双方的数据传送。

为期三个月的毕业设计结束了,关于本次毕业设计,感受颇多。总的来说是可以的,富有成效的,尽管其中充满了艰辛与困难。但看到自己的成果时,所有的艰辛与疲倦都抛到了九霄云外。另外一方面,在自己的亲身实践中,也发现了自己的一些不足的地方,有待进一步提高与改善。此次毕业设计任务是实现PC 机与单片机之间的串口通信实现,在实际调试中遇到的种种问题使我在设计与调试中学习到了许多知识。

在整个设计过程中,使用了多种硬件设备和软件工具,对它们的性能和特点有了一定的了解和认识。硬件如STC89C52RC单片机系统,电平转换器,数码管等等;软件方面有C语言、Proteus以及Word软件等等。

整个毕业设计过程是对自己大学三年所学知识归纳总结和应用,也就是把理论知识用到实践之中去。让理论和实践相结合,以此产生实际的成果。而这正是我们学习理论知识的目的之所在。理论和实践相结合的过程中,使我发现了自身一些方面的不足,比如理论知识掌握得不够扎实。更为重要的一点是理论和实践之间的差距很大。光有理论知识是不够的,还要有把理论知识灵活应用到实践中去的能力,这一点有待进一步提高。这也是以后工作所必须的能力。这一能力要在实践中逐渐培养,逐步积累经验和深化,边工作边学习,做到活到老学到老。这也是现代人所必须的一种工作和学习精神,同时这也是现代高科技和信息社会的独有的特征,每个现代人都必须接受它。

设计过程是完善和自我总结的过程,发现问题,解决问题,进而完善整个系统。对系统总体而言,必须考虑硬件系统与软件系统相协同的问题,还有它们之间的接口问题,因为任何一个环节出了问题,整个系统将无法工作,这就要求设计时考虑互相协同。考虑整体的协调性是否良好。这就要求设计工作时有全局思想。除此之外,在整个设计与调试过程中要有信心和耐心,要持之以恒,坚持不懈。要知道设计工作不是一天两天的事情,最需要的就是恒心与耐力,不畏困难的精神。只要你持之以恒,多查阅资料设计总会成功。在调试中不断发现问题进而解决问题,这其本身就是对自己的一次锻炼,培养了自己独立思考,动手解决问题的能力。从而从各个方面得到提高与完善自己,使自己的各个方面提高到一个新的台阶,同时为以后的工作打下基础。

(二)、展望

总的来说,任何一项新技术的出现及发展都是与人类生活相适应的。单片机与PC机的串口通信技术的出现并非偶然,不会被时间长河淹没。

在数据处理和过程控制应用领域,上位机和下位机的主从工作方式就是使用的串口通信方式,该技术得到了广泛的应用。我相信主从式串口通信技术会在许

多实时的工业控制和数据采集系统中出现,它能充分发挥硬件电路简单、成本低廉、编程方便、通信可靠性高的特点。

同时该技术还存在一些不足,传输的速率、距离等,但我相信技术的发展,最后这些不足都会得到完美的解决。

致谢

本毕业设计论文是在我的导师童华老师的悉心指导下完成的,在毕业设计过程中,童老师倾注了大量的心血,他的悉心指导是本设计能够圆满完成的基础。童老师学识渊博,专业知识过硬,治学作风严谨,工作认真负责。在这一段时间的毕业设计过程中,童老师言传身教,在学习上耐心地给我指点迷津,解惑答疑。童老师的孜孜不倦的教诲和严谨的治学作风令我终生难忘,也将使我受益终生。在此谨向童老师表达一个学生最真挚的谢意。

【参考文献】

[1]童华、刘鹏、童建中.《单片机应用技术基础项目式教程》;北京:电子工业出版社,2014.3.

[2]谭浩强.《C程序设计》;北京:清华大学出版社,2010.6.

[3]孔维功.C51单片机编程与应用[M].北京:电子工业出版社,2011.

[4]王静霞.单片机应用技术(C语言版)[M].电子工业出版社,2009.

[5]侯正鹏.嵌入式C语言程序设计—使用MCS-51[M].北京:人民邮电出版社,2006:119,119.

附录1实物图

附录2程序

#include

unsigned char ucRecData = 0; //初始化串口从PC机接收到的数据void Delayms(unsigned char ms);

void RS232_Init(void); //串口初始化

void Timer1_Init(void); //定时器1初始化

void Display(void); //数码管显示函数

unsigned char LED[]={ 0xC0,/*0*/

0xF9,/*1*/

0xA4,/*2*/

0xB0,/*3*/

0x99,/*4*/

0x92,/*5*/

0x82,/*6*/

0xF8,/*7*/

0x80,/*8*/

0x90,/*9*/

0x88,/*A*/

0x83,/*b*/

0xC6,/*C*/

0xA1,/*d*/

0x86,/*E*/

0x8E,/*F*/

};

void main(void) //主函数

{

RS232_Init();

Timer1_Init();

while(1)

{

if(RI)

{

ucRecData = SBUF; //读缓冲区,或得串口的数据

RI = 0;

}

Display();

}

}

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.wendangku.net/doc/279882191.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集成在一个芯片中,使计算机系统更小,更容易集

相关文档
相关文档 最新文档