红外遥控超声波测距仪Word格式.docx
《红外遥控超声波测距仪Word格式.docx》由会员分享,可在线阅读,更多相关《红外遥控超声波测距仪Word格式.docx(37页珍藏版)》请在冰豆网上搜索。
单片机的CON接到NE555产生40kHz频率模块,INT0接到红外遥控模块,BACK_PLUS接到超声波测距收发模块,DQ接到DS18B20温度测量模块,E、RW、RS、D0~D7接到1602液晶显示模块。
AT89S52单片机简介:
AT89S52是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。
主要性能:
●与MCS-51单片机产品兼容
●8K字节在系统可编程Flash存储器
●1000次擦写周期
●全静态操作:
0Hz~33Hz
●三级加密程序存储器
●32个可编程I/O口线
●三个16位定时器/计数器
●八个中断源,全双工UART串行通道
●低功耗空闲和掉电模式
●掉电后中断可唤醒
●看门狗定时器
●双数据指针
●掉电标识符
2.2NE555产生40kHz频率模块
图2.2-1NE555产生40kHz频率模块图
图2.2-1中当SW1开关拨到VCC端时,NE555连续发射频率;
当接到CON端时,由单片机来控制是否发射频率,当CON为高电平时发射,低电平时不发射。
40KHZ_SEND将产生占空比约为1:
2的40kHz的频率,40KHZ_SEND接到超声波测距收发模块。
NE555简介:
NE555时基集成电路是8脚的数字集成电路,是由21个晶体三极管、4个晶体二极管和16个电阻组成的定时器,有分压器、比较器、触发器和放电器等功
能的电路。
它具有成本低、易使用、适应面广、驱动电流大和一定的负载能力。
在电子制作中只需经过简单调试,就可以做成多种实用的各种小电路,远远优于三极管电路,内部结构如图2.2-2。
它的各个引脚功能如下:
1脚:
外接电源负端VSS或接地,一般情况下接地。
8脚:
外接电源VCC,双极型时基电路VCC的范围是4.5~16V,CMOS型时基电路VCC的范围为3~18V。
3脚:
输出端Vo
2脚:
低触发端
6脚:
TH高触发端
4脚:
是直接清零端。
当
端接低电平,则时基电路不工作,此时不论
、TH处于何电平,时基电路输出为“0”,该端不用时应接高电平。
5脚:
VC为控制电压端。
若此端外接电压,则可改变内部两个比较器的基准电压,当该端不用时,应将该端串入一只0.01μF电容接地,以防引入干扰。
7脚:
放电端。
该端与放电管集电极相连,用做定时器时电容的放电。
在1脚接地,5脚未外接电压,两个比较器A1、A2基准电压分别为
的情况下,555时基电路的功能表如表2.2-1所示。
图2.2-2NE555内部结构图
NE555时基集成电路的主要参数:
电源电压4.5~16V,输出驱动电流为200毫安,作定时器使用时,定时精度为1%,作振荡使用时,输出的脉冲的最高频率可达500千赫。
清零端
高触发端TH
Qn+1
放电管T
功能
导通
直接清零
1
置0
截止
置1
Qn
不变
保持
表2.2-1555时基电路的功能表
NE555应用十分广泛,可装如下几种电路:
(1)单稳类电路
作用:
定延时,消抖动,分(倍)频,脉冲输出,速率检测等。
(2)双稳类电路
比较器,锁存器,反相器,方波输出及整形等。
(3)无稳类电路
方波输出,电源变换,音响报警,玩具,电控测量,定时等。
时基电路,可以作成:
振荡器,也可以作放大用。
2.3超声波测距收发模块
图2.3-1超声波探头图
超声波测距原理
:
1、
超声波发生器
为了研究和利用超声波,人们已经设计和制成了许多超声波发生器。
总体上讲,超声波发生器可以分为两大类:
一类是用电气方式产生超声波,一类是用机械方式产生超声波。
电气方式包括压电型、磁致伸缩型和电动型等;
机械方式有加尔统笛、液哨和气流旋笛等。
它们所产生的超声波的频率、功率和声波特性各不相同,因而用途也各不相同。
目前较为常用的是压电式超声波发生器。
2、压电式超声波发生器原理
压电式超声波发生器实际上是利用压电晶体的谐振来工作的。
超声波发生器内部结构如图2.3-1所示,它有两个压电晶片和一个共振板。
当它的两极外加脉冲信号,其频率等于压电晶片的固有振荡频率时,压电晶片将会发生共振,并带动共振板振动,便产生超声波。
反之,如果两电极间未外加电压,当共振板接收到超声波时,将压迫压电晶片作振动,将机械能转换为电信号,这时它就成为超声波接收器了。
图2.3-1超声波发生器内部结构图
3、超声波测距原理
途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。
若超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:
s=340t/2,这就是所谓的时间差测距法。
2.3.1超声波发射模块
图2.3.1超声波发射模块图
40kHz频率可以由单片机产生,也可以由NE555产生,本作品用NE555产生,产生的频率稳定,控制也方便。
图2.3.1中的非门CD4049对40KHz频率信号进行调理,以使超声波传感器产生谐振。
2.3.2超声波接收模块
图2.3.2-1超声波接收模块图
超声波接收处理部分电路前级采用NE5532构成10000倍放大器,对接收信号进行放大;
后级采用LM311比较器对接收信号进行调整,比较电压为LM311的3管脚的输入。
LM311输出7脚在图2.3.2-1的电路中,无回波信号时输出低电平;
当有回波信号时输出方波,有下降沿出现,单片机进入外部中断程序。
NE5532简介:
图2.3.2-2NE5532引脚图
5532是高性能低噪声运放,与很多标准运放(如1458)相似,它具有较好的噪声性能,优良的输出驱动能力及相当高的小信号与电源带宽。
(1)小信号带宽:
10MHz;
(2)输出驱动能力:
600Ω,10V;
(3)输入噪声电压:
5nV/√HZ(典型值);
(4)DC电压增益:
50000;
(5)AC电压增益:
10KHz时2200;
(6)电源带宽:
140KHz;
(7)转换速率:
9V/μS;
(8)大电源电压范围:
±
3~±
20V。
极限参数:
电源电压:
Vs……………………±
22V
差分输入电压:
VDIFF……………………±
5V
工作温度范围:
TA……………………0℃~70℃
存贮温度:
TSTG……………………-65℃~150℃
结温:
Tj……………………150℃
功耗(5532FE):
PD……………………1000mW
引线温度(焊接,10S)……………………300℃
LM311简介:
LM311是单片高速电压比较器,是放大器总类的IC。
可以用于产生很宽范围的电压,包括给运算放大器提供的+/-15V电压和系统的5V逻辑电压。
输出电压和大多数TTL和MOS电路兼容。
通常用的是DIP-8封装形式的,其外型以及引脚如图3.5:
其2,3,7脚为一个放大器单元。
2脚为同向输入端,3脚为反向输入端,7脚为输出。
工作原理是:
给8脚和4脚分别置电源的两端,2脚和3脚分别输入采集的需要比较的两个模拟电压,当同向电压大于反向电压的话,侧7脚输出逻辑的“1”;
反之,若反向大于正向,输出逻辑“0”。
输出的逻辑“1”“0”的大小伏值由置与8和4脚的电源电压来决定。
比如:
置8为+5V,4为0,则比较后输出的逻辑电平伏值就是5V和0V。
也可以置其双电源,双电源就好比+5V和-5V,其优点就是可以用于比较在0V上下的电压。
现在好多种类的传感器输出就是0V上下的正旋波。
图2.3.2-3LM311框图
超声波测距注意事项:
避免余波信号的干扰。
图2.3.2-4超声波发射头和接收头的两个波形图
图2.3.2-4是通过示波器采集的超声波发射头和接收头的两个波形。
从图中我们,当发射头发出一组40KHz的脉冲后(图中下面的波形),接收头几乎在同一时间就收到了超声波信号,这个波束是余波信号。
持续一段时间后,我们才看到超声波接收头又收到了一组波束,这个才是经过被测物表面反射的回波信号。
超声波测距时,需要测的是开始发射到接收到信号的时间差,由上图中就可看出,需要检测的有效信号为反射物反射的回波信号,故要尽量避免检测到余波信号。
这就要求对接收头收到的波束进行处理,这也是超声波检测中存在最小测量盲区的主要原因。
在软件中的处理方法就是,当发射头发出脉冲后,记时器同时开始记时。
我们在记时器开始记时一段时间后再开启检测回波信号,以避免余波信号的干扰。
等待的时间可以为1ms左右。
更精确的等待时间可以减小最小测量盲区。
2.4DS18B20温度测量模块
图2.4-1DS18B20温度测量模块图
DS18B20简介:
DS18B20数字温度计是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。
因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。
1、DS18B20产品的特点
(1)、只要求一个端口即可实现通信。
(2)、在DS18B20中的每个器件上都有独一无二的序列号。
(3)、实际应用中不需要外部任何元器件即可实现测温。
(4)、测量温度范围在-55。
C到+125。
C之间。
(5)、数字温度计的分辨率用户可以从9位到12位选择。
(6)、内部有温度上、下限告警设置。
DS18B20的引脚介绍:
TO-92封装的DS18B20的引脚排列见图图2.4-2,其引脚功能描述见表表2.4-1。
图2.4-2DS18B20的引脚排列底视图
序号
名称
引脚功能描述
GND
地信号
2
DQ
数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源。
3
VDD
可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
表2.4-1 DS18B20详细引脚功能描述
DS18B20的使用方法:
由于DS18B20采用的是1-Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。
由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
DS18B20的复位时序:
图2.4-3DS18B20的复位时序图
DS18B20的读时序:
对于DS18B20的读时序分为读0时序和读1时序两个过程。
对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。
DS18B20在完成一个读时序过程,至少需要60us才能完成。
图2.4-4DS18B20的读时序图
DS18B20的写时序:
对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。
对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。
图2.4-5DS18B20的写时序图
2.5红外遥控模块
图2.5-1红外遥控模块图
图2.5-2红外一化接收头0038图
图2.5-3科朗800合1万能电视遥控器RM-2008+图
此模块的INT0接到单片机的外部中断0。
当遥控无按键按下时,INT0为高电平;
当遥控有按键按下时,INT0出现低电平,进入外部中断服务程序,程序里对按键解码识别后,就可以根据不同的按键来做不同的相应操作。
如系统工作的模式选择等。
遥控器使用方便,功能多。
目前已广泛应用在电视机、VCD、DVD、空调等各种家用电器中,且价格便宜,市场上非常容易买到。
如果能将遥控器上许多的按键解码出来。
用作单片机系统的输入。
则解决了常规矩阵键盘线路板过大、布线复杂、占用I/O口过多的弊病。
而且通过使用遥控器,操作时可实现人与设备的分离,从而更加方便使用。
红外遥控接收可采用较早的红外接收二极管加专用的红外处理电路的方法。
如CXA20106,此种方法电路复杂,现在一般不采用。
较好的接收方法是用一体化红外接收头,它将红外接收二极管、放大、解调、整形等电路做在一起,只有三个引脚.分别是+5V电源、地、信号输出。
红外接收头的信号输出接单片机的INT0或INTl脚。
用一只PNP型三极管对输出信号进行放大效果更好。
2.61602液晶显示模块
图2.6-11602液晶显示模块图
1602字符型LCD简介:
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。
下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。
一般1602字符型液晶显示器实物如图2.6-2、2.6-3。
图2.6-21602字符型液晶显示器实物正面图
图2.6-31602字符型液晶显示器实物背面图
1602LCD的基本参数及引脚功能:
1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图2.6-4所示:
图2.6-41602LCD尺寸图
1602LCD主要技术参数:
显示容量:
16×
2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×
4.35(W×
H)mm
引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2.6-1。
示:
编号
符号
引脚说明
VSS
电源地
9
D2
数据
电源正极
10
D3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
表2.6-1引脚接口说明表
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
1602LCD的指令说明及时序:
1602液晶模块内部的控制器共有11条控制指令,如表2.6-2所示:
指令
清显示
光标返回
*
置输入模式
I/D
S
显示开/关控制
D
C
B
光标或字符移位
S/C
R/L
置功能
DL
N
F
置字符发生存贮器地址
字符发生存贮器地址
置数据存贮器地址
显示数据存贮器地址
读忙标志或地址
BF
计数器地址
写数到CGRAM或DDRAM)
要写的数据内容
从CGRAM或DDRAM读数
读出的数据内容
表2.6-2控制命令表
1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
(说明:
1为高电平、0为低电平)
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置I/D:
光标移动方向,高电平右移,低电平左移S:
屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D:
控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:
控制光标的开与关,高电平表示有光标,低电平表示无光标B:
控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位S/C:
高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令DL:
高电平时为4位总线,低电平时为8位总线N:
低电平时为单行显示,高电平时双行显示F:
低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址BF:
为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
与HD44780相兼容的芯片时序表如下:
读状态
输入
RS=L,R/W=H,E=H
输出
D0—D7=状态字
写指令
RS=L,R/W=L,D0—D7=指令码,E=高脉冲
无
读数据
RS=H,R/W=H,E=H
D0—D7=数据
写数据
RS=H,R/W=L,D0—D7=数据,E=高脉冲
表2.6-3基本操作时序表
读写操作时序如图2.6-5和图2.6-6所示:
图2.6-5读操作时序
图2.6-6写操作时序
1602LCD的RAM地址映射及标准字库表
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图2.6-7是1602的内部显示地址。
图2.6-71602LCD内部显示地址
例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?
这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)。
在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。
每次输入指令前都要判断液晶模块是否处于忙的状态。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如表2.6-4所示,这些字符有:
阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”