基于51单片机的多机通信系统设计Word格式文档下载.docx
- 文档编号:17318660
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:21.87KB
基于51单片机的多机通信系统设计Word格式文档下载.docx
《基于51单片机的多机通信系统设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于51单片机的多机通信系统设计Word格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
通信接口具有识别功能,51单片机串行口控制寄存器SCON中的控制
位SM2正是为了满足这一要求而设置的。
当串行口以方式2或方式3
工作时,发送或接收的每一帧信息都是11位的,其中除了包含SBUF
寄存器传送的8位数据之外,还包含一个可编程的第9位数据TB8或
RB8。
主机可以通过对TB8赋予1或0,来区别发送的是数据帧还是
地址帧。
根据串行口接收有效条件可知,若从机的
SCON控制位
SM2为
1,
则当接收的是地址帧时,接收数据将被装入
SBUF并将
RI
标志置
向CPU发送中断请求;
若接收的是数据帧时,则不会产生中断标志,信息将被丢弃。
若从机的SCON控制位SM2为0,则无论主机发送的
是地址帧还是数据帧,接收数据都会被装入SBUF并置1标志位RI,
向CPU发出中断请求。
那么,我们规定如下通信协议:
(1)置1所有从机的SM2位,使之处于只能接收地址帧的状态,
并给每个从机初始化一个地址值;
(2)主机发送地址帧,其中包含8位地址信息,第9位为1,进行从机寻址;
(3)从机接收到地址后,将8地址信息与其自身地址值相比较,若相同则清“0“控制位SM2,若不同则保持SM2位为1;
(4)主机从第二帧开始发送数据帧,其中第9位为0。
对于已经被寻址的从机,因其SM2为0,可以接收主机发送来的任何信息,而对于其他从机,因其SM2为1,将对主机发送来的数据信息不予理睬,直到发来一个新的地址帧。
(5)若主机需要要与其他从机联系,可再次发送地址帧来进行从机寻址,而先前被寻址过的从机在分析出主机发来的地址帧是对其他从机寻址时,恢复其自身的SM2为1,对主机随后发来的数据信息不予理睬。
3、红外通信方式介绍
因为本系统是面向智能家居而设计的,考虑到有线方式给用户带
来的不便,我们选用无线作为各单片机间的通信方式。
且我们队员以
前未做无线通信,希望在这次比赛中锻炼、提高自己。
对于无线通信
方式,常见的有五种:
红外通信,蓝牙通信,Zigbee通信,GSM通信,
GPRS通信。
红外通信是我们在学习中接触到最多的,元件材料相对简单、容易获得,能够满足一般家庭应用,且红外通信方面的资料比较多,易
学。
蓝牙设备自制不易,购买则增加系统成本。
Zigbee、GSM、GPRS则或系统设计复杂,或成本高。
红外通信背景介绍:
红外线是波长在750nm至1000nm间的电磁波,其频率高于微波而低于可见光,是一种人肉眼看不见的光线。
目前无线电波和微波已被广泛应用在长距离的无线通信中,但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信场合点对点的直线数据传输。
(1)红外收发器TFDU4100介绍
对于红外收发模块,我们采用TFDU4100红外收发器来实现。
TFDU4100是常用的低电压红外收发模块,以串行方式进行数据交换,遵循IrDA1.2标准,最高通信速率可以达到115.2Kbps,最大传输距
离为3.0m。
TFDU4100芯片图片和管脚定义分别如图3、表1所示
图3TFDU4100芯片图片
管脚
作用
描述
I/O
有效
号
电平
1
IRED
红外发射的阳极,该引脚通过一个外
Anode
接电阻与Vcc2相接
2IRED红外发射的阴极,该引脚在模块内部
Cathode与输出驱动相连
3
TXD
发送数据的输入端
输入引脚
高
4
RXD
接收数据的输出端,不需要上拉或下
输出引脚
低
拉电阻,数据发送时此脚无效
5
NC
不用连接
6
Vcc1/SD
电源/关闭引脚,当该脚为低电平时,
红外传输模块关闭
7
SC
灵敏度控制端
8
GND
接地端
表1TFDU4100管脚定义
除了使用TFDU4100构成红外收发模块外,还可以选用其他的方
案。
比如用分立元件搭建一个红外发射、接收电路:
用电阻、电容组
成低步振荡器,频率调在38KHz左右,由红外发光二极管发射载波;
红外接收部分采用普通的红外接收头,比如LF0038U,再用二极管、
晶体管、电容、电阻构成放大、解调电路。
但此方案缺点在于电路复
杂、系统稳定性不强,并且成本与采用TFDU4100设计差别不大。
(2)串行红外传输控制器TOIM3232介绍
根据IrDA红外传输标准,串行红外传输采用特定的脉冲编码标准,该标准与RS232串行传输标准不同。
若两设备之间进行串行红外通讯,就需要一个传输控制器,以进行RS232编码和IrDA编码之间的转换。
TOIM3232串行红外传输控制器就是Vishay公司为配合TFDU4100而设计的。
其功能结构图如图4所示:
图4TOIM3232功能结构框图
在输出模式下,TOIM3232可把RS232输出信号转变成符合IrDA
标准的信号以驱动红外发射器;
在接收模式下,TOIM3232可把IrDA
输入信号转变成符合RS232标准的信号;
TOIM3232的红外传输速度
范围为2.4Kbit/s~115.2Kbit/s。
TOIM3232内部有一个3.6864MHz
的晶振,用以实现脉冲的扩张和压缩。
该时钟信号既可以由内部晶振
产生也可用外部时钟实现。
该控制器可通过RS232口进行编程控制,
其输出脉冲宽度可程控为1.627μs或3/16位长。
4、主机模块介绍
主机模块以89C52单片机为控制核心,外围主要接有4X4矩阵键
盘、1602液晶显示屏、TFDU4100红外收发器、串行红外传输控制器
TOIM3232。
此模块中89C52单片机作为CPU,控制整个系统的运转。
系统启动时,默认主机与从机1建立连接。
主机以串行口中断方式接
受从机1发送的数据。
数据经单片机分析,显示于1602液晶上,并
判断是否向从机2发送控制信息。
本系统中我们使用4*4的非独立式矩阵键盘,如下图5所示。
将
行线、列线分别连接到按键开关的两端,并且连接到单片机的I/O口。
图54*4矩阵键盘
通过矩阵键盘,可以向主机输入要寻址的从,以控制主与哪一个
从通信;
并能控制与主机连接的1602液晶,显示任意一项从机1测
量的数据。
下面为4*4矩阵键盘的程序设计流程图如下图6所示:
图64*4矩阵键盘的程序设计流程图
1602液晶是一种专门用于显示字母、数字、符号的点阵式LCD,
它有5*10和5*7两种点阵字符显示模式可供选择,5*7点阵字符下
可以显示2行共32个字符。
一般其主控制驱动电路为HD44780,模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
1602液晶在此模块内的作用,是显示从机1测量的数据,验证红外通信的可靠性;
当主机要切换要与之通信的从机时,用1602显示修改后与之通信的从机名。
红外通信模块主要由TFDU4100和TOIM3232构成。
TFDU4100采用IrDA红外传输标准,即串行红外传输的脉冲编码,这个标准不能和单片机接口直接兼容。
所以用串行红外传输控制器TOIM3232进行串码和IrDA编码间的转换。
TOIM3232可把单片机输出的串码信号转换成符合IrDA标准的信号以驱动TFDU4100;
它还可以将IrDA输入信号转换成串码信号送入单片机。
其电路设计原理图如下图7所示:
图751单片机、TOIM3232、TFDU4100简易连接原理图
主机负责对外围器件的调度与控制,包括红外收发模块接收数据
控制、键盘扫描、1602液晶的显示、是否向从机2发送消息。
其程
序流程图如下图8所示:
开始
串行口中断
单片机复位
数据分析
1602显示数据
默认启动时与从机
1连接
超过阀值
N
返回主程序
Y
1602显示此时与从机
键盘设置连接从机
2
1602显示
While
(1)死循环
连接机2
红外发送数据
结束返回主程序
图8主机程序流程图
5、从机1模块介绍
从机1模块以89C52单片机为控制核心,外围主要接有1602液晶
显示屏、TFDU4100红外收发器、串行红外传输控制器TOIM3232、
ADC0809、温度传感器、光强传感器。
室内温度的测量采用温度传感器DS18B20。
选用此传感器的原因是
它价格便宜,可以降低系统成本,且对于一般家庭使用,此传感器的
精度足够了。
使用简单,易控制。
DS18B20提供9位二进制温度读数,
指示器件的温度信息,并通过单线接口送至CPU。
DSl820中有用于贮
存测得的温度值的两个8位存贮器RAM编号为0号和1号。
将存贮器中的
二进制数求补再转换成十进制数并除以2就得到被测温度值(-550摄
氏度--125摄氏度)。
光强传感器采用实验室现已有的,主要由可见光光敏电阻器、普
通电阻等分立器件构成。
光敏电阻是利用半导体的光电效应制成的
一种电阻值随入射光的强弱而改变的电阻器;
入射光强时,电阻
减小,入射光弱时,电阻增大。
所有传感器输出的数据均为模拟量,要输入单片机处理,必须经
过A/D转换。
模数转换芯片采用ADC0809,主要原因是采集数据的路数较多(以后还可扩展),需要一个多通道的A/D,而我们以前做数电实验时用过的ADC0809正是8位8通道的模数转换芯片,它是逐次逼近式A/D转换器,可以和单片机直接接口。
红外收发模块,则负责将传感器采集的数据传至主机,其结构已在前面介绍过。
1602液晶在此处的作用是将单片机接收到的数据显示出来,与传到主机的数据作对比,验证红外通信的可靠性。
从机1的程序流程图如下图9所示:
开始复位
定时时间到?
启动A/D,采集数据
红外向主机发送
结束
图9从机1程序流程图
6、从机2模块介绍
从机2模块以89C52单片机为控制核心,外围主要接有红外收发
模块、电机驱动电路、直流电机和窗帘模型。
红外收发模块负责接收主机发送来的信息,经单片机处理,以控
制电机运转。
电机驱动电路主要由L298N构成。
L298N芯片可以驱动两个二相
电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接
通过电源来调节输出电压;
可以直接用单片机的IO口提供信号;
而
且电路简单,使用比较方便。
电路原理图如下图10所示:
图10电机驱动电路原理图
直流电机采用德国FAULHABER-2342电机,其转子转动惯量小,
因而动态性能极好;
FAULHABER电机采用精密合金换向器,因其
接触电阻低而使性能优良。
为表征电机控制的实现,在电机后端我们做一个窗帘模型,通过
电机控制窗帘的开关。
89C52单片机在此模块中,负责控制接收来自主机的信息,并产
生PWM波驱动电机,以达到调速的目的。
51没有硬件的PWM,全靠软件模拟。
调速程序可以用定时器做,首先设置两个定时用的全局变量,一个代表高电平时间,一个代表低电平时间。
先给定时器初值(既那两个全局变量中的一个),溢出后触发中断,在中断里设置另另一个初值并且取反PWM的输出端口,两个初值轮流给定时器,就可以任意调整占空比,占空比取决于两个初值。
此法对于精度要求不高的场合,很适用。
PWM中断服务子程序的流程如下图11所示:
图11PWM中断服务子程序的流程
7、硬件电路实现
对于系统的硬件电路实现,89C52单片机采用主办方提供的最小
系统核心板,其晶振和复位电路已经做好,I/O也引出。
其他外围电
路模块,有矩阵键盘、1602液晶、红外收发模块、数据采集模块、
电机驱动电路,则设计合理的电路原理图(部分模块已完成),用
AltiumDesigner软件画出PCB板图,并利用学校实验室条件将其做
做出来。
焊接元器件,再用杜邦线与核心板连接。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 通信 系统 设计