搜档网
当前位置:搜档网 › 单片机与PC机通信设计

单片机与PC机通信设计

单片机与PC机通信设计
单片机与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程序源

七.结论

八.参考资料

正文

一.摘要

片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是

系列的兼容机型推出,今后很长的一段时间将占有大量市场。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集成在一个芯片中,使计算机系统更小,更容易集成

进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。

四,单片机与pc通信实习设计

4.1单片机与pc通信实验介绍

单片机的数据通信由串行口来完成,定时器中的T1作为波特率发生器。38.

同PC机一致,设波特率为9600波特,8位数据位,1位停止位,第9位作为地址数据判断位。采用中断方式传送和接收数据。T1设置为工作方式2,串行口设置为工作方式2,由到9位判断地址码或数据。当某台单片机与PC机发出的地址码一致的时候,就发出应答信号给PC机,而其它三台不发应答信号,这样在某一时刻PC机只与一台单片机通信。

PC机与单片机之间通常采用2种通信方式:并行通信和串行通信。并行通信是指将待发送数据的各位同时传送,串行通信则将数据一位一位地按顺序传送。并行通信虽然传输效率高,由于所需硬件设备复杂,不适于长距离通信,所以一般只适用于要时性强,传送速率较高的控制系统中,实用面较窄;相比之下,串行通信简单易实现,传输距离较长,所以已被广泛应用于各种工控系统中。

串行通信分为同步通信和异步通信2种方式。同步通信是指通过在每个数据块开始时的同步字符来实现收/发双方同步的一种数据传输方法,常用于信息量大,速度要求高的场合;异步通信则规定了标准的字符数据传输格式,即每一帧信息由起始位、数据位、奇偶校验位和停止位组成。由于有冗余位,所以传送效率不高,常用于信息量不大,速度较低的场合。在计算机测控系统中,由于串行接口的标准化,一般采用异步串行通信方式,以提高其通用性。由于各种接口的机械和电器特性有所差异,串行通信分为近程通信和远程通信。

4.2 PC机同单片机通信存在的问题

目前,51单片机同PC机的通信在大多数情况下仍然是使用RS-232(DB-9)串口作为通信接口实现的。而随着USB接口技术的成熟和使用的普及,由于USB接口有着一系列RS-232(DB-9)串口无法比拟的优点,RS-232(DB-9)串口正在逐步的为USB接口所替代。而在现在的大多数笔记本电脑中,出于节省物理空间和用处不大等原因,RS-232(DB-9)串口已不再设置,这就约束了基于RS-232(DB-9)串口与PC机联络的单片机设备的使用围。

4.2 USB通信的优点

通过USB 接口和RS-232(DB-9)的比较,不难发现:

(1)USB 接口支持即插即用和热插拔,而RS-232(DB-9)串口不支持即插即用和热插拔,设备安装后需重启计算机方可使用。

(2)USB 接口的传输速率较快,可达480Mbps(V2.0),而RS-232(DB-9)串口的最高速率仅为19200 波特。

(3)USB 接口占用体积较小,插拔方便;而RS-232(DB-9)串口的的插拔需要使用改锥,且在机箱后操作,比较麻烦。

五.软件设计

5.1 系统软件设计

软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。

软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件选择的是c语言以及配套的编译软件Keil uVision。最后还要用单片机的下载器来把编写的程序下载到单片机中执行。

5.2程序的编译步骤如下:

运行keil软件——新建工程{project(new project)}——把工程保存为hzdz的工程名——选择CPU(Ateml-AT89C51)——点击“确定”——点击“否”——建立一个文本文件(File-new)——输入程序——保存(save—hzdz.c格式)——在工程source group1上右击选择add files to group source group1添加刚刚保存的文件——编译源程序(工程菜单中的build target)——生成.hex文件——下载——运行STC-ISP.exe软件——选择芯片类(STC89C52RC)——选择端口模式——打开程序文件——Download下载——调试。

5.2 单片机与PC机通信设计软件

点击这里可以下载并运行这个串口调试软件,这是一个绿色的软件,无需安装,可以直接在当前位置运行这个软件。软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为9600,勾选十六进制显示。串口选择为COM1,当然将提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

Keil 的设置

5.3 流程图设计

3.虚拟串口调试:单片机和Proteus 虚拟串口调试,就是我们不需要实际的串口进行调试,只需要用protues加串口,在加串口调试助手就行了。写好单片机串口程序加载到protuse仿真里,这边串口调试助手就有反应。比如我们的程序是单片机通过串口发送数据C到电脑,然后串口调试助手就回接收到C。也可以有单片机接收数据串口调试助手发送数据。

六.硬件部分

6.1硬件设计

