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

📄 receving_wnv_07.asm

📁 红外线万能接收机
💻 ASM
📖 第 1 页 / 共 4 页
字号:
          CLR     CY                       ;;
          RRC     PASSHH                   ;;
          RRC     PASSHL                   ;;
          CLR     PASSHH.7                 ;;
          CLR     CY                       ;;
          RRC     PASSLH                   ;;
          RRC     PASSLL                   ;;
          CLR     PASSLH.7                 ;;
          SET     LEDR_ON                  ;;
;;=========================================;;
SELECT_DATA01H:                            ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECHL     ;;
          SUB     A,            CHANHL     ;;
          MOV     A,        DATA_RECHH     ;;
          SBC     A,            CHANHH     ;;
           SZ     CY                       ;;
          JMP     COMDATAH                 ;;

          CLR     CY                       ;;
          MOV     A,            CHANHL     ;;
          SUB     A,        DATA_RECHL     ;;
          MOV     DATA_RECHL,        A     ;;
          MOV     A,            CHANHH     ;;
          SBC     A,        DATA_RECHH     ;;
          MOV     DATA_RECHH,        A     ;;
          JMP     DATA_HH                  ;;
                                           ;;
COMDATAH:                                  ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECHL     ;;
          SUB     A,            CHANHL     ;;
          MOV     DATA_RECHL,        A     ;;
          MOV     A,        DATA_RECHH     ;;
          SBC     A,            CHANHH     ;;
          MOV     DATA_RECHH,        A     ;;
DATA_HH:                                   ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECHL     ;;
          SUB     A,            PASSHL     ;;
          MOV     A,        DATA_RECHH     ;;
          SBC     A,            PASSHH     ;;
           SZ     CY                       ;;
          JMP     FANWEI_W                 ;; *** W ***
          NOP                              ;; *** N ***
                                           ;;
SELECT_DATA01L:                            ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECLL     ;;
          SUB     A,            CHANLL     ;;
          MOV     A,        DATA_RECLH     ;;
          SBC     A,            CHANLH     ;;
           SZ     CY                       ;;
          JMP     COMDATAL                 ;;
                                           ;;
          CLR     CY                       ;;
          MOV     A,            CHANLL     ;;
          SUB     A,        DATA_RECLL     ;;
          MOV     DATA_RECLL,        A     ;;
          MOV     A,            CHANLH     ;;
          SBC     A,        DATA_RECLH     ;;
          MOV     DATA_RECLH,        A     ;;
          JMP     DATA_LL                  ;;
                                           ;;
COMDATAL:                                  ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECLL     ;;
          SUB     A,            CHANLL     ;;
          MOV     DATA_RECLL,        A     ;;
          MOV     A,        DATA_RECLH     ;;
          SBC     A,            CHANLH     ;;
          MOV     DATA_RECLH,        A     ;;
DATA_LL:                                   ;;
          CLR     CY                       ;;
          MOV     A,        DATA_RECLL     ;;
          SUB     A,            PASSLL     ;;
          MOV     A,        DATA_RECLH     ;;
          SBC     A,            PASSLH     ;;
           SZ     CY                       ;;
          JMP     FANWEI_W                 ;; *** W ***  
          SET     IAR0.4                   ;;
          JMP     FANWEI_EXIT              ;;
FANWEI_W:                                  ;;
          CLR     IAR0.4                   ;;
;;.........................................;;
FANWEI_EXIT:                               ;;
           RR     IAR0                     ;;
          CLR     IAR0.4                   ;;
          SDZ     DATAL                    ;;
          JMP     RECEVING_LOOP0           ;;
          CLR     IAR0.7                   ;;
          CLR     IAR0.6                   ;;
          CLR     IAR0.5                   ;;
          INC     MP0                      ;;
          SDZ     DATAH                    ;;
          JMP     BIT_EXIT                 ;;
RECEVING_END:                              ;;
          CLR     DATA_ON                  ;;
          SET     SCAN_ON                  ;;
          CLR     EXTE_ON                  ;;
          CLR     REIN_ON                  ;;
          SET     CMPA_ON                  ;;
                                           ;;
          SNZ     CONTROL_FLAG.1           ;;
          JMP     RECEVING_DATA_EXIT       ;;
          MOV     A,             000AH     ;;
          SUB     A,             DATAH     ;;
          MOV     COUNT_LOOPW,       A     ;;
          DEC     COUNT_LOOPW              ;;
          CLR     PB1                      ;;
          CLR     LEDG_ST                  ;;
          CLR     DATA_ON                  ;;
          CLR     ELAN_ON                  ;;
          CLR     CMPA_ON                  ;;
          SET     RITE_ON                  ;;
          SET     EWEN_ON                  ;;
          MOV     A,             000AH     ;;
          MOV     COUNT_LOOPT,       A     ;;
          MOV     A,             0050H     ;;
          MOV     MP0,               A     ;;
          MOV     A,             0060H     ;;
          MOV     MP1,               A     ;;
COPY_DATA:                                 ;;
          MOV     A,              IAR0     ;;
          MOV     IAR1,              A     ;;
          INC     MP0                      ;;
          INC     MP1                      ;;
          SDZ     COUNT_LOOPT              ;;
          JMP     COPY_DATA                ;;
          NOP                              ;;
