单片机双机通信设计.docx

上传人:ng****60 文档编号:2378708 上传时间:2019-05-10 格式:DOCX 页数:31 大小:273.35KB
下载 相关 举报
单片机双机通信设计.docx_第1页
第1页 / 共31页
单片机双机通信设计.docx_第2页
第2页 / 共31页
单片机双机通信设计.docx_第3页
第3页 / 共31页
单片机双机通信设计.docx_第4页
第4页 / 共31页
单片机双机通信设计.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、*实践教学*兰州理工大学计算机与通信学院2013 年秋季学期通信系统综合训练课程设计题 目:51 单片机双机串行通信设计 专业班级: 10 级通信四班 姓 名: 学 号: 指导教师: 成 绩: 摘要在测控系统和工程应用中,常遇到多项任务需同时执行的情况,因而主从式多机分布式系统成为现代工业广泛应用的模式。单片机功能强、体积小、价格低廉、开发应用方便,尤其具有全双工串行通讯的特点,在工业控制、数据采集、智能仪器仪表、家用电器方面都有广泛的应用。本次课程设计就是要利用单片机来完成一个系统,实现双片单片机串行通信,通信的结果使用数码管进行显示,数码管采用查表方式显示,两个单片机之间采用 RS-232

2、进行双机通信。在通信过程中,使用通信协议进行通信。并用 C 语言编写程序实现 PC 机与51单片机通过串口实现异步通信。关键字:51单片机;串行通信;RS-232接口标准目录前言 .1一、基本原理 .21.1 串行通信与并行通信 .21.1.1 同步通信 .21.1.2 异步通信 .31.2 串行接口的特点 .41.3 波特率选择 .51.4 通信协议的使用 .61.5 51 单片机的结构和作用 .61.6 双机通信 .7二、系统设计 .82.1 系统设计方案 .82.2 硬件设计 .82.3 软件设计 .9三、系统分析 .123.1 汇编语言和 C 语言的特点及选择 .123.2 并行通信与

3、串行通信的比较 .123.4 AT89C51 芯片的介绍 .123.5 MAX232 芯片的介绍 .13总结 .15致谢 .16附录 .17参考文献 .211前言近年来,在自动化控制和智能仪表中,单片机的应用越来越广泛。虽然 MOS 单片机内部含有丰富地位硬件资源,但对于一些复杂的单片系统来说,光靠单个单片机资源远远不能满足系统要求,通常需要对单片机进行外部扩展。例如 I/O 接口,扩展存储器,扩展定时/计数器更有甚者需要可扩展单片机。那么一个系统就需要两个或两个以上单片机,而这些单片机就需要互联来实现通信。本次课程设计就是通过 RS232来完成两个51单片机串行通信,通信的结果使用数码管进行

4、显示,数码管采用查表方式显示。在通信过程中,使用通信协议进行通信。2一、基本原理1.1 串行通信与并行通信计算机与外界的信息交换称为通信。在 通 信 领 域 内 , 有 两 种 数 据 通 信 方 式 : 并 行 通信 和 串 行 通 信 。 随 着 计 算 机 网 络 化 和 微 机 分 级 分 布 式 应 用 系 统 的 发 展 , 通 信 的 功 能 越 来越 重 要 。 通 信 是 指 计 算 机 与 外 界 的 信 息 传 输 , 既 包 括 计 算 机 与 计 算 机 之 间 的 传 输 , 也 包括 计 算 机 与 外 部 设 备 , 如 终 端 、 打 印 机 和 磁 盘 等

5、设 备 之 间 的 传 输 。 串 行 通 信 是 指 使 用 一 条 数 据 线 , 将 数 据 一 位 一 位 地 依 次 传 输 , 每 一 位 数 据 占 据 一个 固 定 的 时 间 长 度 。 其 只 需 要 少 数 几 条 线 就 可 以 在 系 统 间 交 换 信 息 , 特 别 适 用 于 计 算 机与 计 算 机 、 计 算 机 与 外 设 之 间 的 远 距 离 通 信 。 在 计 算 机 和 终 端 之 间 的 数 据 传 输 通 常 是 靠 电 缆 或 信 道 上 的 电 流 或 电 压 变 化 实 现 的 。如 果 一 组 数 据 的 各 数 据 位 在 多 条 线

6、 上 同 时 被 传 输 , 这 种 传 输 方 式 称 为 并 行 通 信 。3终点源010010018位数据线( a)并行通信0100 1 00 1源(b)串行通信终点图1 串行通信与并行通信的区别串行通信可以分为同步通信和异步通信两类。1.1.1 同步通信同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。异步通信实质是指甲乙通信双方采用独立的时钟,每个数据均以起始位开始,停止位结束,起始位触发甲乙双方同步时钟。每个异步串行帧中的1位彼此严格同步,位周期相同。同步通信的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发

7、送和接收连续的同步比特流,但这时还有两种不同的同步方式,一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步,另一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。1.1.2 异步通信所谓异步是指发送、接收双方的数据帧与帧之间不要求同步,也不必同步。异步通信是一种很常用的通信方式,异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收),发送端可以在4任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志

8、,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来,异步通信的好处是通信设备简单、便宜,但传输效率较低。 异步通信也可以是以帧作为发送的单位,接收端必须随时做好接收帧的准备,这时,帧的首部必须设有一些特殊的比特组合,使得接收端能够找出一帧的开始,这也称为帧定界,帧定界还包含确定帧的结束位置,这有两种方法,一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束,或者在帧首部中设有帧长度的字段,需要注意的是,在异步发送帧时,并不是说发送端对帧中的每一个字符都必须加上开始位和停止位后再发送出去,而是说,发送端可以在任意时间发送一个帧,而帧与帧之间的时间间隔也可以是任意的。在一帧中的所有

