收藏 分享(赏)

基于51单片机的多机通信系统设计.doc

上传人:HR专家 文档编号:11316338 上传时间:2020-03-16 格式:DOC 页数:13 大小:231.41KB
下载 相关 举报
基于51单片机的多机通信系统设计.doc_第1页
第1页 / 共13页
基于51单片机的多机通信系统设计.doc_第2页
第2页 / 共13页
基于51单片机的多机通信系统设计.doc_第3页
第3页 / 共13页
基于51单片机的多机通信系统设计.doc_第4页
第4页 / 共13页
基于51单片机的多机通信系统设计.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、单 片 机 多 机 通 信 系 统一 、引言随着单片机技术的不断发展,单片机的应用已经从单机向多机互联化方向发展。单片机在实时数据采集和数据处理方面,有着成本低、能满足一般要求、开发周期短等优点,其在智能家居、计算机的网络通信与数据传输、工业控制自动化等方面有着广泛的应用。本系统是面向智能家居应用而设计的。在初期,采用红外无线通信方式,其传输距离短,适于一般家庭应用,且成本相对较低;待方案成熟、成本允许,可以改用 GSM 无线通信方式。二 、系统原理及方案设计1 、系统框架介绍本系统为基于 51 单片机的多机红外无线通信系统,由三个 51 单片机模块组成。其中一个作为主机(即上位机) ,负责接

2、收来自从机1(即下位机)采集的数据信息,以及向从机 2(即下位机)发送控制信息。从机 1 是数据采集模块,采集温度、光强等室内数据,并将其发送给主机。主机经分析处理,作出相应判断,并给从机 2 发送控制信息,使由从机 2 控制的电机作出相应反应,调节室内环境状况。系统总体框图如下图 1 所示,图 2 为红外收发模块简图:图 1 系统总体框图图 2 红外收发模块简图2 、多机通信原理介绍在多机通信系统中,要保证主机与从机间可靠的通信,必须要让通信接口具有识别功能,51 单片机串行口控制寄存器 SCON 中的控制位 SM2 正是为了满足这一要求而设置的。当串行口以方式 2 或方式 3 工作时,发送

3、或接收的每一帧信息都是 11 位的,其中除了包含SBUF 寄存器传送的 8 位数据之外,还包含一个可编程的第 9 位数据TB8 或 RB8。主机可以通过对 TB8 赋予 1 或 0,来区别发送的是数据帧还是地址帧。根据串行口接收有效条件可知,若从机的 SCON 控制位 SM2 为1,则当接收的是地址帧时,接收数据将被装入 SBUF 并将 RI 标志置1,向 CPU 发送中断请求;若接收的是数据帧时,则不会产生中断标志,信息将被丢弃。若从机的 SCON 控制位 SM2 为 0,则无论主机发送的是地址帧还是数据帧,接收数据都会被装入 SBUF 并置 1 标志位RI,向 CPU 发出中断请求。那么,

4、我们规定如下通信协议:(1)置 1 所有从机的 SM2 位,使之处于只能接收地址帧的状态,并给每个从机初始化一个地址值;(2)主机发送地址帧,其中包含 8 位地址信息,第 9 位为 1,进行从机寻址;(3)从机接收到地址后,将 8 地址信息与其自身地址值相比较,若相同则清“0“控制位 SM2,若不同则保持 SM2 位为 1;(4)主机从第二帧开始发送数据帧,其中第 9 位为 0。对于已经被寻址的从机,因其 SM2 为 0,可以接收主机发送来的任何信息,而对于其他从机,因其 SM2 为 1,将对主机发送来的数据信息不予理睬,直到发来一个新的地址帧。(5)若主机需要要与其他从机联系,可再次发送地址

5、帧来进行从机寻址,而先前被寻址过的从机在分析出主机发来的地址帧是对其他从机寻址时,恢复其自身的 SM2 为 1,对主机随后发来的数据信息不予理睬。3 、红外通信方式介绍因为本系统是面向智能家居而设计的,考虑到有线方式给用户带来的不便,我们选用无线作为各单片机间的通信方式。且我们队员以前未做无线通信,希望在这次比赛中锻炼、提高自己。对于无线通信方式,常见的有五种:红外通信,蓝牙通信,Zigbee 通信,GSM 通信,GPRS 通信。红外通信是我们在学习中接触到最多的,元件材料相对简单、容易获得,能够满足一般家庭应用,且红外通信方面的资料比较多,易学。蓝牙设备自制不易,购买则增加系统成本。Zigb

