单片机课程设计
图8DHT11引脚说明
2.1.3红外遥控模块
红外遥控模块由发射和接受两大部分组成。
遥控用的红外发射传感器为了在无线传输过程中免收其他红外信号的干扰,通常将红外遥控信号调制在特定的载波频率上,再由红外发光二极管发射出去,红外接收装置则会滤除其他杂波只接收该特定频率的信号并将其还原成二进制脉冲码。
通常,红外遥控中所采用的编码方式有三种: 1)FSK(移频键控)方式
移频键控方式有两种不同的脉冲频率分别表示二进制数的“0”和“1”,下图是用移频键控方式对“0”和“1”进行编码的示意图。
图9移频键控方式
2)PPM(脉冲位置编码)方式
在脉冲位置编码方式下,每一位二进制数所张勇的时间是一样的,只是传号脉冲的位置有所不同。空号在前、传号在后的表示“1”,传号在前,空号在后的表示“0”。下图是采用脉冲位置编码方式对“0”和“1”进行编码的示意图。
图10冲位置编码方式
8
单片机课程设计
3)PWM(脉冲宽度编码)方式
脉冲宽度编码方式是根据传号脉冲的宽度来区别二进制数的“0”和“1”。 传号脉冲宽的是“1”,传号脉冲窄的是“0”,而每位二进制数之间则用等宽的空号来进行分隔。下图是用脉冲宽度编码方式对“0”和“1”进行编码的示意图。
图11脉冲宽度编码方式
三个引脚的接收头一般是集接收、放大、解调的一体头,一般红外信号经接收头解调后,数据“0”和“1”的区别通常体现在高低电平的时间长短或信号周期上,单片机解码时,通常将接收头输出脚接到单片机的外部中断,结合定时器判断外部中断间隔的时间从而获取数据。
当遥控器某个操作按键按下,单片机先读出键值,然后根据键值设定遥控码的脉冲个数。再调制成特定方波由红外发射管发射出去。在红外线接收器输出脉冲帧数据时,第1位码的低电平将启动中断程序,实时接收数据帧。在数据帧接收时,将对第1位码的码宽进行验证:若第1位低电平码的脉宽过小,将作为错误处理:当间隔位的高电平脉宽正常时,结束接收,然后根据脉冲个数,得出相应的键值。
2.1.4语音模块
本模块采用集成语音芯片,所以操作有单片机控制,操作命令通过串行通信接口送入。片内信息储存于闪烁存储器中。
单片机的P2.5引脚连接芯片片选引脚,控制语音芯片的选通情况;P2.4、P2.3连接MOSI、MISO,分别控制输入输出数据,对于MOSI来说,先发送地址信息,然后发送控制位;P2.2引脚连接串行时钟输入端SCLK,为语音芯片提供时钟输入;P2.1引脚连接中断引脚INT,以便及时捕获语音芯片发出的中断信号;P2.0引脚连接RAC端,为行地址时钟端。
录音操作主要是将外部输入的语音储存到芯片里,留有录音接口是为了通过专业音频电缆与数字录音设备相连,向录音设备提供音频信号;放音操作主要将存储到内部的语音数据回放出来。
9
单片机课程设计
2.1.5时钟模块
本模块采用DS1302时钟芯片,可对秒、分、时、日、月以及带闰年补偿的年进行计数。DS1302时钟芯片报考实时时钟/日历和31字节的静态RAM。它经过一个简单的串行接口与微处理器通信。四十时钟/日历提供秒、分、时、日、月和年等信息。对于小于31天的月和月末的日期自动跳帧,还包括闰年校正的功能。时钟的运行可以采用24h或12h的格式。采用三线接口与单片机进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。
下图是DS1302时钟电路:
图12 时钟模块
DS1302在任何数据传送时必须先初始化,把RST脚设置为高电平,然后把8位地址和命令字装入移位寄存器,数据在SCLK的上升沿被输入。无论是读周期还是写周期,开始8为指定40个寄存器中哪个将被访问到。在开始8个时钟周期,吧命令字节装入移位寄存器之后,另外的时钟周期在读操作时输入数据,在写操作时写入数据。时钟脉冲的个数在单字节方式下为8加8,在多字节方式下为8加字节数,最大可达248字节数。
如果在传送过程中置RST脚为低电平,则会终止本次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc大于等于2.5V之前,RST脚必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。
DS1302的控制字如图4.2所示。控制字节的最高位(位7)必须是逻辑1;如果它为0,则不能把数据写入到DS1302中。位6如果为0,则表示存取日历时钟数据;为1
10
单片机课程设计
表示存取RAM数据。位5~1(A4~A0)指示操作单元的地址。最低有效位(位0)如为0,表示要进行写操作;为1表示进行读操作。控制字节总是从最低位开始输入/输出。
为了提高对32个地址的寻址能力(地址/命令位1~5=逻辑1),可以把时钟/日历或RAM寄存器规定为多字节(burst)方式。位6规定时钟或RAM,而位0规定读或写。在时钟/日历寄存器中的地址9~31或RAM寄存器中的地址31不能寄存数据。在多字节方式中,读或写从地址0的位0开始。必须按数据传送的次序写最先的8个寄存器。但是,当以多字节方式写RAM时,为了传送数据不必写所有31字节。不管是否写了全部31字节,所写的每一字节都将传送至RAM。
DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。其日历、时间寄存器及其控制字见图12,其中奇数为读操作,偶数为写操作。
时钟暂停:秒寄存器的位7定义位时钟暂停位。当它为1时,DS1302停止震荡,进入低功耗的备份方式。通常在对DS1302进行写操作时(如进入时钟调整程序),停止震荡。当它为0时,时钟将开始启动。
AM-PM/12-24[小]时方式:[小]时寄存器的位7定义为12或24[小]时方式选择位。它为高电平时,选择12[小]时方式。在此方式下,位5是AM/PM位,此位是高电平时表示PM低电平表示AM。在24[小]时方式下,位5为第二个10[小]时位(20~23h)。
图13内部寄存器地址和内容
2.1.6液晶显示模块
液晶显示模块是由1602液晶显示器构成。
11
单片机课程设计
第一引脚为地电源;第二引脚接5V正电;第三引脚V0为对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”;第四引脚RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器;第六引脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行指令;第七到第十四引脚为8位双向数据线;第十五引脚为背光电源正极;第十六引脚为背光电源负极。
字符型液晶显示器模块内部主要有LCD显示屏、控制器、驱动器和偏压产生电路。控制器主要由指令寄存器IR、数据寄存器DR、忙识别位BF、地址计数器AC、DDRAM、CGROM、CGRAM及时序发生电路组成。
图14液晶显示模块
1602液晶模块背部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图14所示,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。
12