欢迎来到天天文库
浏览记录
ID:44715329
大小:32.00 KB
页数:4页
时间:2019-10-25
《PT2262解码程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PT2262解码程序#include #include void delay_ms(void) //毫秒延时 { unsigned int i; for (i=0;i<140;i++) { } }void delay_nms(unsigned int n) //延时周期 { unsigned int i; for (i=0;i2、 { delay_ms(); } } void spaz(void) //响蜂鸣器 { PORTC3、=(1<<5); delay_nms(50); PORTC&=~(1<<5); } unsigned long decode(void) 4、 //无线解码 { unsigned long DATA; //记录数据 unsigned char count,i; //暂时计数 /*一共接收三字节*/ DATA=0; // for (count=0;count<24;count++) //开始收集 { 5、 /*测量高电平宽度*/ i=0; //宽度计数 while (PINC&(1<<4)) //高位计数 { asm("nop"); // i++; //计数增加 6、 if (i>192) goto end; //限时解码 } /*分辨出电平高低*/ DATA*=2; //数据左移 if (i<64) //分辨高低 { 7、 if (!((56>i)&(i>24))) goto end; //电平合法 DATA+=0; //记低电平 } else { if (!((168>i)&(i>72))) goto end; //电平合法 8、 DATA+=1; //记高电平 } /*测量低电平宽度*/ while (!(PINC&(1<<4))) //低位计数 { asm("nop"); // i++; //9、计数增加 if (i>224) goto end; //限时解码
2、 { delay_ms(); } } void spaz(void) //响蜂鸣器 { PORTC
3、=(1<<5); delay_nms(50); PORTC&=~(1<<5); } unsigned long decode(void)
4、 //无线解码 { unsigned long DATA; //记录数据 unsigned char count,i; //暂时计数 /*一共接收三字节*/ DATA=0; // for (count=0;count<24;count++) //开始收集 {
5、 /*测量高电平宽度*/ i=0; //宽度计数 while (PINC&(1<<4)) //高位计数 { asm("nop"); // i++; //计数增加
6、 if (i>192) goto end; //限时解码 } /*分辨出电平高低*/ DATA*=2; //数据左移 if (i<64) //分辨高低 {
7、 if (!((56>i)&(i>24))) goto end; //电平合法 DATA+=0; //记低电平 } else { if (!((168>i)&(i>72))) goto end; //电平合法
8、 DATA+=1; //记高电平 } /*测量低电平宽度*/ while (!(PINC&(1<<4))) //低位计数 { asm("nop"); // i++; //
9、计数增加 if (i>224) goto end; //限时解码
此文档下载收益归作者所有