6、ee、GSM、GPRS 则或系统设计复杂,或成本高。红外通信背景介绍:红外线是波长在 750nm 至 1000nm 间的电磁波,其频率高于微波而低于可见光,是一种人肉眼看不见的光线。目前无线电波和微波已被广泛应用在长距离的无线通信中,但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信场合点对点的直线数据传输。(1)红外收发器 TFDU4100 介绍对于红外收发模块,我们采用 TFDU4100 红外收发器来实现。TFDU4100 是常用的低电压红外收发模块,以串行方式进行数据交换,遵循 IrDA1.2 标准,最高通信速率可以达到 115.2Kbps,最大传输距离为

7、3.0m。TFDU4100 芯片图片和管脚定义分别如图 3、表 1 所示图 3 TFDU4100 芯片图片管脚号作用 描述 I/O 有效电平1 IRED Anode红外发射的阳极, 该引脚通过一个外接电阻与 Vcc2 相接2 IRED Cathode红外发射的阴极,该 引脚在模块内部与输出驱动相连3 TXD 发送数据的输入端 输入引脚 高4 RXD 接收数据的输出端,不需要上拉或下拉电阻,数据发送时此脚无效输出引脚 低5 NC 不用连接6 Vcc1/SD 电源/关闭引脚,当该脚为低电平时,红外传输模块关闭7 SC 灵敏度控制端 输入引脚 高8 GND 接地端表 1 TFDU4100 管脚定义除

8、了使用 TFDU4100 构成红外收发模块外,还可以选用其他的方案。比如用分立元件搭建一个红外发射、接收电路:用电阻、电容组成低步振荡器,频率调在 38KHz 左右,由红外发光二极管发射载波;红外接收部分采用普通的红外接收头,比如 LF0038U,再用二极管、晶体管、电容、电阻构成放大、解调电路。但此方案缺点在于电路复杂、系统稳定性不强,并且成本与采用 TFDU4100 设计差别不大。(2)串行红外传输控制器 TOIM3232 介绍根据 IrDA 红外传输标准,串行红外传输采用特定的脉冲编码标准,该标准与 RS232 串行传输标准不同。若两设备之间进行串行红外通讯,就需要一个传输控制器,以进行

9、 RS232 编码和 IrDA 编码之间的转换。TOIM3232 串行红外传输控制器就是 Vishay 公司为配合 TFDU4100 而设计的。其功能结构图如图 4 所示:图 4 TOIM3232 功能结构框图在输出模式下,TOIM3232 可把 RS232 输出信号转变成符合 IrDA标准的信号以驱动红外发射器;在接收模式下,TOIM3232 可把 IrDA输入信号转变成符合 RS232 标准的信号;TOIM3232 的红外传输速度范围为 2.4Kbit/s115.2Kbit/s。TOIM3232 内部有一个 3.6864MHz的晶振,用以实现脉冲的扩张和压缩。该时钟信号既可以由内部晶振产生

10、也可用外部时钟实现。该控制器可通过 RS232 口进行编程控制,其输出脉冲宽度可程控为 1.627s 或 3/16 位长。4 、主机模块介绍主机模块以 89C52 单片机为控制核心,外围主要接有 4X4 矩阵键盘、1602 液晶显示屏、TFDU4100 红外收发器、串行红外传输控制器TOIM3232。此模块中 89C52 单片机作为 CPU,控制整个系统的运转。系统启动时,默认主机与从机 1 建立连接。主机以串行口中断方式接受从机 1 发送的数据。数据经单片机分析,显示于 1602 液晶上,并判断是否向从机 2 发送控制信息。本系统中我们使用 4*4 的非独立式矩阵键盘,如下图 5 所示。将行

11、线、列线分别连接到按键开关的两端,并且连接到单片机的 I/O口。图 5 4*4 矩阵键盘通过矩阵键盘,可以向主机输入要寻址的从,以控制主与哪一个从通信;并能控制与主机连接的 1602 液晶,显示任意一项从机 1 测量的数据。下面为 4*4 矩阵键盘的程序设计流程图如下图 6 所示:图 6 4*4 矩阵键盘的程序设计流程图1602 液晶是一种专门用于显示字母、数字、符号的点阵式 LCD,它有 5*10 和 5*7 两种点阵字符显示模式可供选择,5*7 点阵字符下可以显示 2 行共 32 个字符。一般其主控制驱动电路为 HD44780,模块内部的字符发生存储器(CGROM)已经存储了 160 个不

12、同的点阵字符图形,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H) ,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A” 。1602 液晶在此模块内的作用,是显示从机 1 测量的数据,验证红外通信的可靠性;当主机要切换要与之通信的从机时,用 1602 显示修改后与之通信的从机名。红外通信模块主要由TFDU4100和TOIM3232构成。TFDU4100采用IrDA红外传输标准,即串行红外传输的脉冲编码,这个标准不能和单片机接口直接兼容。所以用串行红外传输控制器TOIM3232进行串码和IrDA编码间的转换。TOIM3232可把

