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

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

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

论文题目:单片机与计算机串行通信的设计学号:20101003

学生姓名:周爽

学院:电气与电子工程学院

专业:电气工程及其自动化

班级: 100307 指导教师:林志琦

2013年1月

第1章设计任务及性能指标

1.1系统开发背景和系统设计的意义

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

1.2设计目标

该设计要求实现:

设计串行通信接口,实现与PC机的通信,完成键盘输入指令,控制发光二极管的状态。

设计结果要求:

完成电路的设计,完成软件程序的编写(包括流程图和部分源代码)。1.3设计任务

该设计题目包括四个个部分,分别为:

1.及性能指标设计任务(包括设计背景及意义);

2.系统硬件设计(包括各模块的硬件电路设计、主要芯片的介绍等);

3.系统软件设计(包括主程序流程图的设计、控制算法);

4.系统的调试(包括硬件调试和软件调试):

5.结论

1.4设计原理

单片机的串行口除了可用作与其他单片机的通信外,还能作为与普通计算机通信的通道,从而使得单片机在通信与控制领域得到了广泛的应用。串行通讯方式具有使用线路少、成本低,适合远程传输。PC机与单片机之间由RS-232C接口相连,在计算机的串行口都是公头,称为DB-9P。而可插入公头的是母头,称为DB-9S。计算机通过串口软件发送和显示数据,发送的数据通过晶片MAX232传到单片机中,并由LED数码管显示出来。

第2章硬件系统设计

2.1硬件设计框图

硬件电路的设计框图,如图1所示:

PC 机MAX232

电平转换

电路

器晶振电路

发光二极管复位电路

图1 硬件电路设计图

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

2.2主要芯片的介绍

2.2.1单片机AT89S52

AT89S52是低功耗,高性能CMOS 8位单片机,可反复擦写1000次的Flash 只读程序存储器,兼容标准MCS-51指令系统及80C51引脚结构,其主要特点为:(1)、40个引脚DIP- 40封装,8k Bytes Flash片内程序存储器;

(2)、256 bytes的随机存取数据存储器(RAM);

(3)、5个中断优先级2层中断嵌套中断;

(4)、2个16位可编程定时计数器,2个全双工串行通信接口。

其引脚封装如图2所示;主要引脚介绍如下:

图2单片机AT89S52封装图

(1)VCC、GND 电源、接地引脚;

(2)XTAL1、XTAL2 外部振荡器接入的两个引脚;

(3)RESET 复位信号输入引脚;

(4)RXD、TXD P3 口作第二功能引脚用作串行通信接口输入、输出引脚;

(5)P0.1—P0.7 数据/地址总线引脚;P1.0—P1.7一般的I/O口;P2.0—P2.7一般的I/O口。

2.2.2 电平转换模块MAX232

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

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

图3 MAX232封装图

其各引脚功能如下表1所示:

表1 MAX232引脚功能

2.3串行通信电路

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

1

62738495J1

DB9

R1 I N

13

R2 I N 8T1 IN 11T2 IN 10G N D

15

V +2V -

6V C C 16

R1 OUT 12R2 OUT 9T1 OUT 14T2 OUT

7C1+1C1 -

3

C2+4C2 -

5

U1

M AX232EW E(16)

C3

0.1μF

C40.1μF

C20.1μF

C10.1μF

RXD/P 3.0

TXD/P 3.1VCC

1

23456789

10

J1

IS P

VCC

D1

R1

1K

P 1.5P 1.6P 1.7

RESET

图4 单片机与PC 机串行通信接口的电路

本设计的串行通信部分主要是由MAX232电平转换电路和ISP编程下载电路组成,其原理是:MAX232芯片把单片机引脚的COMS电平(0—5V)转换为RS232电平(-12V—+12V),AT89S52单片机有一个全双工的串行通信口,而PC机有一个RS232的通信接口。只要用RS232 D型9针的引脚的双边母头接到PC机上,而另一头和MAX232相连接,MAX232的输出再和AT58S52相连就可以实现单片机和PC机的串行通信。具体连线如上图8所示,A T89S52的串行通信引脚的TXD和RXD分别接到MAX232的T1IN和T1OUT上,MAX232的R1OUT和R1IN分别接到RS232的2、3上,RS232的5脚接地。MAX232外围元件只有四个电容,根据MAX232的典型应用电路,可取0.1μF ∕50V的电解电容。ISP编程口和A T89S52的连线为:A T89S52的P1.5、P1.6 P1.7、RESET 分别连接到ISP的3、4、5、7脚上,ISP的1、2脚联合接电源9、10脚联合接地即可.直接从上位机上下载可执行的二进制代码文件,无须外加写读器。D1为下载指示灯,R1为限流电阻,发光二极管的压降为2V,电流取5mA,其阻值为:R1=(5-2)/0.005=600Ω,考虑到和ISP一起共电,在此取1K。

