PIC单片机红外遥控编码与解码的问题分享

  • 文章关键词:
  • 一般常用的红外遥控器编码规则都差不多,基本上都同6221原理一样

           PIC单片机接收时:

            如果用54,57这类片子做的话有一定的难度(假如要做成实时控制的;比如说你还要驱动显示,驱动步进电机,在加上几个按键)原因就是这类片子没有中断

           例程如下(用来解6221;分频比为256)

    RF:
    BTFSC PORTB,2;;B2口用做接收口
    GOTO RF1
    BTFSS DOWNBIT;;检测下降沿标制
    CLRF RTCCOUNT
    BSF DOWNBIT;制下降沿标制
    BTFSS UPBIT;;检测上升沿标制
    RETLW 0
    BTFSC IDBIT;;检测码头标制
    GOTO RF3
    MOVLW 2AH
    SUBWF RTCCOUNT,0
    BTFSS STATUS,0
    GOTO RF2
    MOVLW 36H
    SUBWF RTCCOUNT,0
    BTFSC STATUS,0
    GOTO RF2
    BTFSC IDBIT
    GOTO RF3
    MOVLW .8
    MOVWF LOOP
    MOVLW .3
    MOVWF LOOPCOUNT
    CLRF DATACOUNT
    BSF IDBIT
    BSF DOWNBIT
    BCF UPBIT
    CLRF RTCCOUNT
    RETLW 0
    RF1:
    BTFSS DOWNBIT
    RETLW 0
    BSF UPBIT
    RETLW 0

    RF2:
    BCF DOWNBIT
    BCF UPBIT
    BCF IDBIT
    CLRF RTCCOUNT
    RETLW 0 ;遥控接收
    RF3:
    MOVLW 02H
    SUBWF RTCCOUNT,0
    BTFSS STATUS,0
    GOTO RF4
    MOVLW 0CH
    SUBWF RTCCOUNT,0
    BTFSS STATUS,0
    GOTO RF4
    GOTO RF2
    RF4:
    MOVLW 08H
    SUBWF RTCCOUNT,0
    BTFSC STATUS,0
    BSF 3H,0
    MOVLW 07H
    SUBWF RTCCOUNT,0
    BTFSS STATUS,0
    BCF 3H,0
    RLF DATACOUNT,1
    BSF DOWNBIT
    BCF UPBIT
    CLRF RTCCOUNT
    DECFSZ LOOP,1
    RETLW 0
    MOVLW .8
    MOVWF LOOP
    DECFSZ LOOPCOUNT
    RETLW 0
    BSF RFBIT;;制接收完标制
    BCF DOWNBIT
    BCF UPBIT
    BCF IDBIT
    CLRF RTCCOUNT
    RETLW 0

    //////////////////////////////////////////////////////////

    TIME:
    BTFSC TIMEPD1
    GOTO TIME1
    MOVF RTCC,0;;(
    MOVWF TIMEONE
    BSF TIMEPD1
    RETLW 0 ;定时查寻
    TIME1:
    MOVF RTCC,0
    SUBWF TIMEONE,0
    BTFSC STATUS,2
    RETLW 0

    BCF TIMEPD1


    INCF RTCCOUNT,1

    RETLW 0

    ////////////////////////////////////////////////

            在这里我是用查询的方式来定时的(RTCCOUNT)只是在解码时不需要去追求时间精度;我是去查RTCC有没有发生跳变如有则表示时间过了 256US---RTCCOUNT加一;这样做有一个好处---你不必去管RTCC具体的值是多少,(RTCC去做精确的时钟定时;在这个查询的子程序中你可以去判断键扫,显示刷新,驱动步进电机等等)

           相应的C代码如下:

    unsigned char rfcount,
    loop,
    rftime,//查询定时器
    k;
    bit rfbit, //接收完标制
    lowbit1,
    lowbit2,
    downbit,
    rfgobit;
    unsigned char dispcount[5];//结果
    #define rfin RC6
    ////////////////////////////////////////////////////////////////////////////////
    rf( )//遥控接收
    {
    if(rfbit==0)
    {
    if((lowbit1==0)&&(rfin==0))
    {

工控机箱_19寸工业机箱厂家_服务器机箱品牌制造商

产品中心
工业机箱

工控机箱
工控机箱
服务器机箱
服务器机箱
OEM/ODM定制流程
工控机箱定制流程
  • 定制咨询
    工控机箱定制咨询
    Step1
  • 需求分析
    工控机箱定制需求分析
    Step2
  • 可行性分析
    工控机箱定制可行性分析
    Step3
  • 确认规格
    工控机箱定制确认规格
    Step4
  • 报  价
    工控机箱定制报价
    Step5
  • 合同签订
    工控机箱定制合同签订
    Step6
  • 图纸确认
    工控机箱定制图纸确认
    Step7
  • 样品确认
    工控机箱定制样品确认
    Step8
  • 批量生产
    工控机箱定制批量生产
    Step9
迈肯思优势
工控机箱优势
迈肯思的八大优势MACASE'S EIGHT ADVANTAGES
迈肯思的八大优势
解决方案
机箱行业解决方案
机架式机箱行业解决方案 机架式机箱行业解决方案
服务器机箱行业解决方案 服务器机箱行业解决方案
工业机箱行业解决方案 工业机箱行业解决方案
工控机箱行业解决方案 工控机箱行业解决方案
工控机箱品牌厂商

MACASE用心打造每个细节
以全新的技术与的服务开创中国工控机箱领域新的篇章!
从这里开始,了解迈肯思的一切

服务器机箱品牌厂商
新闻资讯
4u机箱资讯

超级通云控

超级通微信云控

云控系统

云控

熊猫微信云控

微信云控系统

微信云控

微信云控系统

友情链接:
服务器机箱    |  工控机箱    |   2u机箱    |  4u机箱    |   机箱行业资讯    |   联系我们    |   网站地图    |           网站技术支持:云驰力