全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*技术支持*/*应用与51系列、STC系列、经本人测试无误*/#include #include delay.h/此处省去#include lcd.h/此处省去/sbit IR=P11; /红外接口标志char code Tab16=0123456789ABCDEF;char data TimeNum= ;/*/* 函数声明 */*/unsigned char irtime;/红外用全局变量bit irpro_ok,irok;unsigned char irdata33; /33个高低电平的时间数据unsigned char IRcord4; /处理后的红外码,分别是 客户码,客户码,数据码,数据码反码void Ir_work(void);void Ircordpro(void);/*/* 红外解码函数处理 */*/void Ircordpro(void)/红外码值处理函数/irok=1 unsigned char i, j, k; unsigned char cord,value; k=1; for(i=0;i4;i+) /处理4个字节 for(j=1;j7)/0.256*7=1.79ms,大于此为高电平,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差 value=value|0x80; else /低电平 value=value; if(j1; k+; IRcordi=value; /4个字节的数据 value=0; irpro_ok=1;/处理完毕标志位置1 /*/* 红外键值处理 */*/void Ir_work(void) /红外键值散转程序 irpro_ok=1 TimeNum0 = TabIRcord0/16; /处理客户码并显示 TimeNum1 = TabIRcord0%16; TimeNum3 = TabIRcord1/16; /处理客户码并显示 TimeNum4 = TabIRcord1%16; TimeNum6 = TabIRcord2/16; /处理数据码并显示 TimeNum7 = TabIRcord2%16; TimeNum9 = TabIRcord3/16; /处理数据反码并显示 TimeNum10 = TabIRcord3%16; WriteCMD(0x01); WriteCMD(0x80); LCD_write_string(code:);/显示处理过后的码值 delay(1); WriteCMD(0x80+5); LCD_write_string(TimeNum);/显示处理过后的码值 delay(1); WriteCMD(0x80+40); LCD_write_string(KEY:); WriteCMD(0x80+0x40+0x04); switch(IRcord2) case 0xb6:LCD_write_string(1);break;case 0x01:LCD_write_string(2);break;case 0x02:LCD_write_string(3);break;case 0x28:LCD_write_string(Up);break;case 0x2c:LCD_write_string(Down);break;case 0x2e:LCD_write_string(Left);break;case 0x2a:LCD_write_string(Right);break;case 0x17:LCD_write_string(Power);break;case 0x21:LCD_write_string(Ok);break;default:break;delay(1); irpro_ok=0; /处理完成后清楚标志位/*/* 定时器2初始化 */*/void Time2_init()EA=0;T2MOD &= 0xFC; /* T2OE=0;定时器2输出不允许 */T2MOD |= 0x00; /* DCEN=0才能引起EXF2的中断*/ EXF2=0; /* reset flag 定时器2外部标志位清除*/ TF2=0;/*清除T2的溢出标志*/ TCLK=0;RCLK=0;/* disable baud rate generator 不用于波特率发生器*/ EXEN2=1; /* ignore events on T2EX 视T2EX(P1.1)端信号有效、允许T2EX产生捕获*/ TH2 = (65536-256)/256; /*T2初始值*/ TL2 = (65536-256)%256;C_T2=0; /* timer mode 定时模式*/ CP_RL2=1; /* reload mode 不重载模式-要捕获*/ ET2=1; /* enable timer2 interrupt 允许T2中断*/ TR2=1; /* timer2 run 开始计时*/ EA=1; /* interupt enable 中断允许*/ /*/void main(void) Time2_init(); LCD_init(); /初始化液晶 delay(1); while(1)/主循环 if(irok) /如果接收好了进行红外处理 Ircordpro(); irok=0; if(irpro_ok) /如果处理好后进行工作处理,如按对应的按键后显示对应的数字等 Ir_work(); /*/* 定时器2中断服务函数及其捕获服务程序 */*/void Time2_EXF2 (void) interrupt 5 /T2EX中断static unsigned char i; /接收红外信号处理static bit startflag; /是否开始处理标志位if(TF2)irtime+; /有多少个256us、用于计数2个下降沿之间的时间TH2 = (65536-256)/256; /*T2重载值*/ TL2 = (65536-256)%256;TF2 = 0; /*手动清除T2的溢出标志*/if(EXF2)/* reset interrupt flag 复位中断标志位*/ if(startflag) if(irtime=33)/引导码 TC90
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46621-2025机械式停车设备报废条件
- GB/T 21466.2-2025滑动轴承稳态条件下流体动压径向圆柱形轴承第2部分:特征数值
- 2026浙江大学医学院附属口腔医院招聘人员43人考试笔试参考题库附答案解析
- 2025新疆和田和康县、和安县面向社会招聘事业单位工作人员108人考试笔试模拟试题及答案解析
- 2025河南南阳市第九十九学校招聘教职工8人笔试考试参考试题及答案解析
- 2025年郑州大学第五附属医院招聘工作人员72名考试笔试备考试题及答案解析
- 2025北京浩吉铁路股份有限公司高校毕业生招聘7人考试笔试备考题库及答案解析
- 2025重庆三峡学院招聘4人考试笔试备考试题及答案解析
- 2025下半年广东深圳市坪山区教育局面向2026年应届毕业生招聘教师76人(编制)笔试考试备考题库及答案解析
- 2025辽宁省沈抚示范区教育系统面向部分普通高校2026年应届毕业生招聘事业编制急需紧缺教师12人笔试考试备考试题及答案解析
- 糖脂代谢异常课件
- 新建厂房的监理规划与管理
- 航空航天标准(首件检验)AS9102
- 水晶培训知识课件
- 企业项目管理培训大纲及教程
- 2025山西沁水煤层气开发投资有限公司公开引进急需专业技术人员笔试题库历年考点版附带答案详解
- 《TCSUS69-2024智慧水务技术标准》
- 医院科研中期汇报
- 儿童口腔医学牙齿发育异常
- 绿色节能1000平方米低碳办公区建设可行性研究报告
- 汉服知识竞赛试题及答案
评论
0/150
提交评论