liangong 发表于 2010-5-30 13:32:26

NEC红外解码

NEC红外解码 只用MCU的一个普通IO(不具有中断功能) 和一个计时器如何解码?

liangong 发表于 2010-5-30 13:37:49

补充:不能用软件延时查询

ddrfft 发表于 2010-5-30 15:23:32

设置 计时器中断 中断中查询。

Engin 发表于 2010-12-4 09:34:05

NEC的我刚用430完成了一个,算法正好符合你的要求
我的算法是:每隔440us扫描一次,检测数据并读取
程序用了状态机机制,state=0,等待数据的到来 =1,读取引导码,并作出一定判断,非正确引导码,则设state = 0,继续等待数据的到来,正确,则设state=2,进入读取数据状态,数据读完又回到state=0,等待数据。

读取数据的算法:先等待低电平的到来,确认一位数据的到来,在等待440*2或440*3us后是否有低电平,若有,则这位数据是0,又因现在是低电平,已经确定即将是新一位的数据,则直接进入下一位读取,否则440*3us后依然是高电平,则是数据1,重新等低电平,然后继续下一位。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4367121&bbs_page_no=1&search_mode=3&search_text=Engin&bbs_id=9999

jinzhen107 发表于 2014-5-9 12:38:57

这个效率不高吧!

lyflyaway 发表于 2014-5-9 12:56:08

主循环读IO电平,定时器中断计时
页: [1]
查看完整版本: NEC红外解码