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.