您当前的位置:五五电子网电子知识单片机-工控设备源码-程序采用stc89c52单片机的红外学习型遥控器汇编代码 正文
采用stc89c52单片机的红外学习型遥控器汇编代码

采用stc89c52单片机的红外学习型遥控器汇编代码

点击数:7487 次   录入时间:03-04 11:57:07   整理:http://www.55dianzi.com   源码-程序
      MUL  AB
      MOV  R2,B
      MOV  R3,A
      MOV  R5,#13 ;9    13*16=208
     
      MOV  R0,#LRDBUF

      ICWRITENEXT: 
      LCALL ICSTART
      MOV  R7,#0A0H       
      LCALL ICWRITEBYTE
      LCALL ICREADACK
      JNC  WACKEND
;
;
  WACKEND:
      MOV  A,R2
      MOV  R7,A
      LCALL ICWRITEBYTE
      LCALL ICREADACK
      MOV  A,R3
      MOV  R7,A
      LCALL ICWRITEBYTE
      LCALL ICREADACK

   
      MOV  R1,#16           
  WRITEDATAS:
      MOV  A,@R0
      INC  R0     
      MOV  R7,A
      LCALL ICWRITEBYTE
      LCALL ICREADACK     
      DJNZ  R1,WRITEDATAS
      LCALL ICSTOP

   
      MOV  R7,#250
    DELAY_D:
      MOV  R6,#20
      DJNZ  R6,$
      DJNZ  R7,DELAY_D

          MOV  A,R3
      ADD  A,#16
      MOV  R3,A
      MOV  A,R2
      ADDC  A,#0
      MOV  R2,A

   
      DJNZ  R5,ICWRITENEXT
      RET     
;*****************************************************************

    ;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LRDREAD: 
                                      ;红外代码读取
            MOV      R0,#LRDBUF        ;代码缓冲区清零
            MOV      R1,#208  ;144
            CLR      A
CLRLRDBUF:
            MOV      @R0,A
            INC      R0
            DJNZ      R1,CLRLRDBUF
            MOV      R0,#LRDBUF
            SETB      LRDR
LRDTEST:                       
          SETB      TR2       
          SETB      ES          ;红外代码起始检测
          JB        RI,LLOOP              ;这里是检测有键按下时。。。。。。
          CLR        TR2
          JNB        LRDR,READSTART     
          JB        HWXX,LRDTEST          ;红外学习标志位
          LJMP      LLLOOP
LLOOP:    ;
          CLR    RI
          MOV    A,SBUF
          MOV    R0,#250
          MOV    R1,#250
LP4:      JB      RI,LP3
          DJNZ    R0,LP4
          DJNZ    R1,LP4
          LJMP    LRDTEST
LP3:      CLR    RI
          CLR    ES
          MOV    A,SBUF
          MOV    A,#00H
         
LP2:     
          CLR    HONGWAI                ;红外按钮标志位
          CLR    P3.3
          CLR    HWXX
          MOV    SBUF,#37H
          JNB    TI,$
          CLR    TI
          DEC    SP
          DEC    SP
          LJMP    LOOP
LLLOOP:    RET
                       
;--------------------------------------
READSTART:
    CLR  EA
    ;SETB P0.6                         
    MOV  TH1,#0
    MOV  TL1,#12       
    SETB LRDR
;--------------------------------------
READLOOP_S:
    SETB TR1
    CLR  TF1
TEST_LRDR:
    MOV  A,TH1
    JB  TF1,LRDOVER
    JNB  LRDR,TEST_LRDR
    CLR  TR1          ;

        INC  R0
    MOV  A,TL1
    MOV  @R0,A
    INC  R0
    MOV  A,TH1
    MOV  @R0,A
    INC  R1          ;红外线时间    1
;--------------------------------------
;--------------------------------------
    MOV  TH1,#0
    MOV  TL1,#12
    SETB TR1
    CLR  TF1
   
  TESTLRD:
    MOV  A,TH1
    JB  TF1,LRDOVER
    JB  LRDR,TESTLRD   

        CLR  TR1         
    INC  R0
    MOV  A,TL1
    MOV  @R0,A
    INC  R0
    MOV  A,TH1
    MOV  @R0,A          ;代码            2
    INC  R1
;************************************** 
 
  TEST_DATA:
    MOV  TH1,#0
    MOV  TL1,#12
    SETB TR1
    CLR  TF1       

        MOV  A,R1
    SUBB A,#101  ;44H
    JC  READLOOP_S        ;下一代码   
;--------------------------------------
 LRDOVER:
    CLR  TR1
    SETB EA

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


本文关键字:单片机  遥控器  学习型  源码-程序单片机-工控设备 - 源码-程序