RECEVING_DATA_EXIT:                        ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
COMPAER_DATA:                              ;;
          NOP                              ;;
          SNZ     CONTROL_FLAG.5           ;;
          JMP     COMPAER_DATA_EXIT        ;;
                                           ;;
          MOV     A,             0050H     ;;
          MOV     MP0,               A     ;;
          MOV     A,             0060H     ;;
          MOV     MP1,               A     ;;
          MOV     A,             000AH     ;;
          MOV     COUNT_LOOPN,       A     ;;
COMPARE_LOOP0:                             ;;
          MOV     A,              IAR0     ;;
          SUB     A,              IAR1     ;;
           SZ     ACC                      ;;
          JMP     COMPAER__NG              ;;
          INC     MP0                      ;;
          INC     MP1                      ;;
          SDZ     COUNT_LOOPN              ;;
          JMP     COMPARE_LOOP0            ;;
                                           ;;
          SET     PA0                      ;;
          SET     LEDR_ST                  ;;
          CLR     DATA_ON                  ;;
           SZ     RELY_ST                  ;;
          JMP     RELAY_OFF                ;;
RELAY_ON:                                  ;;
          SET     PA2                      ;;
          SET     RELY_ST                  ;;
          JMP     COMPAER_DATA_EXIT        ;;
RELAY_OFF:                                 ;;
          CLR     PA2                      ;;
          CLR     RELY_ST                  ;;
COMPAER__NG:                               ;;
          CLR     REIN_ON                  ;;
COMPAER_DATA_EXIT:                         ;;
          CLR     CMPA_ON                  ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
CONTROL_TIMER:                             ;;
          NOP                              ;;      
           SZ     CONTROL_FLAG.4           ;;
          JMP     NCONTROL_TIMER_EXIT      ;;
CONTROL_TIAO:                              ;;
          SNZ     PA1                      ;;
          JMP     NCONTROL_TIMER_EXIT      ;;

;          SNZ     LEDR_ST                  ;;
;          JMP     WAIT_TIMER               ;;
;          MOV     A,             003EH     ;; *** 50MS ***
;          MOV     COUNT_LOOPW,       A     ;;
;NTIMER_LOOP1:                              ;;
;          CLR     EMI                      ;;
;         CALL     DELAY_200US              ;;
;         CALL     DELAY_200US              ;;
;         CALL     DELAY_200US              ;;
;         CALL     DELAY_200US              ;;
;          SET     EMI                      ;;
;          SNZ     PA1                      ;;
;          JMP     NCONTROL_TIMER_EXIT0     ;;
;          SDZ     COUNT_LOOPW              ;;
;          JMP     NTIMER_LOOP1             ;;
;          CLR     PA0                      ;;
;          CLR     LEDR_ST                  ;;
                                           ;;
WAIT_TIMER:                                ;;
          MOV     A,             00FAH     ;;
          MOV     COUNT_LOOPT,       A     ;;
NTIMER_LOOP0:                              ;;
          NOP                              ;;
          CLR     EMI                      ;;
;         CALL     DELAY_200US              ;;
         CALL     DELAY_200US              ;;
         CALL     DELAY_200US              ;;
         CALL     DELAY_200US              ;;
          SET     EMI                      ;;
          SNZ     PA1                      ;;
          JMP     NCONTROL_TIMER_EXIT0     ;;
          SDZ     COUNT_LOOPT              ;;
          JMP     NTIMER_LOOP0             ;;
                                           ;;
          SET     DATA_ON                  ;;
          CLR     PA0                      ;;
          CLR     LEDR_ST                  ;;
NCONTROL_TIMER_EXIT0:                      ;;
          SET     EMI                      ;;
NCONTROL_TIMER_EXIT:                       ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
;;                EEPRON_CONTROLS          ;;
;;*****************************************;;
EEPROM_READ:                               ;;
          SNZ     DATA_FLAG.1              ;;
          JMP     EEPROM_READ_EXIT         ;;
                                           ;;
          MOV     A,             000FH     ;;
          MOV     COUNT_LOOPT,       A     ;;
          MOV     A,             0060H     ;;
          MOV     MP0,               A     ;;
DELE_DATA60:                               ;;
          NOP                              ;;
          CLR     IAR0                     ;;
          INC     MP0                      ;;
          SDZ     COUNT_LOOPT              ;;
          JMP     DELE_DATA60              ;;
          NOP                              ;;
;;.........................................;;
          SET     BP0                      ;;
          CLR     EMI                      ;;
          MOV     A,             0060H     ;; *** WRITE_DATA ***
          MOV     MP0,               A     ;;
          MOV     A,             000AH     ;; *** WRITE_LOOP=6 *
          MOV     COUNT_LOOPEE,      A     ;;
          MOV     A,             0000H     ;; *** FIRST_ADDR ***
          MOV     EEADDR,            A     ;;
                                           ;;
READ_LOOP0:                                ;;
          SET     CS                       ;; *** CS=1 ****
                                           ;;
          MOV     A,             cREAD     ;; *** OP_CODE ***
          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                    ;;

⌨️ 快捷键说明

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