


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PIC16F97+eV1527解码源程序滚动码 2009-02-19 22:53:14 阅读124 评论0 字号:大中小订阅 /使用PIC16F917的片子,使用T0中断查询方式接收遥控命令/*#include ;void main(void);void interrupt ISR(void);void sub_cpu_ini(void);/*unsigned char hh_w,ll_w; /高,低电平宽度unsigned char ma_x; /接收到第几位编码了unsigned char bma1,bma2,bma3,bma4; /用于接收过程存放遥控编码unsigned char mma1,mma2,mma3,mma4; /用于解码过程 bit rf_ok; /接收到一个完整的遥控命令后置1,通知解码程序可以解码了 bit old_rc5; /保存上一次查询到的电平状态 bit tb_ok; /接收到同步的马时置1void main() sub_cpu_ini(); /*/- 中断服务程序 -/*void interrupt ISR(void) /只启用了T0中断,所以不用判断中断源 T0IF=0; / 清除T0中断标志 #asm clrwdt /喂狗 #endasm TMR0=125; /将T0中断时间修正为150uS RC3=!RC3; /连接逻辑分析仪,查看T0中断时间间隔 if (!RC5) ll_w+;old_rc5=0; / 检测到低电平 低电平时间加1,记录本次电平状态 else / 检测到高电平 hh_w+; if (!old_rc5) / 检测到从低到高的跳变,已检测到一个完整(高-低)电平周期 if (hh_w=2)&(hh_w=60)&(ll_w=6)&(ll_w=2)&(ll_w=3) switch (ma_x) case 0 : bma1=bma1 | 0B10000000; break; /遥控编码第1位 case 1 : bma1=bma1 | 0B01000000; break; case 2 : bma1=bma1 | 0B00100000; break; case 3 : bma1=bma1 | 0B00010000; break; case 4 : bma1=bma1 | 0B00001000; break; case 5 : bma1=bma1 | 0B00000100; break; case 6 : bma1=bma1 | 0B00000010; break; case 7 : bma1=bma1 | 0B00000001; break; case 8 : bma2=bma2 | 0B10000000; break; case 9 : bma2=bma2 | 0B01000000; break; case 10: bma2=bma2 | 0B00100000; break; case 11: bma2=bma2 | 0B00010000; break; case 12: bma2=bma2 | 0B00001000; break; case 13: bma2=bma2 | 0B00000100; break; case 14: bma2=bma2 | 0B00000010; break; case 15: bma2=bma2 | 0B00000001; break; case 16: bma3=bma3 | 0B10000000; break; case 17: bma3=bma3 | 0B01000000; break; case 18: bma3=bma3 | 0B00100000; break; case 19: bma3=bma3 | 0B00010000; break; case 20: bma4=bma4 | 0B10000000; break; /按键状态第1位 case 21: bma4=bma4 | 0B01000000; break; case 22: bma4=bma4 | 0B00100000; break; case 23: bma4=bma4 | 0B00010000; mma1=bma1;mma2=bma2;mma3=bma3;mma4=bma4;/将接收到的编码复制到解码寄存器中/在下一行设一个断点,用ICD2调试 rf_ok=1; / 通知解码子程序可以解码了 break; ma_x+; else ma_x=0; tb_ok=0; bma1=0; bma2=0; bma3=0; bma4=0; /接收到不符合的高-低电平序列 ll_w=0;hh_w=1; old_rc5=1; / 记录本次电平状态 /*/- 上电初始化程序 -/*void sub_cpu_ini() PORTA =0B11110000; PORTB=0B11011100; PORTC=0B00111011; PORTE=0B11111111; TRISA =0B11110000; TRISB=0B11111111; TRISC=0B00110011; TRISE=0B11111111; WPUB =0B11011101; OSCCON =0B01100111; /使用片内振荡频率 4MHZ ANSEL =0B00000000; /模拟输入管脚配置为通用I/O口 CMCON0 =0B00000111; /关闭模拟比较器 OPTION =0B00001111; /对T0初始化,WDT预分频128 LCDCON =0B00000011; /VLCD引脚禁止(RC0,RC1,RC2) T2CON =0B00000011; /设置T2为4096uS中断一次,作为一次处理循环 TMR1ON=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业自动化高级操作工技能竞赛题库
- 2024新外研社版英语八年级上单词表(开学版)
- 2025年工业自动化工程师高级面试指南及预测题解析
- 24节气教学课件
- 新解读《GB-T 36785-2018结构用木质覆面板保温墙体试验方法》
- 关雎板块式教学课件
- 2024年全国社会工作者之初级社会工作实务考试重点试卷附答案469
- 2024高层管理人员劳动合同
- 2025年英语四六级考试听力短对话专项突破试卷 考前冲刺
- Ⅰ期糖尿病肾病护理查房记录
- 电梯维护保养与安全操作实务培训
- 人工智能导论-第2版-全套课件
- 气溶胶大气边界层研究-深度研究
- 2025年中国协同办公软件行业市场发展前景及发展趋势与投资战略研究报告
- 颈椎病课件完整版
- 传染科专科护士培训
- 综合设计我的书包课件
- 《海洋遥感技术》课件
- 企业人力资源管理师三级历年真题及答案(2024年11月-2025年5月)版
- 2024年度德国企业博士实习生招聘与雇佣合同3篇
- 华为-供应链管理课件
评论
0/150
提交评论