单片机与pc通信系统具体设计主要由单片机系统,译码电路,显示驱动电路,以及通信数据线等部分组成

6.2主控制单片机

本次设计使用的是AT89S51的最小系统电路,包括:电源、时钟脉冲、复位电路和程序存储器设定电路,只是接受少量的数字和字符,不用外接存储扩展。

时钟脉冲:AT89S51单片机的最高时钟脉冲频率已经达到了24MHz,它部已经具备了振荡电路,只要在AT89S51的两个引脚(即19、18脚)连接到简单的石英振荡晶体的2个管脚即可,同时晶体的2个管脚也要用30pF的电容耦合到地。

复位电路:89S51的复位引脚(RESET)是第9脚,当此引脚连接高电平超过2个机器周期,即可产生复位的动作。以12MHz的时钟脉冲为例,每个时钟脉冲为0.5μS,两个机器周期为1μS,因此,在第9脚上连接一个2μS的高电平脉冲,即可产生复位动作。最简单的就是只有一个电阻跟一个电容就可可靠复位的电路,电阻一般选择10K,电容一般选择10μF。

程序存储器设定电路:MCS-51具有64kB程序存储器寻址空间,它是用于存放用户程序、数据和表格等信息。对于部无ROM的8031单片机,它的程序存储器必须外接,空间地址为64kB,此时单片机的端必须接地。强制CPU从外部程序存储器读取程序。对于部有ROM的8051等单片机,正常运行时,则需接高电平,使CPU先从部的程序存储中读取程序,当PC值超过部ROM的容量时,才会转向外部的程序存储器读取程序。默认采用部程序存储器。

6.3 LED显示模块

LED 显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。

LED 点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。

LED 显示原理为:本设计采用了AT89C51单片机作控制器,12MHz 晶振, 8×8点阵共需要64个发光二极管组成,二极管的阳极接的是三极管的发射极,阴极通过P1口接的是+5V 的高电平,三极管的集电极接的是单片机的P0-P7口,其中P0-P2接74HC138的A0-A2口,P3-P5分别接始能端口E1、E2和E3,始能端是低电平有效,对38译码器的A0、A1和A2赋值就可实现相应二极管的行发光,若要使哪个二极管熄灭,可以给相应的P1口高电平.

应用的是定时器

T0的工作模式1。

定时器的控制寄存器TCON (88H ):

TCON

TF0/TF1:定时器0、定时器1溢出中断申请标志位:

=0:定时器未溢出;

=1:定时器溢出中断申请,进中断后自动清零。

TR0/TR1:定时器运行启停控制位:

=1:定时器停止运行;

=1:定时器启动运行。

定时器控制寄存器TCON(88H)

TCON

IT0/IT1:外部中断请求的触发方式选择位:

=0:在INT0/INT1端申请中断的信号低电平触发;=1:在INT0/INT1端申请中断的信号负跳变触发。IE0/IE1:外部中断申请标志位:

=0:没有外部中断申请;

=1:有外部中断申请。

中断允许寄存器IE(0A8H)

=1时允许中断。

EA:总的中断允许控制位:

=0时禁止全部中断;

=1时允许中断。

6.4 总体设计电路图

(1)单片机电路图如下:

(2)3—8译码器电路原理图如下:

6.5程序源

ORG 0000H

LJMP MAIN

ORG 0023H

LJMP CKFS

ORG 0100H

MAIN:MOV SCON,#50H MOV TMOD,#20H

MOV TH1,#0FDH

MOV TL1,#0FDH

SETB TR1

SETB EA

SETB ES

SJMP $

ORG 0200H CKFS:JB RI,JSQL

JSQL:CLR RI

MOV A,SBUF

MOV R1,A

MOV B,#10

DIV AB

MOV R2,A

MOV A,B

MOV DPTR,#0500H

MOVC A,A+DPTR

MOV P1,#08H

MOV P0,A

MOV R5,#100

DEL5:DJNZ R5,DEL5

MOV A,R2

MOV B,#10

DIV AB

MOV R3,A

MOV A,B

MOV DPTR,#0500H

MOVC A,A+DPTR

MOV P1,#09H

MOV P0,A

MOV R5,#100

DEL4:DJNZ R5,DEL4

MOV A,R3

MOV DPTR,#0500H

MOVC A,A+DPTR

MOV P1,#0AH

MOV P0,A

MOV R5,#100

DEL6:DJNZ R5,DEL6

SJMP CKFS

RETI

DELAY:MOV R7,#0AH

DEL3:MOV R6,#0FFH

DEL2:MOV R5,#0FFH

DEL1:DJNZ R5,DEL1

DJNZ R6,DEL2

DJNZ R7,DEL3

RET

ORG 0500H

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

END

七.结论

