红外遥控器解码程序.doc

上传人:hw****26 文档编号:3120043 上传时间:2019-05-22 格式:DOC 页数:4 大小:42.50KB
下载 相关 举报
红外遥控器解码程序.doc_第1页
第1页 / 共4页
红外遥控器解码程序.doc_第2页
第2页 / 共4页
红外遥控器解码程序.doc_第3页
第3页 / 共4页
红外遥控器解码程序.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、/=/ 红外遥控器解码程序演示 / 本程序主要将现在比较常用 TX1300 遥控器进行解码,将解码后的数据通过 P2 端/口的数码管显示出来,为了更好的看到运行过程,特加了三个指示灯用来指示当 /前运行状态.P10 主要用来闪亮 ,表示程序正在运行,P11 则用来表示接收到数据, /P12 表示触发内部的定时器操作.P13 的闪亮表示正确接收完一个数据. / 程序运行效果: 打开本机电源开关,可以看到 P10 不停的闪动,按下遥控器的数/字键,数码管则显示相应的数字键(1-9).可以看到 P11,P12 在显示后呈亮状态.则/可以接收下一个数据,在上面过程中可以看到 P13 闪亮了一下.表明上

2、次正确接收/到数据. /-/ 开发日期: 2009/01/30 研发单位: 上海腾芯实业有限公司 /#include /包含 51 单片机相关的头文件#define uint unsigned int /重定义无符号整数类型#define uchar unsigned char /重定义无符号字符类型uchar code LedShowData=0x03,0x9F,0x25,0x0D,0x99, /定义数码管显示数据0x49,0x41,0x1F,0x01,0x19;/0,1,2,3,4,5,6,7,8,9uchar code RecvData=0x07,0x0A,0x1B,0x1F,0x0C,

3、0x0D,0x0E,0x00,0x0F,0x19;uchar IRCOM7;static unsigned int LedFlash; /定义闪动频率计数变量unsigned char RunFlag=0; /定义运行标志位bit EnableLight=0; /定义指示灯使能位/*完成基本数据变量定义 */sbit S1State=P10; /定义 S1 状态标志位sbit S2State=P11; /定义 S2 状态标志位sbit B1State=P12; /定义 B1 状态标志位sbit IRState=P13; /定义 IR 状态标志位sbit RunStopState=P14; /定

4、义运行停止标志位sbit FontIRState=P15; /定义 FontIR 状态标志位sbit LeftIRState=P16; /定义 LeftIR 状态标志位sbit RightIRState=P17; /定义 RightIRState 状态标志位/*完成状态指示灯定义 */sbit S1=P32; /定义 S1 按键端口sbit S2=P34; /定义 S2 按键端口/*完成按键端口的定义 */ sbit LeftLed=P20; /定义前方左侧指示灯端口sbit RightLed=P07; /定义前方右侧指示灯端口/*完成前方指示灯端口定义 */sbit LeftIR=P35;

5、/定义前方左侧红外探头sbit RightIR=P36; /定义前主右侧红外探头sbit FontIR=P37; /定义正前方红外探头/*完成红外探头端口定义 */sbit M1A=P00; /定义电机 1 正向端口sbit M1B=P01; /定义电机 1 反向端口sbit M2A=P02; /定义电机 2 正向端口sbit M2B=P03; /定义电机 2 反向端口/*完成电机端口定义 */sbit B1=P04; /定义话筒传感器端口sbit RL1=P05; /定义光敏电阻端口sbit SB1=P06; /定义蜂鸣端口/*完成话筒,光敏电阻 ,蜂鸣器.端口定义*/sbit IRIN=P

6、33; /定义红外接收端口/*完成红外接收端口的定义 */#define ShowPort P2 /定义数码管显示端口extern void ControlCar(uchar CarType); /声明小车控制子程序void delayms(unsigned char x) /0.14mS 延时程序unsigned char i; /定义临时变量while(x-) /延时时间循环for (i = 0; i=30) /判断计数器累加值 EX1=1; /打开外部中断功能return; /返回 IRCOMj=IRCOMj 1; /进行数据位移操作并自动补零if (N=8) /判断数据长度 IRCOM

7、j = IRCOMj | 0x80; /数据最高位补 1 N=0; /清零位数计录器if (IRCOM2!=IRCOM3) /判断地址码是否相同 EX1=1; /打开外部中断return; /返回for(j=0;j10;j+) /循环进行键码解析if(IRCOM2=RecvDataj) /进行键位对应P2=LedShowDataj; /数码管显示相应数码EX1 = 1; /外部中断开 void main(void) /主程序入口bit ExeFlag=0; /定义可执行位变量LedFlash=3000; /对闪灯数据进行初始化EX1=1; /同意开启外部中断 1IT1=1; /设定外部中断 1 为低边缘触发类型EA=1; /总中断开启ShowPort=LedShowData0; /数码管显示数字 0while(1) /程序主循环Delay(); /延时RunStopState=RunStopState; /运行指示灯状态转变

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。