2.4单片机外围电路

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

图5单片机外围电路(晶振电路、复位电路)

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

2.5 发光二极管显示电路

发光二极管显示电路如图6所示:

图6 发光二极管显示电路

此电路为共阳极电路,由计算机键盘输入指令,观察发光二极管的状态(亮,灭)。每个发光二极管连接一个限流电阻为1KΩ。

第3章软件系统设计

3.1主程序流程图

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

开始

初始化

读取命令主程序

发控制命令

图7系统主程序流程图

3.2程序代码

#include

bit Flag;

unsigned int ReData,SenData;

void main (void)

{ SCON = 0x50; //REN=1允许串行接受状态,串口工作模式 1

TMOD|= 0x20; //定时器工作方式2

PCON|= 0x80;

//TH1 = 0xFD; //baud*2 /* reload value 19200、数据位8、

停止位1。效验位无 (11.0592)

TH1 = 0xF3; // //baud*2 /* 波特率4800、数据

位8、停止位1。效验位无 (12M)

TL1 = 0xF3;

TR1 = 1;

ES = 1; //开串口中断

EA = 1; // 开总中断

// IE = 0x0;

while(1)

{

if (Flag==1)

{ SBUF=SenData; //SUBF接受/发送缓冲器 while(TI==0);

TI=0;

P2=SBUF;

Flag=0;}

}

}

/****************************************************

串口中断程序

******************************************************/ void ser_int (void) interrupt 4 using 1

{

if(RI == 1) //RI接受中断标志

{ RI = 0; //清除RI接受中断标志

ReData = SBUF; //SUBF接受/发送缓冲器

SenData=ReData;

Flag=1;}

}

第4章系统的调试

4.1硬件调试

硬件的调试主要是把电路各种参数调整到符合设计要求。先排除硬件电路故障,包括设计性错误和工艺性故障。利用万用表或逻辑仪表器,检查电路中的各器件以及引脚是否连接正确,是否有短路故障。

先要将单片机AT89S52芯片取下。对电路板进行通电检查,通过观察看是否连接正确,是否有异常,是否有虚焊的情况,然后用万用表测试各电源电压,这些都没问题后,接上仿真机进行联机调试,观察各接口线路是否正常。最后,在进行整体的模拟调试,看看系统能否按希望进行运行。

4.2 软件调试

软件调试是利用仿真工具进行在线仿真测试,除发现和解决程序错误外,也可以发现硬件故障。

软件方面先进的特点:

Wave6000和Keil uVsion 双平台、双工作模式——软件模拟仿真和硬件模拟仿真、真正集成调试环境、项目管理功能、多语言多模块混合调试、直接点屏观察变量、功能强大的变量观察、强大的书签、断点管理功能、类似IE的前进、后退定位功能

一、程序的仿真调试

1、建立新程序

选择[文件/新建文件]功能,在一个文件名为NONAME1的源程序窗口下输入程序。

2、保存新程序

选择菜单[文件/保存文件]或[文件/另存为]功能,文件保存位置:C:\WAVE6000\SAMPLES\文件名.ASM

3、建立新项目

选择[文件/新建项目]功能,新建项目会自动分三步走:加入模块文件、加入包含文件、保存项目。项目保存好后,选[窗口/项目窗口]功能来打开。

4、设置项目

选择[设置/仿真器设置]功能或按“仿真器设置”快捷图标或双击项目窗口的第一行打开“仿真器设置”对话框,在“仿真器”栏中选仿真器类型和配置的仿真头及所要仿真的单片机。

5、编译程序

第5章心得体会

本课题的重点、难点是:

(1)硬件系统的选择与软件的设计

(2)考虑从非电量信号到电量信号的电路实现原理以及与单片机的接口;

(3) RS-232-C串口编程的技术。

(4)软件系统的调试。

通过这次课程设计,更加深入理解了PC与单片机的串行通讯。好些课堂上学不到的知识。在整个设计过程中都学到了,其中画好原理图其实是最重要的一部分,很多知识,是需要通过实践才能更加理解,很多经验是通过动手才能积累。并且通过这次课设还让我明白word排版其实也是很需要技巧的,通过不断的改正我的排版好看多了。

所以,这个课程设计不仅丰富了我的书本知识,留给我更多的是如何发现问题,解决问题的经验。

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

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