首先通过此次课程设计,让我们对所学的计算机控制技术理论知识更加熟悉了解,对理论学习时没有掌握牢固的一些知识以及一些在学习中存在的漏洞进行学习并加以弥补,也让我们明白学习一门课程就要认真地对待,掌握牢固,并要在实践中加以运用。只有能运用自如的知识才是属于自己的东西。比较熟练,在学习此软件过程中其次,此次课程设计我们尝试用proteus软件进行仿真设计。对于proteus,我们之前对它的一些应用比较熟悉,所以此次运用起来通过查找图书馆的资料以及在网上的学习让我们意外收获了一些其他的知识,拓展了知识面,也丰富了自己的阅历。通过这次课程设计,我们学会了单片机完成某一项功能,需要从两个方面入手:一是软件的实现即汇编语言程序的编写,二是硬件电路的实现。两方面比较,程序编写时相对较难的一分。我们团组认为这是积累应用的过程。所以我们觉得这种困难最好的解决办法就是通过平时的积累,多多学习。此次设计培养了我们对于计算机串口

通信的一些兴趣,当看着自己设计的东西,通过仿真可以出现自己期望的结果时,那种愉悦的心情是前所未有的,同时当出现问题,通过自己查找资料检查电路之后排除问题的过程也锻炼了我们对于学习的一种深入和坚持,锻炼了我们独立思考的能力和最初的创新意识,让我们真正体会到学习的乐趣。

另外,我们再次巩固了一些以前的东西,仿真软件的运用,课程设计的书写,计算机的一些应用软件的应用,以及对word的了解也更深入了。最后一点,也使最深刻的体会,就是在设计过程中,基本上用到的都是我们学过的一些原理,

所以学以致用在这次设计中可谓体现的淋漓尽致,要把所学的知识联系起来综合运用。这些都将成为我们以后的工作学习的铺路石,使我们在大学里收获的最实用的东西,而不是仅仅只是纸上谈兵,而是通过我们亲自动手来完成的经验对每个人来说都是一笔财富,所以这次《单片机控制技术》课程设计对我们来说绝对是一次难得的锻炼的机会。

八.参考文献如下:

丽清,51单片机参考与应用,中国石油大学,2009;

毅刚,MCS-51单片机应用设计,哈尔冰工业电子,1996;

何立民,MCS-51系列单片机应用系统设计与接口技术,航空航天大学,1990;

广弟,单片机基础,航空航天大学,1992.

设计单片机通讯协议论文(非常经典)

如何设计单片机常用通信 协议论文

目录 1.自定义数据通信协议 (3) 2.上位机和下位机中的数据发送 (3) 3.下位机中的数据接收和协议解析 (4) 4.上位机中的数据接收和命令处理 (8) 5.总结 (9)

单片机通信协议现在大部分的仪器设备都要求能过通过上位机软件来操作,这样方便调试,利于操作。其中就涉及到通信的过程。在实际制作的几个设备中,笔者总结出了通信程序的通用写法,包括上位机端和下位机端等。 1.自定义数据通信协议 这里所说的数据协议是建立在物理层之上的通信数据包格式。所谓通信的物理层就是指我们通常所用到的RS232、RS485、红外、光纤、无线等等通信方式。在这个层面上, 底层软件提供两个基本的操作函数:发送一个字节数据、接收一个字节数据。所有的数据协议全部建立在这两个操作方法之上。通信中的数据往往以数据包的形式进行传送的,我们把这样的一个数据包称作为一帧数据。类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成部分:帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾。 帧头和帧尾用于数据包完整性的判别,通常选择一定长度的固定字节组成,要求是在整个数据链中判别数据包的误码率越低越好。减小固定字节数据的匹配机会,也就是说使帧头和帧尾的特征字节在整个数据链中能够匹配的机会最小。通常有两种做法,一、减小特征字节的匹配几率。二、增加特征字节的长度。通常选取第一种方法的情况是整个数据链路中的数据不具有随即性,数据可预测,可以通过人为选择帧头和帧尾的特征字来避开,从而减小特征字节的匹配几率。使用第二种方法的情况更加通用,适合于数据随即的场合。通过增加特征字节的长度减小匹配几率,虽然不能够完全的避免匹配的情况,但可以使匹配几率大大减小,如果碰到匹配的情况也可以由校验码来进行检测,因此这种情况在绝大多说情况下比较可靠。 地址信息主要用于多机通信中,通过地址信息的不同来识别不同的通信终端。在一对多的通信系统中,可以只包含目的地址信息。同时包含源地址和目的地址则适用于多对多的通信系统。 数据类型、数据长度和数据块是主要的数据部分。数据类型可以标识后面紧接着的是命令还是数据。数据长度用于指示有效数据的个数。 校验码则用来检验数据的完整性和正确性。通常对数据类型、数据长度和数据块三个部分进行相关的运算得到。最简单的做法可是对数据段作累加和,复杂的也可以对数据进行CR C运算等等,可以根据运算速度、容错度等要求来选取。 2.上位机和下位机中的数据发送 物理通信层中提供了两个基本的操作函数,发送一个字节数据则为数据发送的基础。数据 包的发送即把数据包中的左右字节按照顺序一个一个的发送数据而已。当然发送的方

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.sodocs.net/doc/3613433184.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机与下位单片机异步串行通信的通信协议

