片机课程设计报告双机串行通讯

上传人:石磨 文档编号:193493783 上传时间:2021-08-21 格式:DOC 页数:17 大小:227KB
返回 下载 相关 举报
片机课程设计报告双机串行通讯_第1页
第1页 / 共17页
片机课程设计报告双机串行通讯_第2页
第2页 / 共17页
片机课程设计报告双机串行通讯_第3页
第3页 / 共17页
片机课程设计报告双机串行通讯_第4页
第4页 / 共17页
片机课程设计报告双机串行通讯_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《片机课程设计报告双机串行通讯》由会员分享,可在线阅读,更多相关《片机课程设计报告双机串行通讯(17页珍藏版)》请在金锄头文库上搜索。

1、单片机课程设计报告双机串行通讯学 院:专 业:学 号:姓 名: 组 员: 指导老师: 2013年11月20号 目录摘要3 英文摘要4一 总体设计51 设计要求52 设计方案5二 硬件设计51 51单片机串行通信功能52 MAX232芯片73 整体电路设计8三 软件设计91 串行通信软件实现92 程序流程图9四 联合调试12五 设计小节12六 附录 131 主机发送程序132 从机接受程序143 系统电路图17 摘要串行通信是单片机的一个重要应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信。通信的结果实用数码管进行显示,数码管采用查表方式显示。两个单片机之间采用RS232

2、进行双机通信。在通信过程中,使用通信协议进行通信。关键词:51单片机,串行通信,接口AbstractSerial communication is an important application of single chip. This course is designed to using single chip computer to complete a system, the realization biplate microcontroller serial communication. Communication results and practical to display,

3、 digital digital tube pipe, adopting look-up table display. Two microcontroller between adopt RS232 for dual-computer communications. In communication process, USES communication protocol to communicate. Key words: 51 SCM, serial communication, interface 一、总体设计1.设计要求:两片单片机之间进行串行通信,发送端将0F循环发送到接收端,并在接

4、收端显示。2.设计方案:本次设计,对于两片89C51,采用RS232进行双机通信。发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,在数码管上显示接收的信息。为提高抗干扰能力,还可以在输入输出端加光耦合进行光电隔离。软件部分,通过通信协议进行发送接收,主机先送E1H给从机,当从机接收到E1H后,向主机回答E2H。主机收到E2H后就把数码表30H-3FH内容中的16个数据送给从机,并发送检验和。从机收到16个数据并计算接收到数据的

5、检验和,与主机发送来的检验和进行比较,若检验和相同则发送00H给主机;否则发送FFH给主机,重新接受。从机收到16个正确数据后送到一个数码管显示。二、硬件设计1.51单片机串行通信功能图1.AT89C51计算机与外界的信息交换称为通信,常用的通信方式有两种:并行通信和串行通信。51单片机用4个接口与外界进行数据输入与数据输出就是并行通信,并行通信的特点是传输信号的速度快,但所用的信号线较多,成本高,传输的距离较近。串行通信的特点是只用两条信号线(一条信号线,再加一条地线作为信号回路)即可完成通信,成本低,传输的距离较远。51单片机的串行接口是一个全双工的接口,它可以作为UART(通用异步接受和

6、发送器)用,也可以作为同步移位寄存器用。51单片机串行接口的结构如下:(1)数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指令将数据送到SBUF即可启动发送;接收时用指令将SBUF中接收到的数据取出。(2)串行控制寄存器(PCON)SCON用于串行通信方式的选择,收发控制及状态指示,各位含义如下:SM0SM1SM2RENTB8RB8TIRISM0,SM1:串行接口工作方式选择位,这两位组合成00,01,10,11对应于工作方式0、1、2、3。串行接口工作方式特点见下表SM0SM1工作方式功能波特率 0008位同步移位寄

