上海11选5

电子与信息工程毕业论文:单片机双机通信系统设计.doc

返回
电子与信息工程毕业论文:单片机双机通信系统设计.doc_第1页
第1页 / 共35页
电子与信息工程毕业论文:单片机双机通信系统设计.doc_第2页
第2页 / 共35页
电子与信息工程毕业论文:单片机双机通信系统设计.doc_第3页
第3页 / 共35页
电子与信息工程毕业论文:单片机双机通信系统设计.doc_第4页
第4页 / 共35页
电子与信息工程毕业论文:单片机双机通信系统设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述:
本 科 毕 业 设 计 单片机双机通信系统设计 所在学院 专业班级 电子与信息工程 学生姓名 学号 指导教师 职称 完成日期 年 月 I 摘要 在智能控制领域里,单个的单片机往往不能满足全部的工作要求,通常需要两个或多个单片机协同工作。本文主要阐述双机通信的原理,包括串行通信 的类型,通信协议的实现,以及双机通信的电路连接方案。同时介绍软硬件方案的设计,以及系统仿真和代码烧写。整个系统包括作为输入的矩阵键盘,两块单片机之间的电路连接和作为输出的数码管显示电路。 单片机串行通信是单片机的一个重要应用,串行通信用一根传输线按位传送数据,每传送一个数据或字符都符合一定的格式。在硬件设计中,通过对双机通信方案的比较,最终选择异步串行通信方式。异步串行通信只需单片机 P3 口两个引脚之间交叉连接,并对相关特殊功能寄存器进行初始化,完成以上操作后就能进行双机通信。在软件设计前,对编程软件KEIL 如何建立工程及相应操作进行研究,这样对于后面实现双机通信帮助很大。将通信系统分为发送端和接收端两部分,发送端采用查询方式进行数据传输,为有效利用 CPU 接收端采用中断方式。完成软硬件设计后,再编译链接生成单片机能够识别的机器语言,为功能验证做好准备。 在系统功能验证时,首先用 PROTEUS 软件设计电路并仿真成功,再应用 PROTEL 软件设计硬件电路及 PCB 电路图,同时对双机通信系统的功能进行调试。 本次设计成功完成单片机双机通信系统的设计,即实现发送端单片机将外部键盘输入的内容发送到接收端,同时双机外扩数码管同时 显示发送对象,而且通信波特率可以调整。 关键词 串行通信;单片机;数码管II Abstract In the field of intelligent control, separate SCM systems are often unable to meet all the requirements for the work, usually requires two or more SCM work. This article focuses on the principle of double-machine communication, including the type of serial communication, communication protocol implementation, and communication double circuit connection scheme. I also introduced the design of hardware and software solutions, and system simulation and code programming. The system includes a matrix keyboard as an , the circuit connection between two microcontrollers and digital display as an output circuit. Serial communication is an important application of the microcontroller, serial communication with a transmission line to transmit data by bit, each character is transmitted or a data line with a certain at. In the hardware design, through the comparison of dual-communication scheme, I final choice asynchronous serial communication. Asynchronous serial communication between the microcontroller only cross-connect, and special function registers related to initialize all the above operations can be carried out after the two-machine communication. In the software design prior to programming software KEIL on how to build understanding of engineering and other operations, so that the back to achieve double for very helpful communications. Sending the communication system is divided into two parts and receiver communicate using query mode transmitter for data transmission, the receiver efficiency for effective utilization of CPU by interrupt. After completion of hardware and software design, build link in the microcontroller generates the machine language to identify, prepare for the functional verification. When verifying the system’s function, we design the first circuit and software with the PROTEUS simulation, application hardware and software design PROTEL PCB circuit, while two-machine communication system functions for debugging. The design successful completion of two-machine communication system microcontroller, microcontroller will be sending that to achieve an external keyboard is sent to the receiver, while dual-expanding digital outside the function keys at the same time show the same time, communication baud rate. key word serial communication; Microcontroller; LEDIII 目录 前言 .................................................................................................................................. 1 第 1 章 总体方案的设计 ................................................................................................ 1 1.1 系统功能要求 ..................................................................................................... 1 1.2 方案设计比较 ..................................................................................................... 1 1.2.1 双机并行通信方案 ....................................................................................... 1 1.2.2 双机串 行通信方案 ....................................................................................... 2 1.3 系统总体框图 ..................................................................................................... 3 第 2 章 系统硬件设计 .................................................................................................... 4 2.1 常用串行扩展总线 ............................................................................................. 4 2.1.1 I2C 总线 ......................................................................................................... 4 2.1.2 SPI 总线 ......................................................................................................... 4 2.2STC89C52RC 单片机介绍 .................................................................................. 5 2.3 所用特殊功能寄存器的说明 ............................................................................. 6 2.3.1 串行接口控制寄存器 ................................................................................... 6 2.3.2 串行接口工作方式 ....................................................................................... 7 2.3.3 定时器寄存器及其工作方式 ....................................................................... 8 2.3.4 波特率的计算 ............................................................................................... 9 2.4 矩阵键盘输入电路的设计 ................................................................................. 9 2.5 数码管显示电路的设计 ................................................................................... 10 2.6 双机串口通信电路的设计 ................................................................................11 第 3 章系统软件设计 .................................................................................................... 12 3.1 编程软件 KEIL 的介绍 .................................................................................... 12 3.2 程序流程图 ....................................................................................................... 13 3.3 矩阵键盘代码 ................................................................................................... 14 3.4 数码管显示代码 ............................................................................................... 15 3.5 双机串口通信代码 ........................................................................................... 15 3.5.1 发送部分代码 ............................................................................................. 15 3.5.2 接收部分代码 ............................................................................................. 16 IV 第 4 章系统仿真与代码烧写 ........................................................................................ 17 4.1 系统仿真 ........................................................................................................... 17 4.2 代码烧写 ........................................................................................................... 18 小结 ................................................................................................................................ 20 致谢 .................................................................................................. 错误 未定义书签。 参考文献 ........................................................................................................................ 21 附录 1 电路系统总体图 ................................................................................................ 21 附录 2PCB 板示意图 ..................................................................................................... 23 附录 3 实物图 ................................................................................................................ 24 附录 4 代码 .................................................................................................................... 25 1 前言 随着计算机技术的快速发展和广泛应用,从智能家用电器到工业上的集散控制系统( DCS)都采用了上位机与下位机基于串行通信的主从工作方式,这样就充分结合利用了微型计算机分析处理能力强 、速度快的特点及下位机面向控制、使用灵活方便的优势。 51 系列的单片机 [1-6]内部包含有 数据存储器 、 程序存储器 、两个 16 位的定时器 /计数器、通用异步串行 收发器这些 资源。 在广泛的应用中,单独一片单片机所能完成的任务是有限的,因此而常常需要扩充 I/O 接口、定时器 /计数器、串行通信接口、 存储器 。一个系统中使用两个或两个以上的单片机 时 ,单片机之间就 需 要通过互连来进行数据通信。 51 系列的单片机带有串口,利用串口进行互连通信极为方便,并且可以减少端口数量。但如果系统要求扩充的资源是对外连接的串口,串行口上可以外接串行 输入并行输出的移位寄存器 74LS164,或外接并行输入串行输出的移位寄存器 74LS165。为了增加通信距离,减少通道中电源干扰,可以在通信上路采取光电隔离的方法,进行双机串行通信。 双机通信系统设计中, 单片机内部的串行接口是全双工的,它在接收数据的过程中同时能够发送数据。两个串行接口数据缓冲器可以通过特殊功能寄存器 SBUF 访问,写入 SBUF的数据用于发送,接收的数据从 SBUF 中读出。 常用 的 数据传输方式有单工、半双工、全双工,本设计采用单工 的 传输方式。串行通信 有 两种形式, ( 1) 异步通信这种通信方式 的特点是 接 收器和发送器 都 有 各自独立 的时钟, 然而 它们 之间 的工作 不是 同步的,异步通信 方式用一帧表示一个 几位的 字符,其内容 排布 首先 一个起始位,接 着几 个数据位 ,最后紧跟的是一个停止位 。 ( 2) 同步通信 这种通信方式的特点是 发送 端 和接收 端 由 共 同 的 一个时钟源控制,为了 解决 在异步通信 方式 中每传输 单位 字符 要 加上起始位和停止位 从而 占用 大量 传输时间 的情况 ,同步传输 通信 方式 会 去掉起始位和停止位, 与 传输数据块时 会首 先送出同步字符标志 来控制数据的发送 。本文 将 讨论 如何 采用一个异步串行通信 完成 设计 。 单片机对串口的 控制是通过对串行口控制寄存器 SCON 和 波特 率控制寄存器 PCON 的设置实现的。 SCON是一个可位寻址的特殊功能寄存器,通过设置 SCON 的 SM0 位 和 SM1 位 ,可以使单片机有四种不同的工作方式 供选择 。在和 PC 机串行通信时, 通常 设置为方式 1 或 者是 方式 3,主要区别 在于 方式 1 的数据格式 是 8 位,方式 3 的数据格式 是 9 位,其中第 9 位 SM2 是 多机 使能位 ,编辑第 9 位就能实现 单片机的多 机 通信。 波特 率控制寄存器 PCON 的 最高位 SMOD 为串行口波特率 控制 位, 通过 设置 SMOD 为 1 可以 获得更 大 的通信速 率,并且 SMOD 是 不 可以 位寻址 。 PC 机和 单片 机通信时,其通信速率由定时器 T1 或定时器 T2 产生 52 系列 单片机 ,定时器 T1 工作 方式 2 时 , 通信 波特 率的计算公式波特 率 = SMODfosc/ [3212( 256- TH1) ]。其中 fosc 是 晶振频率,为获得准确的通信速率, Fosc 通常为 12MHZ。通过 定时器 T0、 T1 方式寄存器 TMOD 来设置定时器 ,门控位 GATE 为 是否受外部引脚 INT0、 INT1电平控制, C/T 定时器方式和外部计数方式控制位,工作方式选择位 M1、 M0。串行口控制寄存器 SCON 是一个特殊寄存器,具有位寻址功能, SCON 包括串行口的工作方式选择位SM0, SM1,多机 通信标志 SM2,接收允许位 REN,发送接收第 9 位数据 TB8、 RB8,以及发送和接收中断标志 TI、 RI。1 第 1 章 总体方案的设计 1.1 系统功能要求 以两片 51 单片机为主要硬件,应用单片机的串口通信功能完成双机通信任务,通过进行通信及计算机编程等系统分析方法得到锻炼。 设计单片机双机通信系统,要求通过键盘给一个单片机输入通信内容时,另一个单片机能接收到该内容,而且整个操作过程中两个单片机的外扩数码管都能显示通信内容。同时完成单片机双机通信系统的 PCB 设计、硬件制作与功能调试。 1.2 方案设计比较 1.2.1 双机并行通信方案 1.单向方式并行通信的实现 如果只需要一片单片机向另一片单片机发送数据,即单向传输数据,可以采用单向并行通信方式,如图 1.1 所示。图中单片机 A 为数据发送部分,单片机 B 为数据接收部分,两片单片机之间通过端口传输数据,另外通过几根控制线用于控制两者的通信。单片机 A 将数据放到 P1 上,同时向单片机 B 发送一个信号提示数据发送后,单片机 B 接收数据并发回一个信号应答,提示单片机 A 准备下一个数据。这样就能进行数据的并行传输,利用单向并行通信方式可以充分利用单片机的资源扩充通信接口,但对于控制线的状态变化 要求非常严格。 图 1.1 单向方式并行通信原理图 2.主从方式并行通信的实现 主从方式并行通信传输数据需要确定一片单片机为主机,另一片单片机为从机。两片单片机之间可以护发数据,但相应的控制信号主要是由主机进行控制,其电路连接如图 1.2 所示。 当主机用于表明数据发送方向的控制位 DIR 为 1 时,表明双机之间的数据传输是主机发送从单片机 A P1 CLK STB 单片机 B P1 BUSY INT 2 机接收状态。主机在端口 STB 处产生一个脉冲并将数据放到端口 P1 处,从机准备接收数据。主机在 CHK 端置高电平,从机查询到 ACK 端口信号 后,就会接收数据,这样就完成数据从主机到从机的输过程。当主机用于表明数据传输方向的控制位 DIR 为 0 时,表明双机之间的数据传输时从机发送主机接收的状态。主机在端口 STB 处产生一个脉冲,提示从机可以发送数据。主机查询 ACK 处的状态,当从机的 CHK 端发送有效信号,说明从机已将数据放在数据端口。主机就可以接收数据,并通过 CHK 端向主机的 ACK 发信号,表示数据接收成功,这样就完成了数据由从机到主机的传输过程。双机之间的数据传输主机处于控制信号的状态,达到数据的有效传输。主从方式并行通信双机之间互相发送数据,而本次单片 机双机通信系统设计只需采用单向的数据发送模式。 图 1.2 主从方式并行通信原理图 并行通信接口方式需要采用 8 位端口来传输数据,同时需要设置几个控制信号来控制。根据单片机端口内部结构的特点,这些端口的端口线可以直接相连,从而使两单片机之间并行通信接口的实现不用另外的硬件电路设备。 图 1.3 通用异步通信方式原理图 1.2.2 双机串行通信方案 异步串行通信以字符为单位进行传送, 用一帧来表示一个字符, 其内容如下一个起始位,仅接着是若干个数据位 ,最后是一位停止位 。 TXD 为串行数据输出端 ,RXD 为串行数据输入端。发送端数据由 TXD 发送至接收端 RXD 被接收,接收端数据由 TXD 发送至接收端单片机 A TXD RXD GND 单片机 B RXD TXD GND 单片机 A P1 DIR STB ACK CHK 单片机 B P1 DIR INT CHK ACK 3 RXD 被接收,电路连接图如图 1.3 所示。 异步串行双机通信仅需采用端口 P3 的低两位 P3.0, P3.1 作为复用功能的 TXD 和 RXD,同时对特殊功能寄存器 SCON 和 PCON 进行设置。串行通信相对于并行通信而言连线少,连接可靠,适合近距离通信。 1.3 系统总体框图 在对通信速度要求不高的条件下可以采用串行通信,所以本次设计采用 异步串行通信的方式实现双机通信系统的设计。根据设计要求和设计思路指定整个系统的系统框图如图 1.4 所示 图 1.4 系统总体框图 整个系统有三大部分组成,( 1)键盘输入电路为双机通信提供外部输入通信信号,本设计采用键盘输入数字的形式提供通信信号。( 2)数码管显示电路采用数码管在双机通信的同时显示通信的内容,便于直观。( 3)双机通信电路采用异步串行通信实现双机系统的通信。单片机 B (接收端) 单片机 A (发送端) 键盘输入 数码管显示 数码管显示 4 第 2 章 系统硬件设计 2.1 常用串行扩展总线 串行通信的基本特征是数据逐位 顺序进行传送,串行通信的格式及约定(如同步方式、通讯速率、数据块格式、信号电平等)不同,形成了多种串行通信的协议与接口标准。常用的有通用异步收发器( UART), I2C 总线, CAN 总线, SPI 总线, RS 485、 RS 232C 标准。以下简单的介绍 IIC 总线和 SPI 总线的特点和协议。 2.1.1 I2C 总线 I2C 总线是 PHLIIPS 公司推出的一种高性能的同步串行总线,具有多主机系统所需的包括总线裁决和高低速器件同步的特点。 I2C 总线只有两根信号线,一根为 SDA 数据线,另一根为 SCL 时钟线。 I2C 总线上接有 正电源,当总线处在空闲状态,两根线都处于高电平,当其中有一根线上出现低电平,总线的信号将被拉低,这样数据线和时钟线就是逻辑与的关系。以下是 I2C 总线协议的几点要求( 1)当 I2C 总线传送数据时,在时钟信号为高电平期间,数据线上的状态必须保持稳定,只有在时钟线上的信号保持为低电平不变期间,数据线上的电平才可以变化。( 2) SCL 线为高电平状态期间, SDA 线由高电平到低电平的变化就表示起始信号; SCL 线为高电平状态期间, SDA 线由低电平到高电平的变化就表示终止信号。起始信号和终止信号都是由主机产生的,在起始信号产 生后,总线就处于被数据线占用的状态;终止信号产生后,总线处在未被占用的状态。( 3)当传送数据时,先传送的是最高位( MSB),每传送一个字节都需要跟随应答位。当主机处于接收数据状态,它收到最后一个数据后,必须向从机发出一个结束传送信号的命令。 2.1.2 SPI 总线 SPI 是一种四线同步双向传输串行总线,是一种高速的,全双工的同步通信总线。 SPI在芯片的管脚上只占用四根线,这将节约芯片的管脚,同时 PCB 的布局将节省空间,正是出于这种简单易用的特性,现在越来越多的芯片都采用 SPI 总线。 SPI 总线系统是一种同 步串行的外设接口,一般用到 4 条线串行时钟线( SCLK)、主机输入 /从机输出数据线 MISO、主机输出 /从机输入数据线 MOSI 和低电平有效的从机选择CS。 SPI 的通信协议很简单,以主从方式进行工作,这种方式通常有一个主设备和若干个从设备。 SCLK 是时钟信号,由主设备产生; CS 是使能从设备信号,由主设备进行控制。其中CS 可以选择相应的芯片,当片选 CS 信号为先前规定的选择信号时,才会使所选的芯片有效,这就可以在同一根线上连接多个从设备。 SPI 总线由 SCK 来提供时钟信号脉冲, SDI, SDO基于此信号完成数据的传输。 数据是通过 SDO 线输出,数据在时钟边沿改变,在紧接的边沿读取,这样就完成一位数据的传输,输入数据也使用相同的原理进行数据的传输。这样,在至少 8 次时钟信号的改变(上沿和下沿各为一次),就能完成 8 位数据传输。在主机从机都只
展开阅读全文
收藏
下载资源

加入会员免费下载





上海11选5 传奇私服