51串口通信协议(新型篇)

51串口通信协议(新型篇) C51编程:这是网友牛毅编的一个C51串口通讯程序! //PC读MCU指令结构:(中断方式,ASCII码表示) //帧:帧头标志|帧类型|器件地址|启始地址|长度n|效验和|帧尾标志 //值: 'n' 'y'| 'r' | 0x01 | x | x | x |0x13 0x10 //字节数: 2 | 1 | 1 | 1 | 1 | 1 | 2 //求和: ///////////////////////////////////////////////////////////////////// //公司名称:*** //模块名:protocol.c //创建者:牛毅 //修改者: //功能描述:中断方式:本程序为mcu的串口通讯提供(贞结构)函数接口,包括具体协议部分 //其他说明:只提供对A T89c51具体硬件的可靠访问接口 //版本:1.0 //信息:QQ 75011221 ///////////////////////////////////////////////////////////////////// #include #include //预定义 //帧 #define F_ST1 0x6e //帧头标志n #define F_ST2 0x79 //帧头标志y #define F_R 0x72 //帧类型读r #define F_W 0x77 //帧类型写w #define F_D 0x64 //帧类型数据帧d #define F_B 0x62 //帧类型写回应帧b #define F_C 0x63 //帧类型重发命令帧c #define F_Q 0x71 //帧类型放弃帧q #define F_ADDR 0x31 //器件地址0-9 #define F_END 0x7a //帧尾标志z #define F_SPACE 0x30 //空标志0 #define F_ERR1 0x31 //错误标志1,flagerr 1 #define F_ERR2 0x32 //错误标志2 2 //常数 #define S_MAXBUF 16 //接收/发送数据的最大缓存量 #define FIELD_MAXBUF 48 //最小场缓存,可以大于48字节,因为协议是以20字节为

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 -

基于单片机控制的蓝牙无线通信系统

基于单片机控制的蓝牙数据传输系统的设计 1 引言 蓝牙作为一种支持设备短距离通信的无线电技术,可以在众多设备之间进行无线信息交换。蓝牙技术设计一系列软硬件技术、方法和理论,包括:无线通信与网络技术,软件工程及软件可靠性理论,协议测试技术,规范描述语言,嵌入式实时操作系统,跨平台开发和用户界面图形化技术,软硬件接口技术,高集成芯片技术等[1]。由于蓝牙体积小,功耗低,其应用已经不再局限于计算机外设,几乎可以被集成在任何型号的数字设备中,特别是在那些对传输速率要求不高的小型移动设备和便携设备中应用广泛。随着现代化数字技术的发展,我们的生活中,各种设备与计算机之间的无线数据交换已经非常频繁,特别在工业现场控制和数据采集场合中,单片机与计算机的无线通信尤为突出。本文基于这一问题,提出了一种由单片机控制的蓝牙无线通信系统方案,主要是实现了由单片机控制蓝牙系统,与接入蓝牙网络的其他设备,如:移动电话、PDA、以及其他具有蓝牙功能的无线通信设备进行通信。 2 蓝牙协议栈概述 2.1 蓝牙技术的协议标准和协议规范 蓝牙无线通信的协议标准是由SIG制定的,它规定了蓝牙应用产品应遵循的标准和需要达到的要求。目前颁布的蓝牙规范有1.0、1.1、2.0、2.1等几个版本[2]。 蓝牙技术规范抱愧和信息一和应用框架两个部分。协议规范部分定义了蓝牙的各层同学那些以,应用框架指出了如何采用这些协议实现具体的应用产品。 协议栈由上至下可分为3个部分:传输协议、中介协议和应用协议。传输协议负责蓝牙设备间的相互位置确认,以及建立和管理蓝牙设备间的物理和逻辑链路,包括LMP、L2CAP、HCI;中介协议为高层应用协议或程序在蓝牙逻辑链路上工作提供了支持,为应用层提供了各种标准接口,包括:RFCOMM、SDP、IrDA、PPP、TCP/IP、UDP、TSC和AT指令集等;应用协议是指那些位于蓝牙协议栈之上的应用软甲和其中涉及的协议,包括开发驱动和其他蓝牙应用程序等。 2.2 蓝牙技术的核心协议 蓝牙技术的核心协议分为四个部分,如下: (1)基带协议(Baseband) 基带和链路控制层确保网络内部蓝牙设备单元之间由射频构成的物理连接。 (2)连接管理协议(LMP) 负责蓝牙网络内各设备之间连接的建立。 (3)逻辑链路控制和适配协议(L2CAP) 是一个为高层传输层和应用层协议屏蔽基带协议的适配协议,为高层应用传输提供了更加有效和更有利于实现的数据分组格式。 (4)服务发现协议(SDP) 发现服务在蓝牙技术框架中起到了至关重要的作用,它是所有用户模式的基础,是为实现网络中蓝牙设备之间相互查询及访问提供的服务。在蓝牙系统中,客户只有通过服务发现协议,才能获得设备信息、服务信息以及服务特征,从而在设备单元之间建立不同的SDP 层连接[3]。 2.3 HCI协议 HCI(Host Controller Interface)协议,即主机控制接口协议,属于蓝牙协议栈的

