当前位置:文档之家› 单片机间通信协议说明书

单片机间通信协议说明书

目录第一章摘要 (2)第二章总体设计 (3)1)设计要求: 32)设计方案: 3第三章设计原理 (3)1)单片机串行通信的概述 (3)2)单片机最小系统 (4)(1)AT89G52 单片 (4)(2 )晶振电路 (5)(3 )复位电路 (5)2)硬件设计 (7)3)软件设计 (9)主程序设计 (9)延时中断设计 (10)初始值设定 (10)程序流程图 (11)第四章系统的仿真与实现 (12)Proteus 软件介绍 (12)Keil软件介绍 (12)仿真过程 (13)仿真结果 (13)第五章设计小结 (14)第八早参考文献 (14)第七章附录 (15)1#机c程序 (15)2#机c程序 (17)第一章摘要本次设计采用MCS-52单片机。

是这样的,MC& 52系列单片机芯片比51芯片多了个定时寄存器,芯片的内存也比51大点,其他功能相同。

串行通信是单片机的一个重要应用。

本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。

通信的结果是用数码管、发光二极管进行显示,数码管采用查表方式显示。

两个单片机之间采用TTL接口电路进行双机通信。

在通信过程中,使用通信协议单工进行通信。

关键词:52单片机,串行通信,接口,通信协议。

第二章总体设计1 )设计要求:1#机2#机之间实现串行通信,1#机上接一个按键、一个八段数码管,2#机上接一个按键、2个LED,用1#机上的按键控制2#机上的2个LED循环点亮,用2#机上的按键控制1#机上的数码管循环显示0-9。

2)设计方案:本次设计,对于两片89C52,采用TTL电路进行双机通信。

发送方的数据由串行口TXD段输岀,经过传输线将信号传送到接收端。

信号到达接收方串行口的接收端。

接受方接收后,在数码管上显示接收的信息。

为提高抗干扰能力,还可以在输入输岀端加光耦合进行光电隔离。

本系统利用单片机的串行口,由软件和硬件两部分协调实现两单片机的串行数据传输。

硬件电路以AT89C52单片机为核心,外围电路包括按键电路(数据的输入),显示电路(数据的输岀),复位电路。

工作在硬件电路基础上的软件主要完成数据输入,存储,显示,发送和接收。

由于两单片机相距很近,可以直接将其串行口相连,这样也可以简化设计难度。

软件部分,通过通信协议进行发送接收,当1#机按键按下,2#机两个灯开始循环点亮。

当2#机按键按下后,首先把设定好的程序给单片机检验,完毕1#机开始接受并显示在8段数码管上。

第三章设计原理1 )单片机串行通信的概述在通信领域内,有两种数据通信方式:并行通信和串行通信。

随着计算机网络化和微机分布式应用系统的发展,通信的功能越来越重要通信是指计算机与外界的信息传输,既包括打印机和磁盘等设备之间如终端、也包括计算机与外部设备,计算机与计算机之间的传输,的传输。

串行通信是指使用一条数据线, 将数据一位一位地依次传输, 每一位数据占据一个固的时间长度。

其只需要少数几条线就可以在系统间交换信息, 特别使用于计算机与计算机、计算机 与外设之间的远距离通信。

使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的 传送的,每一位为1或者为0。

在串行通信中,把通信接口只能发送或接收的单传送办法叫单工 传送;而把数据在甲乙两机之间的双向传递, 称之为双工传送。

在双工传送方式中又分为半双工传送和全双工传送。

半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只 能收信息。

51系列单片机有一个可编程的全双工串行通信接口,它可作异步接收发送器用,也 可做同步移位寄存器用,其帧格式可有8位、10位或11位,并能设置各种波特率,给使用带来很大的灵活性。

51系列单片机有两个物理上独立的接收、发送缓冲器SBUF 它们只占用同一地址 99H ,可同 时发送、接送数据。

发送缓冲器只能 写入,不能读岀,接收缓冲器只能读岀、不能写入。

串行发送接收的速率与波特率发生器产生的移位脉冲同频。

51系列单片机用定时器 T1或直接用CPU 时钟作为通信波特率发生器的输入, 在串行接口的不同工作方式中,波特率发生器从两个输入信 号中选择一个分频,产生移位脉冲来同步串口的接收和发送,移位脉冲的速率即是波特率。

接收器是双缓冲结构,在前一个字节被从接收缓冲器SBUF 读岀之前,第二字节即开始被收。

但 是,若在第二个字节接收完毕后,前一个字节还未被 CPU 读取的话,第二个字就会覆盖第一个字 节,造成第一个字节的丢失。

接收器是武汉理工大学《单片机原理与应用》 课程设计说明书 2双 缓冲结构,串行口的发送和接收都是以特殊功能寄存器SBU F 的名义进行或写的。

