您当前的位置:五五电子网电子知识单片机-工控设备51单片机单片机模拟遥控器 正文
单片机模拟遥控器

单片机模拟遥控器

点击数:7124 次   录入时间:03-04 11:54:21   整理:http://www.55dianzi.com   51单片机
了解了遥控发射的原理,就可以来自己动手做一个遥控器了,可是没有专门的芯片怎么办?用 单片机 ,然后配合程序完成遥控码的发射。
1、硬件电路
        

      其中, 单片机 选用AT89C2051, 使用两节电池供电就可以工作,用P1口构成3×3的模拟键盘,用一个IO口作为遥控波形输出端,然后接三极管驱动红外发射管,发出需要的遥控波形。

2、程序编写
     由于要把波形“发射”出去,需要对遥控码进行调制,调制即把遥控码的高电平和载波进行“与”,结果是连续发射一定数量的载波,而低电平则只需进行简单的延时即可。以SAA3010T编码为例,为双相位编码方式,“0”用844US高电平加844US低电平表示,“1”用844US低电平加844US高电平表示,根据上述原理,844US高电平和载波进行“与”,载波的频率为38KHz,周期为1/38k, 所以,结果是
32个完整载波+12us,另外,844US低电平只需用一个延时函数即可。由于程序不长且时间精度要求很高,所以用汇编来编程,程序如下:

发射“0”的子函数

 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAA3010T;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
SEND0:          MOV R0, #20H 
NEXT0:          SETB REMOTE      ; 844us=32个完整载波+12us
                      MOV R1, #03H      ;发送正电平9us
                      DJNZ R1, $ 
                      NOP  
                      CLR REMOTE       ;发送负电平17us
                      MOV R1, #06H 
                      DJNZ R1, $ 
                      NOP   
                      DJNZ R0, NEXT0          ; 32个完整载波发送完毕
                      SETB REMOTE            ;发送高电平9us
                      MOV R1, #03H 
                      DJNZ R1, $ 
                      NOP   
                      CLR REMOTE       ;3us低电平
                      NOP                            
                      NOP                          
                      NOP                        
                      ACALL    DELAY844US             
                      RET     

发射“1”的子函数
              
SEND1:          MOV R0, #20H 
                      CLR REMOTE          ;  发送低电平844US
                      ACALL   DELAY844US   
NEXT1:          SETB REMOTE          ; 844us=32个完整载波+2US
                      MOV R1, #03H          ;  发送正电平9us
                      DJNZ R1, $ 
                      NOP   
                      CLR REMOTE          ; 发送负电平17us
                      MOV R1, #06H 
                      DJNZ R1, $ 
                      NOP  
                      DJNZ R0, NEXT1         ; 32个完整载波发送完毕
                      SETB REMOTE           ; 发送高电平9us
                      MOV R1, #03H 
                      DJNZ R1, $ 
                      NOP   

[1] [2]  下一页


本文关键字:单片机  遥控器  51单片机单片机-工控设备 - 51单片机