无线遥控小车程序

上传人:kms****20 文档编号:40236229 上传时间:2018-05-25 格式:DOC 页数:4 大小:31.50KB
返回 下载 相关 举报
无线遥控小车程序_第1页
第1页 / 共4页
无线遥控小车程序_第2页
第2页 / 共4页
无线遥控小车程序_第3页
第3页 / 共4页
无线遥控小车程序_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《无线遥控小车程序》由会员分享,可在线阅读,更多相关《无线遥控小车程序(4页珍藏版)》请在金锄头文库上搜索。

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

2、看到 P13 闪亮了一下.表明上次正确接收/ /到数据. / /= / #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,0x0D,0x0E,0x00,0x0F,0x

3、19;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; /定义运行停止标志位 sbit Fo

4、ntIRState=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) /判断数据长度 IR

7、COMj = 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; /数码管显示数字 0 while(1) /程序主循环Delay(); /延时RunStopState=RunStopState; /运行指示灯状态转变

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

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号