单片机和蓝牙模块无线传输的数据采集系统

单片机和蓝牙模块无线传输的数据采集系统

1.引言 蓝牙技术是近年来发展迅速的短距离无线通信技术,可以用来替代数字设备间短距离的有线电缆连接。利用蓝牙技术构建数据采集无线传输模块,与传统的电线或红外方式传输测控数据相比,在测控领域应用篮牙技术的优点主要有[1][2][3]: 1.采集测控现场数据遇到大量的电磁干扰,而蓝牙系统因采用了跳频扩频技术,故可以有效地提高数据传输的安全性和抗干扰能力。 2.无须铺设线缆,降低了环境改造成本,方便了数据采集人员的工作。 3.可以从各个角度进行测控数据的传输,可以实现多个测控仪器设备间的连网,便于进行集中监测与控制。 2.系统结构原理 本课题以单片机和蓝牙模块ROK 101 008为主,设计了基于蓝牙无线传输的数据采集系统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、信号放 大电路、A/D转换器、单片机、存储器、串口通信等构成,传送部分主要利用自带微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送到上位PC机进一步处理。整个系统结构框架图如图1所示。 AT89C51单片机作为下位机主机,传感器获得的信号经过放大后送入12位A/D转换器AD574A进行A/D 转换,然后将转换后的数据存储到RAM芯片6264中。下位机可以主动地或者在接收上位机通过蓝牙模块发送的传送数据指令后,将6264中存储的数据按照HCI-RS232传输协议进行数据定义, 通过MAX3232进行电平转换后送至蓝牙模块,由篮牙模块将数据传送到空间,同时上位机的蓝牙模块对此数据进行接收,再通过MAX3232电平转换后传送至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文件夹中。

基于单片机的红外无线控制

中国矿业大学徐海学院 技能考核培训 姓名:陈思彤学号: 22110838 专业:信息11-2班 题目:基于单片机的红外无线控制 专题:音乐播放器 指导教师:有鹏老师翟晓东老师 设计地点:电工电子实验室 时间: 2014 年 4 月

通信系统综合设计训练任务书 学生姓名陈思彤专业年级信息11-2班学号22110838 设计日期:2014年4 月5日至2014 年4 月10 日 设计题目: 基于单片机的红外无线控制 设计专题题目: 音乐播放器 设计主要内容和要求: 1. 主要内容: 单片机内部结构 红外遥控解码 C语言程序设 2. 功能扩展要求 实现音乐播放器的功能 指导教师签字:

摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥控的简易音乐播放器。通信蜂鸣器来发声,来完成音乐播放器的功能。该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。 关键词:单片机,中断系统,红外遥控,音乐播放

目录 1 绪论 (4) 1.1概述 (4) 1.2功能 (4) 2 硬件电路 (5) 2.1总体设计方 (5) 2.2单片机最小系统 (5) 2.3红外遥控收发电路 (5) 2.3.1 红外遥控发射电路 (6) 2.3.2 红外遥控接收电路 (7) 2.4蜂鸣器电路 (7) 2.5 LED指示灯电路 (8) 3软件编程 (9) 3.1 C语言实现系统设计 (9) 3.2乐谱的改编 (10) 参考文献 (11) 附录 (12)

基于单片机Wifi无线通信方案-Demo(参考模板)

基于单片机Wifi无线通信方案第一部分:功能介绍 通过手机发送指令控制LED亮与灭 单片机原理图 第二部分:硬件接法 1.连接实验相关模块连线 如图:

JP10(P0)接J12 J21跳线帽接左边 A→ P22 B→P23 C→P24 J10与J12相连接(即是P0口控制LED) 单片机与ESP8266连接:由于单片机的串口通常配置成9600,而ESP8266初始的波特率为115200,所以先用PC通过PL2303去配置ESP8266模块的波特率为9600