7、存器(用于I/O扩展)fORC/1201110位异步串行通信(UART)可变(T1溢出率*2SMOD/32)10211位异步串行通信(UART)fORC/64或fORC/3211311位异步串行通信(UART)可变(T1溢出率*2SMOD/32)SM2:多机通信控制位。REN:接收允许控制位。软件置1允许接收;软件置0禁止接收。TB8:方式2或3时,TB8为要发送的第9位数据,根据需要由软件置1或清0。RB9:在方式2或3时,RB8位接收到的第9位数据,实际为主机发送的第9位数据TB8,使从机根据这一位来判断主机发送的时呼叫地址还是要传送的数据。TI:发送中断标志。发送完一帧数据后由硬件自动置

8、位,并申请中断。必须要软件清零后才能继续发送。RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。必须要软件清零后才能继续接收。(3)输入移位寄存器接收的数据先串行进入输入移位寄存器,8位数据全移入后,再并行送入接收SBUF中。(4)波特率发生器波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1作为波特率发生器,T1设置在定时方式。波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。(5)电源控制寄存器PCON其最高位为SMOD。(6)波特率计算当定时器T1工作在定时方式的时候,定时器T1溢出率=(T1计数率)/(产生溢出所需机器周期

9、)。由于是定时方式,T1计数率= fORC/12。产生溢出所需机器周期数=模M-计数初值X。2.MAX232芯片用8051串行接口通信,如果两台8051单片机之间的距离很近(不超过1.5m),可以采用直接将两台8051单片机的串行接口直接相连,利用其自身的TTL电平(0-5V)直接传输数据信息。如果传输距离较远(超过1.5m),由于传输线的阻抗与分布电容,会产生电平损耗和波形畸变,以至于检测不出数据或数据出错。此时可利用 RS232标准总线接口,将单片机输出的TTL电平转换为RS232标准电平(逻辑1为-15-5V;逻辑0为+5-+15V)。用RS232可将传输距离提高到15m,如果想远距离传

10、输,可以采用RS422或者RS485。电平转换芯片MAX232是美信公司(MAXIM)生产,专用于进行将TTL电平转换为RS232电平的芯片,MAX232内部有泵电源,能将+5V电源电压在芯片内提高到RS232电平所需的+10V或者-10V电平。图2.电平转换芯片MAX2323.整体电路设计最终设计电路如下图3所示,发送方的数据由串行口TXD段输出,经过电平转换芯片MAX232将TTL电平转换为RS232电平输出,经过传输线将信号传送到接收端。接收方也使用MAX232芯片进行电平转换后,信号到达接收方串行口的接收端。接受方接收后,通过P0口在数码管上显示接收的信息。图3.串行通信电路三、软件设

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

12、协议:主机首先发送连络信号(E1H),从机接收到之后返回一个连络信号(E2H)表示从机已准备好接收。(4)通信过程使用校验和。(5)从机接收到全部数据后进行校验和计算,若数据没有错误,则返回00H,否则返回FFH。(6)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。2.程序流程图(1)发送端程序流程图(2) 接收方程序流程图四、 联合调试在protues上进行仿真实验。首先使用Keil将编写完成的程序编译生成HEX文件,将HEX文件烧录到两片单片机中,进行仿真实验,结果如下图所示,可以看到,接收端已将接受到的数据完整的显示了出来。图4.仿真

13、图五、 设计小结经过为期两周的准备与努力,终于顺利的完成了本次设计任务。虽然在这段时间里每天都那么繁忙,但是在这忙碌的过程中却得到了许多的收获。经过本次课程设计,认识了自己的不足之处,通过不断的查阅资料,加深了对单片机的语言程序设计,了解了单片机串行通信的基本知识,对于以后的学习和工作都有很大的益处。在设计的过程中,我们也遇到了一些困难,比如开始的时候,由于发送端和接收端的通信协议没有做好,导致数据不能正确的传输,在解决问题的过程中,对于通信协议的实现有了深刻的认识。通过这次课程设计,锻炼了自己独立思考的能力与团队合作的精神。六、 附录1. 主机发送程序本程序收发数据采用查询方式ORG 0000HAJMP STARTORG 0030HSTART:MOV 30H,#0C0H ;传送的16个数

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 总结/报告

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