• <rp id="wfxtb"><acronym id="wfxtb"></acronym></rp><em id="wfxtb"></em><dd id="wfxtb"><big id="wfxtb"><video id="wfxtb"></video></big></dd>
  • <rp id="wfxtb"></rp>

    <mark id="wfxtb"><center id="wfxtb"></center></mark>

      <rp id="wfxtb"><span id="wfxtb"><u id="wfxtb"></u></span></rp>

      <rp id="wfxtb"><object id="wfxtb"></object></rp>

      注意:訪問本站需要Cookie和JavaScript支持!請設置您的瀏覽器! 打開購物車 查看留言付款方式聯系我們
      初中電子 單片機教材一 單片機教材二
      搜索上次看見的商品或文章:
      商品名、介紹 文章名、內容
      首頁 電子入門 學單片機 免費資源 下載中心 商品列表 象棋在線 在線繪圖 加盟五一 加入收藏 設為首頁
      本站推薦:
      單鍵學習型遙控器
      文章長度[14517] 加入時間[2007/2/8] 更新時間[2025/4/23 23:08:00] 級別[0] [評論] [收藏]
       
      單鍵遙控碼學習控制器電路原理圖
            ;**********************************************************************
              ;*                                                                   *
            ;*           KEYX0  P1.0  * 1             40 *  VCC                   *
            ;*           KEYX1  P1.1  * 2             39 *  P0.0  KEYY0           *
            ;*           KEYX2  P1.2  * 3             38 *  P0.1  KEYY1           *
            ;*           KEYX3  P1.3  * 4             37 *  P0.2  KEYY2           *
            ;*           SCL    P1.4  * 5             36 *  P0.3  KEYY3           *
            ;*           SDA    P1.5  * 6             35 *  P0.4  KEYY4           *
            ;*       STUDYLAMP  P1.6  * 7             34 *  P0.5  KEYY5           *
            ;*            LAMP  P1.7  * 8             33 *  P0.6  KEYY6           *
            ;*                  RST   * 9             32 *  P0.7  KEYY7           *
            ;*            RXD   P3.0  * 10   MCS-51   31 *  EA    VDD             *
            ;*            TXD   P3.1  * 11            30 *  ALE                   *
            ;*   STUDYKEY INT0  P3.2  * 12            29 *  PSEN                  *
            ;*            INT1  P3.3  * 13            28 *  P2.7  A15  DEV7       *
            ;*   REMOTEIN  T0   P3.4  * 14            27 *  P2.6  A14  DEV6       *
            ;*   REMOTEOUT T1   P3.5  * 15            26 *  P2.5  A13  DEV5       *
            ;*            WR    P3.6  * 16            25 *  P2.4  A12  DEV4       *
            ;*            RD    P3.7  * 17            24 *  P2.3  A11  DEV3       *
            ;*                 XTAL2  * 18            23 *  P2.2  A10  DEV2       *
            ;*                 XTAL1  * 19            22 *  P2.1  A9   DEV1       *
            ;*                   VSS  * 20            21 *  P2.0  A8   DEV0       *
            ;*                                                                    *
            ;**********************************************************************
            ;
            ;
                    SPBASE          EQU     70H ;堆;
                    IEVAL           EQU     00H     ;關所有中斷
                    MEMBASE         EQU     08H ;工作寄存器基址
                    MEMS            EQU     67H ;工作寄存器個數
            ;
            ;
                    BITNMB          EQU     08H ;一個字節包含八個位
            ;
                    KEYFUNFLAG      EQU     80H     ; 鍵功能索引
                    KEYFUNNMB       EQU     81H     ;鍵功能號
                    KEYFUNRW        EQU     82H     ;遙控信號讀寫標志
                    READFLAG        EQU     88H     ;讀標記
                    WITERFLAG       EQU     99H     ;寫標記
            ;
                    TMPHADDR        EQU     08H     ;讀入高電平存放首址
                    TMPLADDR        EQU     90H     ;讀入低電平存放首址
                    READTIME        EQU     00H     ;讀入數據指令時間
            ;       LOWH            EQU     R4      ;起始位存放高地址
            ;       LOWL            EQU     R5      ;起始位存放低地址
                    STUDYLAMP       EQU     P1.6    ;學習指示燈
                    LAMP            EQU     P1.7    ;未定義指示燈
                    STUDYKEY        EQU     P3.2    ;學習鍵
            ;
                    REMOTEIN        EQU     P3.4    ;遙控輸入
                    REMOTEOUT       EQU     P3.5    ;遙控輸出
                    DELAYCONUT      EQU     30H     ;延時值
                    DELAYCONUT0     EQU     0FFH    ;延時值
                    T1COUNT         EQU     0F3H    ;T1計數值
                    TMODVAL         EQU     22H
                    TCONVAL         EQU     41H
                    PCONVAL         EQU     00H
                    T2CONVAL        EQU     00H
                    SCONVAL         EQU     0F8H
                    IPVAL           EQU     01H
            ;
            ;
            ;*************************************
            ;*                                   *
            ;*      主程序和中斷程序入口         *
            ;*                                   *
            ;*************************************
                    ORG     0000H
                    AJMP    START
                    ORG     0003H
                    AJMP    INTEX0
                    ORG     000BH
                    RETI
                    ORG     0013H
                    RETI
                    ORG     001BH
                    AJMP    INTT1
                    ORG     0023H
                    RETI
                    ORG     002BH
                    RETI
            ;
            ;*************************************
            ;*                                   *
            ;*       初始化程序中的各變量        *
            ;*                                   *
            ;*************************************
            CLEARMEMIO:     CLR A
                    DEC     A
                    MOV     P0,A        ;清 I/O 口
                    MOV     P3,A
                    MOV     P1,A
                    CLR     A
                    MOV     P2,A
                    CLR     STUDYLAMP
                    CLR     LAMP
                    CLR     REMOTEOUT
                    SETB    REMOTEIN
                    MOV     R0,#MEMBASE ;清工作寄存器
                    MOV     R1,#MEMS
            CLEARMEM:       MOV     @R0,A
                    INC     R0
                    DJNZ    R1,CLEARMEM
                    MOV     R0,#KEYFUNRW
                    MOV     @R0,#READFLAG
                    MOV     SP,#SPBASE  ;設堆;
                    MOV     IE,#IEVAL       ;關所有中斷
                    MOV     IP,#IPVAL
                    MOV     TMOD,#TMODVAL
                    MOV     PCON,#PCONVAL
                    MOV     SCON,#SCONVAL
                    MOV     TH1,#T1COUNT
                    MOV     TL1,#T1COUNT
                    SETB    EX0
                            SETB    EA
                            RET
            ;
            ;*************************************
            ;*                                   *
            ;*      主程序                       *
            ;*                                   *
            ;*************************************
            START:          LCALL   CLEARMEMIO      ;初始化
            ;
            MAIN:           LCALL   KEYWORK         ;主體程序
                            LJMP    MAIN
                            NOP         ;PC值出錯處理
                            NOP
                            NOP
                            LJMP    START
            ;
            ;*************************************
            ;*                                   *
            ;*        T1中斷服務程序             *
            ;*                                   *
            ;*************************************
            INTT1:          CPL     REMOTEOUT        ;40kHZ
                            RETI
            ;
            ;*************************************
            ;*                                   *
            ;*              載波合成             *
            ;*                                   *
            ;*************************************
            REMOTETX:       MOV     R0,#TMPHADDR
                            MOV     R1,#TMPLADDR
                            SETB     LAMP
             ;              CPL     STUDYLAMP
                            MOV     A,R4
                            MOV     R3,A
                            JZ  LOWBACK
                            CLR A
                            DEC A
            LOWBACKTMP:     MOV     R2,A            ;起始位復原
            LOWBACKTMP0:    SETB    TR1
                    SETB    ET1
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            DJNZ    R2,LOWBACKTMP0
                            DJNZ    R3,LOWBACKTMP
            LOWBACK:        MOV     A,R5
                            MOV     R2,A
            LOWBACKTMP1:    SETB    TR1
                            SETB    ET1
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            DJNZ    R2,LOWBACKTMP1
            ;
            TMP0:           MOV     A,@R0           ;高電平處理
                            MOV     R2,A
            ;               CPL     LAMP
            TMP1:           CLR     TR1
                            CLR     ET1
                            CLR     REMOTEOUT     ;
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            DJNZ    R2,TMP1
                            INC     R0
            TMPP:           MOV     A,@R1
                            MOV     R2,A
             ;              CPL     LAMP
            TMP2:           SETB    TR1              ;低電平處理
                            SETB    ET1
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            DJNZ    R2,TMP2
                            INC     R1
                            MOV     A,@R1
                            JZ      OUT
                            AJMP    TMP0
            OUT:            CLR     TR1
                            CLR     ET1
                            CLR     LAMP
                            CLR     REMOTEOUT
                            RET
            ;
            ;*************************************
            ;*     遙控數據讀取 INT0中斷程序     *
            ;*     高電平存TMPHADDR為首址RAM     *
            ;*     低電平存TMPLADDR為首址RAM     *
            ;*************************************
            INTEX0:         CLR     ET1
                            CLR     TR1
                            CLR     EX0
                            CLR     EA
                            SETB    STUDYLAMP
                            CLR     LAMP
                            MOV     R0,#TMPHADDR
                            MOV     R1,#TMPLADDR
                            CLR     A
                            MOV     DPH,A
                            MOV     DPL,A
            READHEAD:       JNB     REMOTEIN,READDATA   ;尋找起始位
                            INC     DPTR
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            AJMP    READHEAD
            ;
            READDATA:       CJNE    A,DPH,READDATA00
                            MOV     DPH,A
                            AJMP    READHEAD
            ;
            READDATA00:     MOV     R3,DPH
                            MOV     DPH,A
                            MOV     DPL,A
            READLOOP01:     JB      REMOTEIN,READDATA02     ;讀起始位
                            INC     DPTR
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            AJMP    READLOOP01
            ;
            READDATA02:     CLR     LAMP
                            MOV     R4,DPH
                            MOV     R5,DPL                ;存起始位
                            MOV     DPH,#00H
                            MOV     DPL,#READTIME
                            AJMP    READLOOP1
            ;
            READDATA1:      SETB    LAMP                    ;存高電平
                            MOV     @R0,DPL
                            INC     R0
                            MOV     DPL,#READTIME
                            MOV     DPH,#00H
            READLOOP0:      JB      REMOTEIN,READDATA2      ;讀低電平
                            INC     DPTR
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            AJMP    READLOOP0
            ;
            READDATA2:      CLR     LAMP                    ;存低電平
                            MOV     @R1,DPL
                            INC     R1
                            MOV     DPL,#READTIME
                            MOV     DPH,#00H
            READLOOP1:      JNB     REMOTEIN,READDATA3      ;讀高電平
                            INC     DPTR           
                    NOP
                            NOP
                            NOP
                    NOP
                    NOP
                    NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            NOP
                            AJMP    READLOOP1
            ;
            READDATA3:      CLR     A
                            CJNE    A,DPH,READDATA4
                            AJMP    READDATA1
            ;
            READDATA4:      MOV     @R0,A
                            MOV     @R1,A
            ;
                            SETB    LAMP
                            CLR     STUDYLAMP
                            SETB    REMOTEIN
            READEND:        JNB     STUDYKEY,READEND
                            MOV     R0,#KEYFUNRW
                            MOV     @R0,#WITERFLAG
                            SETB    EX0
                            SETB    EA
                            RETI
            ;
            ;*************************************
            ;*                                   *
            ;*          鍵工作子程序             *
            ;*                               *
            ;*************************************
            KEYWORK:        SETB   P1.0
                            JNB    P1.0,KEY0
            KEYOUT:         RET
            ;
            KEY0:           LCALL   DL10MS           ;延時去抖動
                            JB      P1.0,KEYOUT
                            LJMP    REMOTETX
            ;
            ;*************************************
            ;*                                   *
            ;*      延時 255 X 2 = 512 us       *
            ;*                                   *
            ;*************************************
            DELAY:          MOV     R0,#DELAYCONUT0
            DELAY1:         DJNZ    R0,DELAY1
                            RET
            ;
            ;*************************************
            ;*                                   *
            ;*             延時25 ms             *
            ;*                                   *
            ;*************************************
            DL10MS:         MOV     R1,#DELAYCONUT
            DL10MS1:        LCALL   DELAY
                            DJNZ    R1,DL10MS1
                    RET
            ;
            ;
                    END
      
      
      1、 本站不保證以上觀點正確,就算是本站原創作品,本站也不保證內容正確。
      2、如果您擁有本文版權,并且不想在本站轉載,請書面通知本站立即刪除并且向您公開道歉! 以上可能是本站收集或者轉載的文章,本站可能沒有文章中的元件或產品,如果您需要類似的商品請 點這里查看商品列表!
      本站協議。 版權信息。 關于我們。 本站地圖。 營業執照。 發票說明。 付款方式。 聯系方式
      深圳市寶安區西鄉五壹電子商行——粵ICP備16073394號-1;地址:深圳西鄉河西四坊183號;郵編:518102
      E-mail:51dz$163.com($改為@);Tel:(0755)27947428
      工作時間:9:30-12:00和13:30-17:30和18:30-20:30,無人接聽時可以再打手機13537585389
      91嫩草黄片动漫版