www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]很詳細(xì)的紅外學(xué)習(xí)型遙控器,儲(chǔ)存在24c64中的匯編子程序,在你自己的設(shè)計(jì)中只要修改一下IO調(diào)用它就可以了,是本人的工程驗(yàn)證能學(xué)習(xí)市面常用的絕大部分紅外線遙控器用的是stc89c52單片機(jī),下面是匯編代碼:;**********

很詳細(xì)的紅外學(xué)習(xí)型遙控器,儲(chǔ)存在24c64中的匯編子程序,在你自己的設(shè)計(jì)中只要修改一下IO調(diào)用它就可以了,是本人的工程驗(yàn)證能學(xué)習(xí)市面常用的絕大部分紅外線遙控器

用的是stc89c52單片機(jī),下面是匯編代碼:

;**********************************
;---------------------AT24C64 CODE-------------------------     
;==========================================================
ICSTART:          ;I2C 開(kāi)始
       SETB  SDA
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       CLR   SDA
       NOP
       NOP
       NOP
       NOP
       CLR   SCK
       RET
;==========================================================
ICSTOP:           ;I2C 結(jié)束
       CLR   SDA
       NOP
       NOP
       NOP
       NOP
       CLR   SCK
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       SETB  SDA
       RET
;==========================================================
ICACK:           ;I2C 應(yīng)答
       CLR   SDA
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       CLR   SCK
       RET
;==========================================================
NOACK:           ;I2C 無(wú)應(yīng)答
       SETB  SDA
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       CLR   SCK
       RET
;==========================================================
ICREADBIT:          ;I2C 讀取一位
       SETB  SDA
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       MOV   C,SDA
       CLR   SCK      
       RET         
;----------------------------------------------------------
ICREADACK:
       MOV   R7,#200
       SETB  SDA
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
    READACKS:
       JNB   SDA,ACKEND
       DJNZ  R7,READACKS
       SETB  C
       CLR   SCK
       RET
    ACKEND:
       CLR   C
       CLR   SCK
       RET
   
;==========================================================
ICREADBYTE:          ;I2C 讀取一個(gè)字節(jié)
       MOV   R7,#8      
READLOOP:
       LCALL ICREADBIT
       RLC   A
       DJNZ  R7,READLOOP
       MOV   R7,A
       RET
;==========================================================
ICWRITEBIT:          ;I2C 寫(xiě)一位      
       MOV   SDA,C
       NOP
       NOP
       NOP
       NOP
       SETB  SCK
       NOP
       NOP
       NOP
       NOP
       CLR   SCK      
       RET 
;==========================================================
ICWRITEBYTE:          ;I2C 寫(xiě)一個(gè)字節(jié)
       MOV   A,R7
       MOV   R7,#8
   WRITELOOP:
       RLC   A
       LCALL ICWRITEBIT
       DJNZ  R7,WRITELOOP
       RET
;==========================================================
READAT:
       MOV   A,R7                      ;計(jì)算I2C地址 
       MOV   B,#208 ;144
       MUL   AB
       MOV   R2,B
       MOV   R3,A        


       LCALL ICSTART         ;I2C  數(shù)據(jù)讀入緩沖區(qū)
       MOV   R7,#0A0H         ;R2R3 I2C地址
       LCALL ICWRITEBYTE        ;R0   緩沖區(qū)地址
       LCALL ICREADACK         ;R1   數(shù)據(jù)個(gè)數(shù)
       JNC   RACKEND
       RET
;
 RACKEND:
       MOV   A,R2
       MOV   R7,A
       LCALL ICWRITEBYTE
       LCALL ICREADACK
       MOV   A,R3
       MOV   R7,A
       LCALL ICWRITEBYTE
       LCALL ICREADACK

       LCALL ICSTART
       MOV   R7,#0A1H
       LCALL ICWRITEBYTE
       LCALL ICREADACK
       MOV   R0,#LRDBUF
       MOV   R1,#208 ;144

   READDATAS:
       LCALL ICREADBYTE
       LCALL ICACK
       MOV   @R0,A
       INC   R0
       DJNZ  R1,READDATAS
       LCALL NOACK
       LCALL ICSTOP
       RET

;==========================================================
WRITEAT:          ;緩沖區(qū)數(shù)據(jù)寫(xiě)入 I2C

       MOV   A,R7                      ;計(jì)算I2C地址 
       MOV   B,#208 ;;144
       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         ;代碼緩沖區(qū)清零
             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           ;紅外代碼起始檢測(cè)
           JB         RI,LLOOP              ;這里是檢測(cè)有鍵按下時(shí)。。。。。。
           CLR        TR2
           JNB        LRDR,READSTART     
           JB         HWXX,LRDTEST          ;紅外學(xué)習(xí)標(biāo)志位
           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                ;紅外按鈕標(biāo)志位
           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          ;紅外線時(shí)間    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
    MOV  A,R1
    MOV  LRDBUF,A                      ;代碼個(gè)數(shù)緩沖
    RET        
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
LRD1SEND:
     CLR   EA
    MOV   R1,LRDBUF
    MOV   R0,#LRDBUF
    MOV   A,R1
    JZ    LRD_END
    SUBB  A,#101   ;72
    JNC   LRD_END
    CLR   EA
    MOV   TH1,#0

 LRD1OUTLOOP:
    CLR   TR1
    INC   R0
    MOV   A,@R0
    CPL   A
    MOV   TL1,A    
    INC   R0
    MOV   A,@R0
    CPL   A
    MOV   TH1,A
    SETB  TR1         
    CLR   TF1
