双单片机串行通信

上传人:m**** 文档编号:562052254 上传时间:2024-03-14 格式:DOCX 页数:20 大小:387.43KB
返回 下载 相关 举报
双单片机串行通信_第1页
第1页 / 共20页
双单片机串行通信_第2页
第2页 / 共20页
双单片机串行通信_第3页
第3页 / 共20页
双单片机串行通信_第4页
第4页 / 共20页
双单片机串行通信_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《双单片机串行通信》由会员分享,可在线阅读,更多相关《双单片机串行通信(20页珍藏版)》请在金锄头文库上搜索。

1、摘 要串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系 统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式 显示。两个单片机之间采用RS232进行双机通信。在通信过程中,使用通信协议进行通 信。关键字:51单片机;串行通信;接口AbstractMiciocontioller serial communication is an important application. The course design is to use a system miciocontrollei- to complete, dual-chip micioconti

2、ollei* serial conununication. Conununicate the results of practical digital tube display, digital display using look-up table. Be used between two RS232 two-machine conunumcations. hi the conununication process, using the commumcation protocol.Key Words: 51 single; seiial coniiiiunication; hiteiface

3、目 录摘 要IAbstractII1总体设计11.1设计要求11.2设计方案12硬件设计22.1 51单片机串行通信功能22.2 MAX232 芯片42.3整体电路设计53软件设计63.1串行通信软件实现63.2程序流程图7321发送端程序流程图73.2.2接收方程序流程图84联合调试9总结10参考文献11致谢12附录A源码13附录B系统电路图17第一章总体设计1.1设计要求两片单片机之间进行串行通信,发送端将0f循环发送到接收端,并在接收端显示。1.2设计方案本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口 TXD段输出,经过电平转换芯片MAX232将TTL电平

4、转换为RS232电平输出,经过传 输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接 收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力, 还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送AAH给从机,当从机接收到AAH 后,向主机回答BBHo主机收到BBH后就把数码表TAB16中的10个数据送给从机, 并发送检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送來的检验 和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从 机收到16个正确数据后送到一个数码管显示。第二

5、章硬件设计21 51单片机串行通信功能;W_|XTAL118XTAL2RSTPSEM ALE EAP0 O/ADOPO 1/AD1P0 2/AD2PO 3/AD3PO 4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15P1 .0 P1 .1P1.2P1.3P1.4P1.5P1.6P1.7P3.0JRXDP3.1 /TXDP3.2)lNT0TP3.3J1NFTP3.4/T0P3.5/T1P3.6MJRP3.7JRDAT89C51 TEXT图2.1AT89

6、C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是 传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点 是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低, 传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART (通用异步接受和发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同 一直接地址99H

7、,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SMOSM1SM2RENTBSRBSTIRISMO, SM1:串行接口工作方式选择位,这两位组合成00, 01, 10, 11对应于工作方 式0、1、2、3o串行接口工作方式特点见下表SM0SMl匚作方式功能波特率0008位同步移位寄存器(用于I/O扩展)f(c/1201110位异步串行通信(UART)可变(T1溢出率*2/32)10211位异步串行通信(UART)foXc/64 或 W3211311位异步串行

8、通信(UART)可变(T1溢出率*2/32)SM2:多彳机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据 TB8,使从机根据这一位來判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置位,并申请中断。必须要软件 清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件 清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器

9、,8位数据全移入后,再并行送入接收SBUF 中。(4)波特率发生器波特率发生器用來控制串行通信的数据传输速率的,51系列单片机用定时器T1作 为波特率发生器,T1设置在定时方式。波特率时用來表示串行通信数据传输快慢程度的 物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMODo(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率二(T1计数率)/ (产生溢出 所需机器周期)。由于是定时方式,T1计数率二 W12o产生溢出所需机器周期数二模 M-计数初值Xo2.2 MAX232 芯片用8051串行接口通信,如果两台8051单片机之间的距离很近(不超过1.

10、 5m),可 以釆用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平(0-5V) 直接传输数据信息。如果传输距离较远(超过1.5m),由于传输线的阻抗与分布电容, 会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用RS232标准 总线接口,将单片机输出的TTL电平转换为RS232标准电平(逻辑1为-15-5V;逻辑 0为+5-一+15V)。用RS232可将传输距离提高到15m,如果想远距离传输,可以釆用RS422 或者RS485o电平转换芯片MAX232是美信公司(MAXIM)生产,专用于进行将TTL电平转换 为RS232电平的芯片,MAX232内部有泵电源,

11、能将+5V电源电压在芯片内提高到RS232 电平所需的+10V或者-10V电平。U2C1 +C1-T1IN R1OUTT2INR2OUTT1OUTR1INT2OUTR2INVS*VS-C2+C2-261110MAX232 图2.2电平转换芯片MAX2322. 3整体电路设计最终设计电路如下图3所示,发送方的数据由串行口 TXD段输出,经过电平转换 芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。 接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受 方接收后,通过P1 口在数码管上显示接收的信息。K 11MDIK171APXP9D.

12、fQ7lAP?P2OXQP21W* 2A11 2.VA122X/AU 2/Al42.7?Aqt.122 2 夕PH rPPPPPPJObfVO ret irrzn fjxiincnjPJiCFTTFQrrafOTlpxn*C1-IF1U08DlYACClDAtcr DOTAKCa C.VAV4 csw OX/AC C.V/AC?XTM3-in5CTMLXWT2Xyx&2.VA& 2J/A13s2.VA12 2/AU 2X/A142.?AA1.GTX-ric霞tr*ur 1他 rur j?ie qgCl-U2ri H10ITrzi IWIT图2. 3串行通信电路第三章软件设计通过通信协议进行发送

13、接收,主机先送AAH给从机,当从机接收到AAH后,向 主机回答BBH。主机收到BBH后就把数码表TAB16中的10个数据送给从机,并发送 检验和。从机收到16个数据并计算接收到数据的检验和,与主机发送来的检验和进行 比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到 16个正确数据后送到一个数码管显示。3.1串行通信软件实现(1)串行口工作于方式1;用定时器1产生9600bit/s的波特率,工作于方式2。(2)功能】将本机ROM中数码表TAB16中的16个数发送到从机,并保存在从机内 部ROM中,从机收到这16个数据后送到一个数码管循环显示。(3)通信协议:主机首先

14、发送连络信号(AAH),从机接收到之后返回一个连络信号 (BBH)表示从机已准备好接收。(4)通信过程使用第九位发送奇偶校验位。(5)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H, 否则返IhIFFHo(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数 据,若为FFH,则重新发送数据。3.2程序流程3.2.1发送端程序流程图图3. 1发送端程序流程图322接收方程序流程图图3.2发送端程序流程图第四章联合调试在protues上进行仿真实验。首先使用KeilC将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。/vs.rocr/pa rnvAbi ror/ipz IQ7AD

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号