ESP8266图示PL2303图示 PC与ESP8266通过PL2303连接 PL2303绿线-----------ESP8266的URXD脚 PL2303白线-----------ESP8266的UTXD 脚 注意:用PC机上的串口助手测试时,由于ESP8266的电源是3.3V,所以先要把开发板的电源配置成3.3V ,如下图J-PWR,跳线冒连接3.3V。PL2303 的电源(红线)不接!ESP8266引脚的VCC和CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!!!!!!

在PC上打开软件sscom42.exe,界面如下: 注意:发送新行选择上,波特率默认为115200,8,1,None 串口号选择PL2303的COM口(查看设备管理器) 打开串口即可测试(软件的发送新行要打勾) 第一步:配置波特率 然后在字符串输入框中输入:AT+UART=9600,8,1,0,0 发送给ESP8266 ,若返回OK,表示成功(注意最后一位不要选择流控) 第二步:ESP8266配置AP的SSID和密码 然后在字符串输入框中输入:AT+CWSAP="ESP8266-gigi","1234567890",5,3 注意:操作第二步时,要把串口软件的波特率设置成9600。

基于单片机Wifi无线通信方案-Demo

基于单片机W i f i无线通信方案第一部分:功能介绍 通过手机发送指令控制LED亮与灭 单片机原理图 第二部分:硬件接法 1.连接实验相关模块连线 如图: JP10(P0)接J12 J21跳线帽接左边 A? P22 B?P23 C?P24 J10与J12相连接(即是P0口控制LED) 单片机与ESP8266连接:由于单片机的串口通常配置成9600,而ESP8266初始的波特率为115200,所以先用PC通过PL2303去配置ESP8266

模块的波特率为9600 ESP8266图示 PL2303图示PC与ESP8266通过PL2303连接 PL2303绿线-----------ESP8266的URXD脚

PL2303白线-----------ESP8266的UTXD 脚 注意:用PC机上的串口助手测试时,由于ESP8266的电源是,所以先要把开发板的电源配置成 ,如下图J-PWR,跳线冒连接。PL2303 的电源(红线)不接!ESP8266引脚的VCC和CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!!!!!! 在PC上打开软件,界面如下: 注意:发送新行选择上,波特率默认为115200,8,1,None 串口号选择PL2303的COM口(查看设备管理器) 打开串口即可测试(软件的发送新行要打勾) 第一步:配置波特率 然后在字符串输入框中输入:AT+UART=9600,8,1,0,0 发送给ESP8266 ,若返回OK,表示成功(注意最后一位不要选择流控) 第二步:ESP8266配置AP的SSID和密码 然后在字符串输入框中输入:AT+CWSAP="ESP8266-gigi 注意:操作第二步时,要把串口软件的波特率设置成9600。

《单片机应用设计-基于单片机的433M无线通信系统》廖永斌

课程设计 题目基于单片机的433M无线通信系统学院 专业 班级 姓名 指导教师 2018年 1月 13日

《单片机应用设计》任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于单片机的433M无线通信系统 课程设计目的: 1、熟悉单片机应用系统的硬件设计及软件设计的基本方法; 2、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中; 3、训练单片机应用技术,锻炼实际动手能力 4、提高正确地撰写论文的基本能力。 课程设计内容和要求 1、完成硬件电路的设计,其中包括单片机和CC1101模块的设计; 2、完成无线通信模块的程序设计与实现,上机运行调试程序,记录实验结果(如图表等), 并对实验结果进行分析和总结; 3、课程设计报告书按学校统一规范来撰写,报告主要包括以下内容:目录、摘要、关键 词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论献等; 4、查阅不少于6篇参考文献。 初始条件: 1、STC89C52和CC1100H模块; 2、先修课程:单片机原理与应用。 时间安排: 第19周,安排设计任务,完成硬件设计; 第20周,完成软件设计、撰写报告,答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (Ⅰ) Abstract (Ⅱ) 1基本原理 (1) 1.1无线通信系统 (1) 1.2芯片简介 (1) 1.2.1单片机STC89C52 (1) 1.2.2 无线通信CC1101芯片 (3) 2方案论证与设计 (5) 2.1无线通信模块选择 (5) 2.2 单片机最小系统选择 (5) 2.3整体方案设计 (6) 3 硬件电路设计 (6) 4软件程序设计 (8) 4.1发送端编程 (8) 4.2接收端编程 (9) 4.3程序调试与下载 (10) 5硬件仿真 (12) 6实物制作与调试 (12) 6.1 STC89C52单片机最小系统 (12) 6.2无线通信模块CC1101 (13) 6.3稳压电路模块 (13) 7心得体会 (15) 8参考文献 (16) 附录 (17)

