资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
双 机 通 信 毕 业 设 计 单片机 串口通信课题名称:基于51单片机的双机串行通信设计指导老师: 班 级: 完 成 人: 2012年5月5日星期六基于51单片机的双机串行通信设计【摘要】串行通信是单片机的一个重要应用。本次设计就是利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式进行显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通信。【关键字】51单片机,串行通信,接口一、总体设计1.设计要求:两片单片机之间进行通信,发送端将0-f循环发送到接收篇,并在接收端显示,2.设计方案:本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端,接收方式也使用MAX232芯片经行电平转换后,信号到达接收方串行口的接收端,接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加入耦合进行光电隔离。软件部分,通过通信协议经行发送接收,主机先送AAH给从机,当从机接收到AAH后,向主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送检验和。从机接收到16个数据并计算接收到数据的检验和,与主机发送来的检验和经行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码显示管。二、硬件设计1. 单片机串行通信功能计算机与外界的信息交换成为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用四个接口与外界经行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。 51单片机的串行接口是一个全双工的接口,它可以 UART(通用异步接受和发射器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1) 数据缓冲器(SBUF) 接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2) 串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SMOSM1SM2RENTB8RB8TIRISMO,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行通信工作方式特点:SMOSM1工作方式功能波特率0008位同步移位寄存器(用于I/0拓展)forc/1201110位异步串行通信(UART)可变(T1溢出率*2/3210211位异步串行通信(UART)forc/64或forc/3211311位异步串行通信(UART)可变(T1溢出率*2/32SM2:多机通信控制位REN:接收允许控制位。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0.RB9:在方式2或3时,RB8位接收到得第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自己置位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。2. 整体电路设计最终设计电路图如下所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过P1口在数码管上显示接收的信息。串行通信电路图三、软件设计1. 串行通信软件实现(1) 串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2.(2) 功能:将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机内部ROM中,从机收到这16个数据后送到一个数码管循环显示。(3) 通信协议:主机首先发送联络信号(AAH),从机接收到之后返回一个联络信号(BBH)表示从机已准备好接收。(4) 通信过程使用第9位发送奇偶检校位。(5) 从机接收到一个数据后,立即经行奇偶校验,若数据没有错误,则返回00H,否则返回FFH.(6) 主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。2. 程序流程图(1) 发送端程序流程图主程序开始程序初始化从机是否回答BBH?主机发送数据,检验和输出完成清楚标志位NN清除标志位主机发送AAH(2) 接收方程序流程图显示清楚标志位主程序开始N接收完成?发送00H至主机N发送FFH,重新接收检验和相等?接收数据,计算校验和程序初始化四、联合调试在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如图,可以看到,接收端已将接收到得数据完整的显示了出来。1
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号