9、比特是连续发送的,发送端不需要在发送一帧之前和接收端进行协调。异步通信比较灵活,适用于数据的随机发送/接收;而同步通信则是成批数据传送。异步传输一批数据因每个字节均有起始位和停止位控制而使发送/接收速度有所降低,一般适用于每秒509600位,而同步传输速度较快,可达每秒80万位,所以本次设计选用串行异步通信。异步通信所传输的数据格式(串行帧)由1个起始位、7个或8个数据位、12个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0;空闲位约定为1。在异步通信方式中,数据或字符是一帧一帧传送的,在帧格式中包含了4个组成部分:起始位,数据位,奇偶位和停止位。起始位占一位,用逻辑“0”表示字符

10、的开始。起始位后面紧接着是数据位,数据位的个数可以是5位,6位,7位或是8位。在数据位传送过程中,规定地位在前,高位在后,数据位发送完后,接下来的是1位奇偶校验位,奇偶校验用于有限差错检测,通信双方约定一致的奇偶校验方式,停止位在最后,用逻辑值“1”表示一个字符传送的结束,结束位可以是1位,1.5位或是2位,接收端收到停止位后,知道上一字符已传送完毕,通信线路上便又恢复逻辑“1”状态,直至下一个字符数据的起始位到来。在异步模式下,AT89C51支持两种多机模式:线路空闲多机模式和地址位多机模式。线路空闲模式下,数据块被一段空闲的时间分割,在字符的第一个停止位之后收到10个以上的1,表示检测到线

11、路空闲;如果采用两个停止位,则第二个停止位被认为是空闲周期的第一个信号。在使用地址位多机模式时,字符包含一个附加的位作为地址标识,数据快的第一个字符带有一个置位的地址位,用以表明该字符是一个地址51.2 串行接口的特点MCS-51单片机的串行端口有4种基本工作方式,通过编程设置,可以使其工作在任一方式,以满足不同场合的需要。其中,方式0主要用于外接移位寄存器,以扩展单片机的IO 电路;工作方式1多用于双机之间或与外设电路的通信;方式2、3除有方式1的功能外,还可以作多机通信,以构成分布式多微机系统。 串行端口有两个控制寄存器 SCON、PCON,用于设置工作方式、发送或接收的状态、特征位、数据

12、传送波特率每秒传送的位数以及作为中断标志等。串行端口有一个数据寄存器 SBUF 在特殊功能寄存器中的字节地址为99H,该寄存器为发送和接收所共用。串行端口的波特率可以用程序来控制。在不同工作方式中,由时钟振荡频率的分频值或由定时器 T1的定时溢出时间确定,使用十分方便灵活。串口控制寄存器输入:在(REN)=1时,串行口采样 RXD 引脚,当采样到1至 O 的跳变时,确认是串行发送来的一帧数据的开始位0,从而开始接收一帧数据。只有当8位数据接收完,并检测到高电平停止位后,只有满足(R1)=0;(SM2)=0或接收到的第9位数据为1时,停止位才进入RB8,8位数据才能进入接收寄存器,并由硬件置位中

13、断标志 RI;否则信息丢失。所以在方式1接收时,应先用软件清零 RI 和 SM2标志。1. 方式2方式2为固定波特率的11位 UART 方式。它比方式1增加了一位可程控为1或0的第9位数据。输出:发送的串行数据由 TXD 端输出一帧信息为11位,附加的第9位来自 SCON 寄存器的 TB8位,用软件置位或复位。它可作为多机通讯中地址数据信息的标志位,也可以作为数据的奇偶校验位。当 CPU 执行一条数据写入 SUBF 的指令且 TI=0时,就启动发送器发送。发送一帧信息后,置位中断标志 TI。输入:在(REN)=1时,串行口采样 RXD 引脚,当采样到1至 O 的跳变时,确认是串行发送来的一帧数

14、据的开始位0,从而开始接收一帧数据。在接收到附加的第9位数据后,当满足(RI):0;(SM2)=0或接收到的第9位数据为1时,第9位数据才进入 RB8,8位数据才6能进入接收寄存器,并由硬件置位中断标志 Ri;否则信息丢失。且不置位 RI。2. 工作方式3方式3为波特率可变的11位 UART 方式。除波特率外,其余与方式2相同。波特率的选择如前所述,在串行通讯中,收发双方的数据传送率(波特率)要有一定的约定。在 MCS-51串行口的四种工作方式中,方式0和2的波特率是固定的,而方式1和3的波特率是可变的,由定时器 T1的溢出率控制。1 方式1方式1的波特率固定为主振频率 的1/12。2 方式2

15、方式2的波特率由 PCON 中的选择位 SMOD 来决定,可表示为:波特率=2sMoDfosc64也就是当 SMOD=1时,波特率为132fosc,当 SMOD=0时,波特率为164fosc。3 方式1和方式3定时器 T1作为波特率发生器,其公式如下:波特率=2SMOD32定时器 T1溢出率T1溢出率=T1计数率产生溢出所需的周期数式中 T1计数率取决于它工作在定时器状态还是计数器状态。当工作于定时器状态时,T1计数率为 Fosc/2:当工作于计数器状态时,T1计数率为外部输入频率,此频率应小于Fosc/24。产生溢出所需周期与定时器 T1的工作方式、T1的预置值有关。定时器 T1工作于方式 O:溢出所需周期数=8192-X定时器 T1工作于方式1:溢出所需周期数=65536-X定时器 T1工作于方式2:溢出所需周期数=256-X因为方式2为自动重装入初值的8位定时器计数器模式,所以用它来做波特率发生器最恰当。这种方式下,T1的溢出率次秒计算式可以表示为:

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

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。