;--------------------------------------
  LRD1CONT:
    CPL   LRD1
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP
    NOP                                ;發(fā)送紅外波形  38K HZ
    JNB   TF1,LRD1CONT              ;紅外前導(dǎo)代碼                 
    CLR   LRD1    
    DJNZ  R1,SEND_DATA
    LJMP  LRD_END

 SEND_DATA:
;--------------------------------------
 
    CLR   TR1
    INC   R0
    MOV   A,@R0
    CPL   A
    MOV   TL1,A   
    INC   R0
    MOV   A,@R0
    CPL   A
    MOV   TH1,A
    SETB  TR1
    CLR   TF1
    DJNZ  R1,OUT_1_CODE


 LRD_END:
    CLR   TR1
    CLR   TF1
    SETB  EA
    RET
 OUT_1_CODE:
    JNB   TF1,$          ;紅外代碼
;--------------------------------------
    LJMP  LRD1OUTLOOP
    RET          ;取下一個(gè)代碼
;==========================================================
;@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@


DELAY:
      MOV   R7,#200
DEL_L:
      MOV   R6,#30
      DJNZ  R6,$
      DJNZ  R7,DEL_L
      RET
     
DELY_2:
            MOV     R7,#250
DEL_2:        
           LJMP    DELAY
           DJNZ    R7,DEL_2
           MOV     R7,#250
DEL_3:     LJMP    DEL_2
           DJNZ    R7,DEL_3
           RET
    
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

柏林2025年9月9日 /美通社/ -- 2025年9月5日,納斯達(dá)克上市公司優(yōu)克聯(lián)集團(tuán)(NASDAQ: UCL)旗下全球互聯(lián)品牌GlocalMe,正式亮相柏林國(guó)際消費(fèi)電子展(IFA 2025),重磅推出融合企...

關(guān)鍵字: LOCAL LM BSP 移動(dòng)網(wǎng)絡(luò)

深圳2025年9月9日 /美通社/ -- PART 01活動(dòng)背景 當(dāng)技術(shù)的鋒芒刺穿行業(yè)壁壘,萬(wàn)物互聯(lián)的生態(tài)正重塑產(chǎn)業(yè)疆域。2025年,物聯(lián)網(wǎng)產(chǎn)業(yè)邁入?"破界創(chuàng)造"與"共生進(jìn)化"?的裂變時(shí)代——AI大模型消融感知邊界,...

關(guān)鍵字: BSP 模型 微信 AIOT

"出海無(wú)界 商機(jī)無(wú)限"助力企業(yè)構(gòu)建全球競(jìng)爭(zhēng)力 深圳2025年9月9日 /美通社/ -- 2025年8月28日, 由領(lǐng)先商業(yè)管理媒體世界經(jīng)理人攜手環(huán)球資源聯(lián)合主辦、深圳?前海出海e站通協(xié)辦的...

關(guān)鍵字: 解碼 供應(yīng)鏈 AI BSP

柏林2025年9月9日 /美通社/ -- 柏林當(dāng)?shù)貢r(shí)間9月6日,在2025德國(guó)柏林國(guó)際電子消費(fèi)品展覽會(huì)(International Funkausstellung...

關(guān)鍵字: 掃地機(jī)器人 耳機(jī) PEN BSP

武漢2025年9月9日 /美通社/ -- 7月24日,2025慧聰跨業(yè)品牌巡展——湖北?武漢站在武漢中南花園酒店隆重舉辦!本次巡展由慧聰安防網(wǎng)、慧聰物聯(lián)網(wǎng)、慧聰音響燈光網(wǎng)、慧聰LED屏網(wǎng)、慧聰教育網(wǎng)聯(lián)合主辦,吸引了安防、...

關(guān)鍵字: AI 希捷 BSP 平板

上海2025年9月9日 /美通社/ -- 9月8日,移遠(yuǎn)通信宣布,其自研藍(lán)牙協(xié)議棧DynaBlue率先通過(guò)藍(lán)牙技術(shù)聯(lián)盟(SIG)BQB 6.1標(biāo)準(zhǔn)認(rèn)證。作為移遠(yuǎn)深耕短距離通信...

關(guān)鍵字: 藍(lán)牙協(xié)議棧 移遠(yuǎn)通信 COM BSP

上海2025年9月9日 /美通社/ -- 為全面落實(shí)黨中央、國(guó)務(wù)院和上海市委、市政府關(guān)于加快發(fā)展人力資源服務(wù)業(yè)的決策部署,更好發(fā)揮人力資源服務(wù)業(yè)賦能百業(yè)作用,8月29日,以"AI智領(lǐng) HR智鏈 靜候你來(lái)&quo...

關(guān)鍵字: 智能體 AI BSP 人工智能

北京2025年9月8日 /美通社/ -- 近日,易生支付與一汽出行達(dá)成合作,為其自主研發(fā)的"旗馭車(chē)管"車(chē)輛運(yùn)營(yíng)管理平臺(tái)提供全流程支付通道及技術(shù)支持。此次合作不僅提升了平臺(tái)對(duì)百余家企業(yè)客戶(hù)的運(yùn)營(yíng)管理效率...

關(guān)鍵字: 一汽 智能化 BSP SAAS

深圳2025年9月8日 /美通社/ -- 晶泰科技(2228.HK)今日宣布,由其助力智擎生技制藥(PharmaEngine, Inc.)發(fā)現(xiàn)的新一代PRMT5抑制劑PEP0...

關(guān)鍵字: 泰科 AI MT BSP

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會(huì)、上海市發(fā)展和改革委員會(huì)、上海市商務(wù)委員會(huì)、上海市教育委員會(huì)、上海市科學(xué)技術(shù)委員會(huì)指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會(huì)展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動(dòng)駕駛
關(guān)閉