1 / 21
文档名称:

单片机单片机双机串行通信.doc

格式:doc   大小:439KB   页数:21页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

单片机单片机双机串行通信.doc

上传人:乘风破浪 2019/4/11 文件大小:439 KB

下载得到文件列表

单片机单片机双机串行通信.doc

文档介绍

文档介绍:羅膄基于51单片机的双机串行通信设计荿艿【摘要】串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。肅【关键字】51单片机,串行通信,接口薄一、:羇两片单片机之间进行串行通信,发送端将0~f循环发送到接收端,并在接收端显示。:螁本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。葿软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB[16]中的10个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。螆膅膂芁蝿芄薃虿薈二、,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。蒄51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:莅(1)数据缓冲器(SBUF)衿接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。莀(2)串行控制寄存器(PCON)薄SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:蒂SM0薁SM1腿SM2蚄REN袃TB8节RB8羈TI蚄RI芃SM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表螀SM0蚆SM1螄工作方式蚄功能蒂波特率蝿0袄0袁0袀8位同步移位寄存器(用于I/O扩展)蒈fORC/12羃0节1蚂1芇10位异步串行通信(UART)莇可变(T1溢出率*2SMOD/32)蚃1肀0芀2莇11位异步串行通信(UART)肄fORC/64或fORC/32螂1聿1蒇3蒅11位异步串行通信(UART)芀可变(T1溢出率*2SMOD/32)袈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计数率=fORC/12。产生溢出所需机器周期数=模M-计数初值X。***用8051串行接口通信,如果两台8051单片机之间的距离很近(),可以采用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平(0-5V)直接传输数据信息。如果传输距离较远(),由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用RS232标准总线接口,