⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 receving_wnv_07.asm

📁 红外线万能接收机
💻 ASM
📖 第 1 页 / 共 4 页
字号:
                                           ;;
          MOV     A,             0000H     ;; *** RECE_DATA ***
          MOV     EE_BUF,            A     ;;
          MOV     A,             0008H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          MOV     A,            EE_BUF     ;;
          MOV     EEDATA,            A     ;;
                                           ;;
          CLR     CS                       ;;
                                           ;;
          MOV     A,            EEDATA     ;;
          MOV     IAR0,              A     ;;   
                                           ;;
          INC     EEADDR                   ;; *** FORMAT_POINT ***
          INC     MP0                      ;;
          SDZ     COUNT_LOOPEE             ;; *** DATA_LOOP ******
          JMP     READ_LOOP0               ;;
                                           ;;
          CLR     BP0                      ;;
          SET     EMI                      ;;
;;.........................................;;
EEPROM_READ_EXIT:                          ;;
          CLR     READ_ON                  ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
EEPROM_WRITE:                              ;;
          SNZ     DATA_FLAG.0              ;;
          JMP     EEPROM_WRITE_EXIT        ;;
;;.........................................;;
          SET     BP0                      ;;
          CLR     EMI                      ;;
          MOV     A,             0000H     ;; *** WRITE_ADDR ***
          MOV     EEADDR,            A     ;;
          MOV     A,             0060H     ;; *** SAVE_ADDR ****
          MOV     MP0,               A     ;;
          MOV     A,             000AH     ;; *** WRITE_LOOP=6 *
          MOV     COUNT_LOOPEE,      A     ;;
WRITE_LOOP0:                               ;;
                                           ;;
          MOV     A,              IAR0     ;;
          MOV     EEDATA,            A     ;;
          SET     CS                       ;;
                                           ;;
          MOV     A,            cWRITE     ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,             0003H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          MOV     A,            EEADDR     ;; *** SEND_ADDR ***
           RL     ACC                      ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,             0007H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          MOV     A,            EEDATA     ;; *** SEND_ADDR ***
          MOV     EE_BUF,            A     ;;
          MOV     A,             0008H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          CLR     CS                       ;;
         CALL     CHKBUSY                  ;;
                                           ;;
          INC     MP0                      ;;
          INC     EEADDR                   ;;
          SDZ     COUNT_LOOPEE             ;;
          JMP     WRITE_LOOP0              ;;
                                           ;;
          CLR     BP0                      ;;
          SET     EMI                      ;;
EEPROM_WRITE_EXIT:                         ;;
          CLR     RITE_ON                  ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
EWEN:                                      ;;
          SNZ     DATA_FLAG.2              ;;
          JMP     EWEN_EXIT                ;;
;;.........................................;;
          CLR     EMI                      ;;
          MOV     A,             0001H     ;;
          MOV     BP,                A     ;;
          MOV     A,             0040H     ;;
          MOV     MP1,               A     ;; 
                                           ;;
          SET     CS                       ;; *** CS=1 ***
                                           ;;
          MOV     A,             cEWEN     ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,             0003H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          MOV     A,             00C0H     ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,                 7     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          CLR     CS                       ;; *** CS=0 ***
          CLR     BP0                      ;;
          SET     EMI                      ;;
                                           ;;
EWEN_EXIT:                                 ;;
          CLR     EWEN_ON                  ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
EWDS:                                      ;;
          SET     CS                       ;;
          CLR     EMI                      ;;
                                           ;;
          MOV     A,             cEWDS     ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,             0003H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          MOV     A,             0000H     ;;
          MOV     EE_BUF,            A     ;;
          MOV     A,             0007H     ;;
          MOV     EE_CNT,            A     ;;
         CALL     SHIFT                    ;;
                                           ;;
          CLR     CS                       ;;
          SET     EMI                      ;;
                                           ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
SHIFT:                                     ;;
          MOV     A,             0001H     ;;
           SZ     EE_BUF.7                 ;; *** OUTPUT ***
          JMP     DI_HIG                   ;;
DI_LOW:                                    ;;
          CLR     DI                       ;;
          JMP     CK_HIG                   ;;
DI_HIG:                                    ;;
          SET     DI                       ;;
CK_HIG:                                    ;;
          SET     SK                       ;;
           RL     EE_BUF                   ;;
           SZ     DO                       ;;
          JMP     DO_HIG                   ;;
DO_LOW:                                    ;;
          CLR     EE_BUF.0                 ;;
          JMP     CK_LOW                   ;;
DO_HIG:                                    ;;
          SET     EE_BUF.0                 ;;
CK_LOW:                                    ;;
          CLR     SK                       ;;
                                           ;;
          SDZ     EE_CNT                   ;;
          JMP     SHIFT                    ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
CHKBUSY:                                   ;;
          SET     CS                       ;; *** CS=1 ***
          MOV     A,             00FFH     ;;
          MOV     COUNT_WAITEE,      A     ;;
CHKBUSY_WAIT:                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          SET     SK                       ;; *** CK=1 ***
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
           SZ     DO                       ;; *** DO?=1 **
          JMP     CHKBUSY_END              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          CLR     SK                       ;; *** SK=0 ***
          SDZ     COUNT_WAITEE             ;;
          JMP     CHKBUSY_WAIT             ;;
                                           ;;
CHKBUSY_END:                               ;;
          CLR     SK                       ;;
          CLR     CS                       ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
;;                DELAY_AREA               ;;
;;*****************************************;;
DELAY_50MS:                                ;; *** DELAY_20MS ***
          MOV     A,             0032H     ;;
          MOV     DELAY_R1,          A     ;;
D50MS_LOOP1:                               ;;
          MOV     A,             00FAH     ;;
          MOV     DELAY_R0,          A     ;;
D50MS_100P2:                               ;;
          NOP                              ;;
          SDZ     DELAY_R0                 ;;
          JMP     D50MS_100P2              ;;
          SDZ     DELAY_R1                 ;;
          JMP     D50MS_LOOP1              ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
DELAY_20MS:                                ;; *** DELAY_20MS ***
          MOV     A,             0014H     ;;
          MOV     DELAY_R1,          A     ;;
D20MS_LOOP1:                               ;;
          MOV     A,             00FAH     ;;
          MOV     DELAY_R0,          A     ;;
D20MS_100P2:                               ;;
          NOP                              ;;
          SDZ     DELAY_R0                 ;;
          JMP     D20MS_100P2              ;;
          SDZ     DELAY_R1                 ;;
          JMP     D20MS_LOOP1              ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
DELAY_200US:                               ;; *** DELAY_200US ***2F
          MOV     A,             002FH     ;;
          MOV     DELAY_R0,          A     ;;
D200US_LOOP0:                              ;;
          NOP                              ;;
          SDZ     DELAY_R0                 ;;
          JMP     D200US_LOOP0             ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
DELAY_50US:                                ;; *** DELAY_50US ***2F
          MOV     A,             000BH     ;;
          MOV     DELAY_R0,          A     ;;
D50US_LOOP0:                               ;;
          NOP                              ;;
          SDZ     DELAY_R0                 ;;
          JMP     D50US_LOOP0              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
;;                程序结束                 ;;
;;*****************************************;;

          END









⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -