1.想法
我的整体想法是通过红外接收头对遥控器发射的信号波形进行记录,然后使用的时候只要根据记录的数据发射就可以了。
现在手头上的模块包括以下三个部分组成。
所以,可以通过单片机对接收到的信号进行记录,因为没有示波器,所以整个过程中对信号的分析只能通过串口上传给电脑人工分析了。
2.困境
在作出想法过后便遇到了困境,那就是单片机资源不足的问题。目前板上的单片机为stc11f02e
,具有256字节的内部ram,2K的Flash,没有外部扩展ram,两个定时器,外接的晶振为22.1184MHz。重点是256字节的ram可能不够用,因为程序运行需要一定的ram,那么剩下的只有200字节左右,如果一次红外信号需要记录的数据大于200字节,那么接下来的编程将愈发困难。
通过翻阅资料可以得知,红外信号的编码采用PWM(脉冲宽度调制)后一般通过38KHz的载波在空中传播。其中红外接收头一般情况下为高电平,只有接收到红外信号时为低电平,如下图。
而红外信号中的1个位是通过“一低一高”两个电平来表示,并且根据其中低电平与高电平持续的时间长短来区分是0还是1。例如低电平200us高电平200us为“0”,低电平20