13、单片机输出的串码信号转换成符合IrDA标准的信号以驱动TFDU4100;它还可以将IrDA输入信号转换成串码信号送入单片机。其电路设计原理图如下图7所示:图 7 51 单片机、TOIM3232、TFDU4100 简易连接原理图主机负责对外围器件的调度与控制,包括红外收发模块接收数据控制、键盘扫描、1602 液晶的显示、是否向从机 2 发送消息。其程序流程图如下图 8 所示:NY开始单片机复位默认启动时与从机 1 连接1602 显示此时与从机 1 连接While(1)死循环串行口中断数据分析超过阀值1602 显示数据返回主程序键盘设置连接从机 2红外发送数据1602 显示连接机 2图 8 主机程

14、序流程图5 、从机 1 模块介绍从机 1 模块以 89C52 单片机为控制核心,外围主要接有 1602 液晶显示屏、TFDU4100 红外收发器、串行红外传输控制器TOIM3232、ADC0809、温度传感器、光强传感器。室内温度的测量采用温度传感器DS18B20。选用此传感器的原因是它价格便宜,可以降低系统成本,且对于一般家庭使用,此传感器的精度足够了。使用简单,易控制。DS18B20提供9位二进制温度读数,指示器件的温度信息,并通过单线接口送至CPU。DSl820中有用于贮存测得的温度值的两个8位存贮器RAM编号为0号和1号。将存贮器中的二进制数求补再转换成十进制数并除以2就得到被测温度值

15、(-550摄氏度-125摄氏度)。光强传感器采用实验室现已有的,主要由可 见 光 光 敏 电 阻 器 、普通电阻等分立器件构成。光敏电阻是 利 用 半 导 体 的 光 电 效 应 制 成的 一 种 电 阻 值 随 入 射 光 的 强 弱 而 改 变 的 电 阻 器 ; 入 射 光 强 时 , 电阻 减 小 , 入 射 光 弱 时 , 电 阻 增 大 。所有传感器输出的数据均为模拟量,要输入单片机处理,必须经过 A/D 转换。模数转换芯片采用 ADC0809,主要原因是采集数据的路数较多(以后还可扩展),需要一个多通道的 A/D,而我们以前做数电实验时用过的 ADC0809 正是 8 位 8 通

16、道的模数转换芯片,它是逐次逼近式 A/D 转换器,可以和单片机直接接口。结束 返回主程序红外收发模块,则负责将传感器采集的数据传至主机,其结构已在前面介绍过。1602 液晶在此处的作用是将单片机接收到的数据显示出来,与传到主机的数据作对比,验证红外通信的可靠性。从机 1 的程序流程图如下图 9 所示:NY图 9 从机 1 程序流程图6 、从机 2 模块介绍从机 2 模块以 89C52 单片机为控制核心,外围主要接有红外收发模块、电机驱动电路、直流电机和窗帘模型。红外收发模块负责接收主机发送来的信息,经单片机处理,以控制电机运转。电机驱动电路主要由 L298N 构成。L298N 芯片可以驱动两个

17、二相电机,也可以驱动一个四相电机,输出电压最高可达 50V,可以直接通过电源来调节输出电压;可以直接用单片机的 IO 口提供信号;而且电路简单,使用比较方便。电路原理图如下图 10 所示:开始 复位定时时间到?启动 A/D,采集数据1602 显示红外向主机发送结束图 10 电机驱动电路原理图直流电机采用德国 FAULHABER-2342 电机,其转子转动惯量小,因而动态性能极好;FAULHABER 电机采用精密合金换向器,因其接触电阻低而使性能优良。为表征电机控制的实现,在电机后端我们做一个窗帘模型,通过电机控制窗帘的开关。89C52 单片机在此模块中,负责控制接收来自主机的信息,并产生 PW

18、M 波驱动电机,以达到调速的目的。51 没有硬件的 PWM,全靠软件模拟。调速程序可以用定时器做,首先设置两个定时用的全局变量,一个代表高电平时间,一个代表低电平时间。先给定时器初值(既那两个全局变量中的一个),溢出后触发中断,在中断里设置另另一个初值并且取反 PWM 的输出端口,两个初值轮流给定时器,就可以任意调整占空比,占空比取决于两个初值。此法对于精度要求不高的场合,很适用。PWM 中断服务子程序的流程如下图 11 所示:图 11 PWM 中断服务子程序的流程7 、硬件电路实现对于系统的硬件电路实现,89C52 单片机采用主办方提供的最小系统核心板,其晶振和复位电路已经做好,I/O 也引出。其他外围电路模块,有矩阵键盘、1602 液晶、红外收发模块、数据采集模块、电机驱动电路,则设计合理的电路原理图(部分模块已完成) ,用Altium Designer 软件画出 PCB 板图,并利用学校实验室条件将其做做出来。焊接元器件,再用杜邦线与核心板连接。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报