关于51单片机上实现modbus协议

关于51单片机上实现modbus协议 你找一个MODBUS的协议详细资料好好看看,就是一种通讯约定,你按照它规定的格式通讯就可以了 协议发送给询问方。Modbus协议包括ASCII、RTU、TCP等,并没有规定物理层。此协议定义了控制器能够认识和使用的消息结构,而不管它们是经过何种网络进行通信的。标准的Modicon控制器使用RS232C实现串行的Modbus。 Modbus的ASCII、RTU协议规定了消息、数据的结构、命令和就答的方式,数据通讯采用Maser/Slave方式,Master端发出数据请求消息,Slave端接收到正确消息后就可以发送数据到Master端以响应请求;Master端也可以直接发消息修改Slave端的数据,实现双向读写。Modbus协议需要对数据进行校验,串行协议中除有奇偶校验外,ASCII模式采用LRC 校验,RTU模式采用16位CRC校验,但TCP模式没有额外规定校验,因为TCP协议是一个面向连接的可靠协议。另外,Modbus采用主从方式定时收发数据,在实际使用中如果某Slave站点断开后(如故障或关机),Master端可以诊断出来,而当故障修复后,网络又可自动接通。因此,Modbus协议的可靠性较好。下面我来简单的给大家介绍一下,对于Modbus的ASCII、RTU和TCP协议来说,其中TCP和RTU协议非常类似,我们只要把RTU协议的两个字节的校验码去掉,然后在RTU协议的开始加上5个0和一个6并通过TCP/IP网络协议发送出去即可。所以在这里我仅介绍一下Modbus的ASCII和RTU协议。下表是ASCII协议和RTU协议进行的比较:协议开始标记结束标记校验传输效率程序处理 ASCII :(冒号)CR,LF LRC 低直观,简单,易调试 RTU 无无CRC 高不直观,稍复杂 通过比较可以看到,ASCII协议和RTU协议相比拥有开始和结束标记,因此在进行程序处理时能更加方便,而且由于传输的都是可见的ASCII字符,所以进行调试时就更加的直观,另外它的LRC校验也比较容易。但是因为它传输的都是可见的ASCII字符,RTU传输的数据每一个字节ASCII都要用两个字节来传输,比如RTU传输一个十六进制数0xF9,ASCII 就需要传输’F’’9’的ASCII码0x39和0x46两个字节,这样它的传输的效率就比较低。所以一般来说,如果所需要传输的数据量较小可以考虑使用ASCII协议,如果所需传输的数据量比较大,最好能使用RTU协议。 下面对两种协议的校验进行一下介绍。 1、LRC校验 LRC域是一个包含一个8位二进制值的字节。LRC值由传输设备来计算并放到消息帧中,接收设备在接收消息的过程中计算LRC,并将它和接收到消息中LRC域中的值比较,如果两值不等,说明有错误。

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

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

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

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

基于WIFI模块和单片机的无线数据传输附代码

工业大学 计算机科学与技术学院 Project3课程设计 2014-2015学年第二学期 班级:浦电子1203 组员: 组员学号: 指导老师:武晓光,胡方强,包亚萍 袁建华,毛钱萍 2015年7月8日

目录 第一章阶段任务 第二章基于WIFI模块的无线数据传输的原理 1.1 时钟模块 1.2 最小单片机系统的原理 1.3 温度传感器DS18B20 1.4 串口 1.5 WIFI模块 第三章基于WIFI模块的无线数据传输的实现 2.1 WIFI模块设置 2.2 串口部分设置 2.3 调试与运行过程 第四章程序与框图 第五章小结

第一章阶段任务:

