毕业设计论文-单片机在红外遥控环境测量系统中的应用
[复制链接]
摘 要:本文介绍了利用两套SPCE061A精简开发板(简称61板)和两套传感器模组设计的遥控环境测量系统方案:其中利用一套61板作为主控制器,配合一套传感器模组设计遥控器发射系统;利用另一套61板作为主控制器,配合另一套传感器模组设计环境测量系统,该环境测量系统可以接收来自遥控器发射系统发射的信号,同时根据接收到的信号做相应的环境测量(包括温度测量和光线监测)操作。该环境测量系统具有语音功能。
关键词:SPCE061A 环境测量 温度 光线 红外遥控
1 引言
随着人们生活水平的提高,各电子产品进行着突飞猛进的发展,电子测量仪也逐渐丰富起来,原来的模拟产品逐步向数字化转化,并且不断走向人性化。
本文中设计的环境测量系统充分发挥了人性化的特质,利用SPCE061A的语音功能,配合传感器模组,可以做一个简单的在3m内可以控制的模拟遥控器,遥控挂在墙上或者不在手边的环境测量系统测量温度或者光线,并且语音播放测量结果,该环境测量系统也由SPCE061A控制,配合传感器模组设计而成。
1.1 系统参数
本方案系统由两大模块组成:模拟遥控器发射模块和环境测量模块。
其中,模拟遥控器发射模块的参数有:
◆工作电压:3V~5.5V;
◆遥控距离:>3m(工作在4.5V时)。
环境测量模块:
◆工作电压:3V~5.5V;
◆工作温度:0~60℃;
◆测量温度:0~60℃;
◆温度测量最小单位:1℃;
◆测量光线:三个等级:光线柔和、光线太强和光线太弱。
1.2 功能简介
本方案可以实现:
◆模拟遥控器发射模块三个按键可以控制和启动环境测量模块环境的测量;
◆环境测量模块环境的测量包括温度的测量和光线的检测;
◆语音播放测量结果:
播放温度值,当温度太高时,播放温馨提示语"温度太高,请调大空调",温度太低时,播放"温度太低,请调小空调";
播放光线状况,一般光线下,播放"光线柔和";如果光线太暗,播放"光线太弱,请注意保护眼睛";如果光线太刺眼,播放"光线太强,请注意保护眼睛"。
2 系统硬件设计
本系统包括遥控器发射和环境测试两个部分。如图2.1为遥控器发射部分系统框图,发射部分采用SPCE061A作为主控制器,传感器模组的红外发射管发射电路作为发射装置,通过SPCE061A精简开发板(简称61板)上的按键控制发射。
如图2.2为环境测量模块的系统框图,同样采用SPCE061A作为主控制器,传感器模组的温度和光线测量模块测量温度或者光线,并通过61板配带的扬声器播放测量值。
图2.1 遥控器发射部分系统结构框图及连接图
图2.2 环境测量部分系统结构框图及连接图 遥控器发射部分事实上作为环境测量部分的模拟遥控器,当遥控器发射部分的KEY1、KEY2、KEY3三个按键按下的时候,控制环境测量部分进行相应的测量。本方案中,当KEY1按下时,启动温度测量,并播放环境温度值;当KEY2键按下时,启动光线检测,播放检测到的光线状况;KEY3作为保留键。 2.1 SPCE061A芯片简介
SPCE061A是一款基于 'nSP内核的16位单片机,其芯片特性如下:
◆工作电压:内核工作电压VDD为3.0~3.6V(CPU),I/O口工作电压VDDH为VDD~5.5V(I/O);
◆CPU时钟:0.32MHz~49.152MHz;
◆内置2K字SRAM和32K闪存ROM;
◆系统处于备用状态下(时钟处于停止状态),耗电小于[email=2μA@3.6V]2μA@3.6V[/email];
◆具备触键唤醒的功能;
◆32位通用可编程输入/输出端口;
◆2个16位可编程定时器/计数器(可自动预置初始计数值);
◆7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器;
◆2个10位DAC(数-模转换)输出通道;
◆14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;
◆具备串行设备接口;
◆低电压复位(LVR)功和低电压监测(LVD)功能;
◆内置在线仿真(ICE,In- Circuit Emulator)接口。
SPCE061A的内部结构框图如图2.3所示。
图2.3 SPCE061A内部结构图 2.2 传感器模组
请注意下面两点,以免烧坏红外发射接收对管:
1、传感器模组的Tx口在不使用时请置低电平;
2、不要直接给Tx口上接高电平测试红外发射接收电路,而应发射38KHz的调制波测试。
2.2.1 功能简介
◆可以测量温度;
◆可以测量光线状况;
◆可以检测障碍物;
◆可以接收来自遥控器的信号;
◆可以模拟简易遥控器。
2.2.2 结构示意图
图2.4 传感器模组结构示意图 只需要用两条10Pin排线把图中J1与SPCE061A 的IOB口高八位连接,J2与IOA口低八位连接即可。
2.3 硬件电路
2.3.1 SPCE061A最小系统
本方案使用61板作为单片机最小系统。61板包括SPCE061A芯片及其外围的基本模块,外围模块包括:晶振输入模块(OSC)、锁相环外围电路(PLL)、复位电路(RESET)、指示灯(LED)等,如图2.5所示。
图 2.5 SPCE061A最小系统 2.3.2 61板键盘电路
本系统直接使用61板上的键盘,电路如图2.6。
图 2.6 61板键盘电路 2.3.3 传感器模组电路
本系统中无论是遥控器发射部分,还是环境测量模块,都用到了传感器模组。传感器模组的电路原理图如图2.7,由电源模块、红外发射接收(发射接收对管)电路模块、温度及光线测量模块、红外接收头模块和接口模块组成。
在遥控器发射部分的传感器模组中,主要用到了红外发射接收模块的发射电路,模组上的Tx接61板的IOB8,"+"接"+","-"接"-"。
在环境测量模块的传感器模组中,用红外接收头模块接收模拟遥控器(遥控器发射部分)发射的信号,用温度/光线测量模块测量温度或者光线状况;模组上的RS接61板的IOA7,LO接IOA1,TO接IOA0,"+"接"+","-"接"-"。
图 2.7 传感器模组电路 3 系统软件设计
由于本方案中用到了两套61板,所以也有两套各自的软件代码:遥控器发射部分和环境测量部分。
3.1 遥控器发射部分
遥控器发射部分包括下面程序模块:
主程序:扫描键盘,根据不同的键值发射不同的序列;
按键扫描:扫描键盘,判断是否有键按下;
遥控器发射信号:遥控器发射程序,各个键发送不同的序列;
中断服务:语音播放中断服务程序和IRQ1中断读计数值程序,在isr.asm文件中定义。
3.1.1 主程序
主程序流程如图3.1:调用键盘扫描程序读取键值,如果是KEY1键按下则调用KEY1发射序列程序发射序列1000 0000B;如果是KEY2键按下则调用KEY2发射序列程序发射序列1000 0001B;如果是KEY3键按下则调用KEY3发射序列程序发射序列1000 0010B。
图 3.1 主程序流程图 3.1.2 按键扫描模块
本系统中只用到61板上的KEY1、KEY2和KEY3键,这三个键已经分别和IOA0、IOA1、IOA2连接。键盘扫描程序流程图如图3.2所示。利用延时去抖的方法,先取一次端口数据,延时一段时间,一般延时几十ms即可,再取一次端口数据,如果二者相同,说明取到了正确的键值。
图3.2 键盘扫描程序流程图 3.1.3 遥控器发射信号模块
系统中KEY1发射序列程序、KEY2发射序列程序、KEY3发射序列程序的流程都一样,所不同的是发射的序列不同,发射信号程序流程如图3.3,先发射起始位,接着发射8位数据序列,KEY1发射序列程序发射的8bit序列是1000 0000B,KEY2发射序列程序发射的8bit序列是1000 0001B,KEY3发射序列程序发射的8bit序列是1000 0010B。
图 3.3 发射信号程序流程图 3.2 环境测量部分
环境测量部分包括以下程序模块:
主程序:根据解码的码值不同,执行温度测量或者光线检测;
语音播放程序:播放任意三位整数;
温度测量程序:测量温度,返回温度值,详细请参考传感器模组的使用说明书;
光线检测程序:测量光线状况,返回光线状况,详细请参考传感器模组的使用说明书;
遥控解码程序:接收来自遥控器发射部分的信号,并解码,详细请参考传感器模组的使用说明书。
3.2.1 主程序
主程序流程如图3.4:接收信号,解码;如果接收到的码值是0x0080(1000 0000B),测量温度值并语音播放;如果接收到的码值是0x0081(1000 0001B),测量光线状况并语音播放。
图 3.4 环境测量主程序流程图 3.2.2 语音播放任意整数程序
语音播放任意三位整数程序流程如图3.5。
图 3.5 语音播放任意三位数流程图 4 结语
利用SPCE061A发送序列数据,配合传感器模组发射,可以模拟一个简易遥控器。同样,利用SPCE061A配合传感器模组可以接收来自遥控器的信号。这样就可以做一系列的遥控控制系统。本方案只是一个简单的例子,稍加扩展,就可以做一些类似红外遥控机器人、红外遥控小车等方案。
5 参考文献
[1] 罗亚非.凌阳十六位单片机应用基础[M]. 北京:北京航天航空出版社,2001.
[2] 传感器模组使用说明书. http://www.unsp.com.
|