您当前的位置:五五电子网电子知识单片机-工控设备PIC单片机PIC做的红外线遥控接收程序 正文
PIC做的红外线遥控接收程序

PIC做的红外线遥控接收程序

点击数:7687 次   录入时间:03-04 11:49:09   整理:http://www.55dianzi.com   PIC单片机
红外接收目前用的比较多的有三种方法.
1,查询法,既软件不停地查询是否为低(遥控信号)然后通过精确延时读头码.和
数据0或1码.
2,读到有信号输入时开打开定时计数器,然后通过读定时器的中断次数,来判定头码和0,1的.
3 RB0或RB4-RB7加定时器(或软件延时)利用输入中断的好处是可做实时控制.

如下:
;***发射为6221,把接收到的码值送到ICD的PORTC口显示******
;**************** ***************
         org    0000h
         nop
         goto   start
         org    0004h
         goto   serv
;**************************************************
start
         bsf     status,rp0      ;体1
         MOVlw   0000h
         MOVwf   trisc          ;C口输出
         MOVlw   0ffh           ;B口RB0输入
         MOVwf   trisb
         MOVlw   B’00000100’     ;1:64
         MOVwf   option_reg      ;TMR0定时器
         bcf     status,rp0      ;体0
         clrf    iNTCon            ;10010000
         bsf     intcon,7          ;开放INT下降沿中断
         bsf     intcon,4
         bcf     intcon,1
         clrf  portc
loop     
         sleep
         nop
         goto  loop
;*************现场保护********************************
serv      
         MOVwf   w_temp
         swapf   status,0       
         clrf    status         
         MOVwf   status_temp    
         MOVf    pclath,0
         MOVwf   pclath_temp
         clrf    pclath
    
;***************遥控处理.******************************

         bcf  intcon,1
         btfsc    portb,0        ;检测RB0是否为0.
         goto     zdhh           ;RB0不为0,误中断.反回 
         call     delay8         ;调用8MS延时.头码检测.
         btfsc    portb,0        ;检测头码
         goto     zdhh           ;不是中断反回
         call     delay5          ;延时5MS后进行数据检测.
         btfss    portb,0         ;检测RB0是否为高电平.
         goto     zdhh            ;不是继续检测.
;*********************************************
        
         clrf     data1          ;20H
         clrf     data2          ;21H
         clrf     data3          ;22H
         clrf     data4          ;24H
         clrf     jsp2           ;32位计数器
         clrf     sj             ;接收的数据寄存器
         clrf     jsp1           ;8位计数器
         MOVlw    0x20           ;20H寄存器送W
         MOVwf    fsr            ;由W送20H到FSR
jc       btfsc    portb,0        ;检测RB0是否为低电平.
         goto     jc             ;不是继续检测.
;**************0和1数据检测****************************       
js       call     delay1         ;延时1.3MS
         btfsc    portb,0        ;检测头码过后是0还是1,
         goto     s1             ;检测的数据不"1"

[1] [2] [3]  下一页


本文关键字:程序  红外线  PIC单片机单片机-工控设备 - PIC单片机

《PIC做的红外线遥控接收程序》相关文章>>>