第四阶段:2天(2天)写报告 第二章基于WIFI模块的无线数据传输的原理 1.1时钟DS1302模块: 电路原理图:DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。 读写时序说明:DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位( 0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图

1.2单片机最小系统的原理: 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行. 1.3温度传感器DS18B20的原理(连接到单片机最小系统,并将温度发送给WIFI模块):

51单片机通信协议

单片机通信协议 现在大部分的仪器设备都要求能过通过上位机软件来操作,这样方便调试,利于操作。其中就涉及到通信的过程。在实际制作的几个设备中,笔者总结出了通信程序的通用写法,包括上位机端和下位机端等。 1.自定义数据通信协议 这里所说的数据协议是建立在物理层之上的通信数据包格式。所谓通信的物理层就是指我们通常所用到的RS232、RS485、红外、光纤、无线等等通信方式。在这个层面上,底层软件提供两个基本的操作函数:发送一个字节数据、接收一个字节数据。所有的数据协议全部建立在这两个操作方法之上。 通信中的数据往往以数据包的形式进行传送的,我们把这样的一个数据包称作为一帧数据。类似于网络通信中的TCPIP协议一般,比较可靠的通信协议往往包含有以下几个组成部分:帧头、地址信息、数据类型、数据长度、数据块、校验码、帧尾。 帧头和帧尾用于数据包完整性的判别,通常选择一定长度的固定字节组成,要求是在整个数据链中判别数据包的误码率越低越好。减小固定字节数据的匹配机会,也就是说使帧头和帧尾的特征字节在整个数据链中能够匹配的机会最小。通常有两种做法,一、减小特征字节的匹配几率。二、增加特征字节的长度。通常选取第一种方法的情况是整个数据链路中的数据不具有随即性,数据可预测,可以通过人为选择帧头和帧尾的特征字来避开,从而减小特征字节的匹配几率。使用第二种方法的情况更加通用,适合于数据随即的场合。通过增加特征字节的长度减小匹配几率,虽然不能够完全的避免匹配的情况,但可以使匹配几率大大减小,如果碰到匹配的情况也可以由校验码来进行检测,因此这种情况在绝大多说情况下比较可靠。 地址信息主要用于多机通信中,通过地址信息的不同来识别不同的通信终端。在一对多的通信系统中,可以只包含目的地址信息。同时包含源地址和目的地址则适用于多对多的通信系统。 数据类型、数据长度和数据块是主要的数据部分。数据类型可以标识后面紧接着的是命令还是数据。数据长度用于指示有效数据的个数。 校验码则用来检验数据的完整性和正确性。通常对数据类型、数据长度和数据块三个部分进行相关的运算得到。最简单的做法可是对数据段作累加和,复杂的也可以对数据进行CRC运算等等,可以根据运算速度、容错度等要求来选取。 2.上位机和下位机中的数据发送 物理通信层中提供了两个基本的操作函数,发送一个字节数据则为数据发送的基础。数据包的发送即把数据包中的左右字节按照顺序一个一个的发送数据而已。当然发送的方法也有不同。 在单片机系统中,比较常用的方法是直接调用串口发送单个字节数据的函数。这种方法的缺点是需要处理器在发送过程中全程参与,优点是所要发送的数据能够立即的出现在通信线路上,能够立即被接收端接收到。另外一种方法是采用中断发送的方式,所有需要发送的数据被送入一个缓冲区,利用发送中断将缓冲区中的数据发送出去。这种方法的优点是占用处理器资源小,但是可能出现需要发送的数据不能立即被发送的情况,不过这种时延相当的小。对于51系列单片机,比较倾向于采用直接发送的方式,采用中断发送的方式比较占用RAM资源,而且对比直接发送来说也没有太多的优点。以下是51系列单片机中发送单个字节的函数。 v oid SendBy te(unsigned char ch) { SBUF = ch; while(TI == 0); TI = 0; }

单片机与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 公

基于51单片机的无线通信

湖北民族学院 信息工程学院 课程设计报告书 题目: 基于51单片机的无线通信 课程:数字通信系统课程设计 专业:电子 班级: 0314411 学号: 0 学生姓名:田紫龙 指导教师:黄双林 2017年 06月 18日

摘要 本文设计了一种以AT89S52单片机为控制核心的无线通信控制模块,详细说明了该系统的基本原理、主要电路、硬件框架以及软件框架。整个系统采用模块化设计,主要包括单片机与下位机之间的无线通信控制电路,以及无线通信模块与51单片机之间通信接口电路。该通信控制系统通过51单片机和nrf2401的spi通信,从而通过无线通信控制模块形成与下位机的联系,控制下位机运动控制器,并且将通信接收的数据保存到扩展的存储器内。 本模块的通信方法简便,除了可以进行远程实时控制外,还可广泛的应用于工业监控和数据采集系统。本系统具有性能可靠、抗干扰能力强、功耗低、性价比高等优点,在无线通信领域具有重要的应用价值和良好的发展前景。 关键字:无线通信控制;AT89S52;nRF2401;串行通信 目录 1 绪论.......................................................错误!未定义书签。

2 总体设计...................................................错误!未定义书签。 3 各个模块简介................................................错误!未定义书签。 1.单片机STC89C52和nRF2401的接口电路.....................错误!未定义书签。 无线模块简介.............................................错误!未定义书签。 1602简介................................................错误!未定义书签。 4 各个模块设计................................................错误!未定义书签。硬件电路板的设计..............................................错误!未定义书签。 软件程序设计..............................................错误!未定义书签。 主程序模块............................................错误!未定义书签。 结果与分析..............................................错误!未定义书签。总结 .........................................................错误!未定义书签。参考文献......................................................错误!未定义书签。

相关主题