8051串行口可 设置四种工作方式,可有8位,10位和11位帧格式。

方式 0以8位据为一帧,不设起始位和停 止位,先发送最低位。

方式 1以10位为一帧传输,设有 1个起位“ 0” 8个数据位和1 一个停止位“ 1”方式23以11位为1帧传输,设有1个起始“0”,8个数据位,1个附加第九位和1 个停止们“1”附加第九位由软件置 1或清0。

发送时在TB8中,接收时送入 RB8中。

)单片机最小系统 2片AT89C-52单(1)机■^TAL1pamcc ♦CLWun PD_Z*AKZXTAlZp a 如利PD J S'ABE : 巾曲畑raw/w陀换R FZJIAII股曲乜rnrra旧08 IP相p 1 •r i.r13ROM/EPROM勺单片是片内有AT89C5I/52只要将单片机接上时机,用其构成最小应用系统时,可。

MCS-51单片钟电路和复位电路即的功能强、速度快公司推岀In tel 机系列是系列产品,是当前工位高档单片微型计算机8的.业测试系统中较理想的一种,内部有一个可编程的全双工的串行通信口,即串行通信和发送缓冲器(SBUF),这两个在物理上是独立的接收发送器,既可以发送数据,也可以接收数据。

全双工的串行通信只需要一根输岀线(发送数据TXD)和一根输入线(接收数据RXD)。

串行通信中主要有两种技术问题,一个是数据传送,另一个是数据转换。

具体说,在发送端,要把并行数据转换为串行数据;而在接收端,则要把接收到的串行数据转换为并行数据。

串行数据传送是将构成字符的每个二进制数据按一定的顺序进行传送的方式,串行通信协议规定字符数据的传送格式,每个串行数据由起始位、数据位、奇偶校检位和停止位组成。

本系统就是利用单片机的串行口,以串行通信方式,实现两单片机之间的数据交换,信息共享。

(2 )晶振电路AT89C5l/52单片机的时钟信号通常有两种形式:一种是内部时钟方式,另外一种是外部时钟方式。

内部时钟方式是在单片机的XTALI和XTAL2引脚外接石英晶体,就构成了自激震荡并在单片机内部产生时钟脉冲信号。

本设计采用内部时钟方式。

)复位电路3 (.当在AT89C5l/52单片机的RST引脚引入高电平并保持两个机器周期时,单片机内部就执行复位操作。

在实际应用中,复位操作有两个基本形式:一种是上电复位,另一种是上电与按键均有效的复位。

本系统采用上电按键都有效的复位。

按键按下,RST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。

另外在单片机运行期间,还可以利用按键完成复位操作。

2 )硬件设计计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。

单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。

串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。

51/2单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。

51单片机串行接口的结构如下:(1)数据缓冲器(SBUF接受或发送的数据都要先送到SBUF缓存。

有两个,一个缓存,另一个接受,用同一接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取岀。

(2)串行控制寄存器(PCON SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00, 01, 10 ,11对应于工作方式0、1、2、3串行接口工作方式特点见下表SM2多机通信控制位。

REN接收允许控制位。

软件置1允许接收;软件置0禁止接收。

TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。

RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。

TI :发送中断标志。

发送完一帧数据后由硬件自动置位,并申请中断。

必须要软件清零后才能继续发送。

RI :接收中断标志。

接收完一帧数据后由硬件自动置位,并申请中断。

必须要软件清零后才能继续接收。

(3 )输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。

(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。

波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。

(5 )电源控制寄存器PCON其最高位为SMOD)波特率计算6 (.当定时器T1工作在定时方式的时候,定时器T1溢岀率=(T1计数率)/ (产生溢岀所需机器周期)。

由于是定时方式,T1计数率=f/12 。

产生溢岀所需机器周期数=模M-计数初值X。

RC驱动电路显示输出PDJ3/j4bDpa.i/Ai>iPCldJ^gFW百paja*Ai>6・RLB^ACiKrfl .・?TECJ^r・,PUJMTr-rnri&v『口口抑口FQ.IfADI 陀血皿PQ.4/AU4mtiAMPDJ9A0GFQ.TfADiT1#机FZO*ASrz.-nc^s方手FgaI21F设计总图proteus 设计总图 2#机1#机3 )软件设计通过通信协议进行收发数据,串行口工作于方式1 ;用定时器1产生9600bit/s 的波特率,工作 于方式2。

通信协议:主机首先发送连络信号 (按键),从机接收到之后开始接受数据。

主程序设计主程序要完成的工作主要是系统的初始化设置系统状态显示及各开关量的状态检测判断。

串行口 工作于方式1 ;用定时器1产生9600bit/s 的波特率,工作于方式 2。

通信协议:判断按键是否 被按下。

串行口控制寄存器 SCON 勺设置串行口控制寄存器的基本情况在前面已经介绍,这里不再重复。

相关主题