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

📄 receving_wnv_07.asm

📁 红外线万能接收机
💻 ASM
📖 第 1 页 / 共 4 页
字号:
          SNZ     CONTROL_FLAG.7           ;; *** KEY_ON ****
          JMP     KEYSCAN_EXIT             ;;
                                           ;;
          CLR     EMI                      ;;
         CALL     DELAY_20MS               ;;
          SET     EMI                      ;;
                                           ;;
           SZ     PA.3                     ;;
          JMP     KEYSCAN_FORMAT           ;;
                                           ;;
          CLR     COUNT_MODE               ;;
          SET     SCAN_TY                  ;;
;;        SET     KBOD_ON                  ;;
          SET     TON                      ;;
MODE_ELARN:                                ;;
          SET     PA3                      ;; *** I/O DELECT ***
           SZ     PA.3                     ;;
          JMP     RELAY_MODE               ;;
          MOV     A,             008AH     ;;  B9
          SUB     A,        COUNT_MODE     ;;
           SZ     CY                       ;;
          JMP     KEYSCAN_EXIT             ;;
                                           ;;
          CLR     SCAN_TY                  ;; *** ELAN_OK_IN ***
          CLR     COUNT_MODE               ;;
          CLR     COUNT_LEDG               ;;
          CLR     COUNT_ELARN              ;;
                                           ;;
          CLR     KBOD_ON                  ;; 
          CLR     SCAN_ON                  ;;
          SET     ELAN_ON                  ;;
          SET     DATA_ON                  ;;
          JMP     KEYSCAN_EXIT             ;;
;;.........................................;;
RELAY_MODE:                                ;;
          CLR     SCAN_TY                  ;;
           SZ     RELY_ST                  ;;
          JMP     MODE_OFF                 ;;
          SET     PA2                      ;;
          SET     RELY_ST                  ;;
          JMP     KEYSCAN_DELAY150MS       ;;
MODE_OFF:                                  ;;
          CLR     PA2                      ;;
          CLR     RELY_ST                  ;;
                                           ;;
KEYSCAN_DELAY150MS:                        ;;
          CLR     EMI                      ;;
          CLR     PB1                      ;;
          CLR     LEDG_ST                  ;;
          CLR     COUNT_MODE               ;;
          CLR     COUNT_LEDG               ;;
          CLR     COUNT_ELARN              ;;
         CALL     DELAY_50MS               ;;
         CALL     DELAY_50MS               ;;
         CALL     DELAY_50MS               ;;
          SET     EMI                      ;;
          JMP     KEYSCAN_EXIT             ;; 
;;.........................................;;
MODE_EXIT:                                 ;;
          CLR     SCAN_TY                  ;;
KEYSCAN_FORMAT:                            ;;
          SET     KBOD_ON                  ;;
KEYSCAN_EXIT:                              ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
CONTROL_ELARN:                             ;;
          NOP                              ;;
          SNZ     CONTROL_FLAG.1           ;;
          JMP     CONTROL_ELARN_EXIT       ;;
                                           ;;
          SET     EMI                      ;;
          MOV     A,             001EH     ;;
          SUB     A,        COUNT_LEDG     ;;
           SZ     CY                       ;;
          JMP     CONTROL_ELARN_EXIT       ;;
                                           ;;
          CLR     COUNT_LEDG               ;;
          INC     COUNT_ELARN              ;;
           SZ     LEDG_ST                  ;;
          JMP     LEDG_OFF                 ;;
LEDG_ON:                                   ;;
          SET     PB1                      ;;
          SET     LEDG_ST                  ;;
          JMP     ELARN_LED                ;;
LEDG_OFF:                                  ;;
          CLR     PB1                      ;;
          CLR     LEDG_ST                  ;;
                                           ;;
ELARN_LED:                                 ;;
          MOV     A,             0078H     ;; 
          SUB     A,        COUNT_ELARN    ;;
           SZ     CY                       ;;
          JMP     CONTROL_ELARN_EXIT       ;;
                                           ;;
          CLR     PB1                      ;;
          CLR     LEDG_ST                  ;;
          CLR     COUNT_LEDG               ;;
          CLR     COUNT_ELARN              ;;
                                           ;;
          SET     SCAN_ON                  ;;
          CLR     ELAN_ON                  ;;
          CLR     EXTE_ON                  ;;
          CLR     REIN_ON                  ;;
          SET     DATA_ON                  ;;
          CLR     CMPA_ON                  ;;         
                                           ;;
CONTROL_ELARN_EXIT:                        ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
EXTEMBER_END:                              ;;
          NOP                              ;;
           SZ     CONTROL_FLAG.3           ;;
          JMP     EXTEMBER_END_EXIT        ;;
EXTEMBER_TIAO:                             ;;
          MOV     A,             0053H     ;;
          MOV     COUNT_EXT,         A     ;;
          SNZ     PA.1                     ;;
          JMP     EXTEMBER_END_EXIT        ;;
EXTEMBER_LOOP0:                            ;;
          CLR     EMI                      ;;
         CALL     DELAY_50US               ;;
          SET     EMI                      ;;
          SDZ     COUNT_EXT                ;;
          JMP     EXTEMBER_LOOP0           ;;
          SET     PC0                      ;;
          SET     REIN_ON                  ;;
          CLR     EIF                      ;;
;         SET     EEI                      ;;
          CLR     EEI                      ;;
          SET     EMI                      ;;
EXTEMBER_END_EXIT:                         ;;
          NOP                              ;;
RET                                        ;;
                                           ;;
;;*****************************************;;
RECEVING_DATA:                             ;;
          NOP                              ;;
          SNZ     CONTROL_FLAG.3           ;;
          JMP     RECEVING_DATA_EXIT       ;;
          SNZ     CONTROL_FLAG.4           ;;
          JMP     RECEVING_DATA_EXIT       ;;
           SZ     PA1                      ;;
          JMP     RECEVING_DATA_EXIT       ;; *** IR_CHK ********
                                           ;;
          MOV     A,           0060H       ;; *** START_CHK *****FA/70=1000US
          MOV     COUNT_LOOPT,     A       ;;
START_CHK:                                 ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
          NOP                              ;;
           SZ     PA1                      ;;
          JMP     RECEVING_DATA_EXIT       ;;
          SDZ     COUNT_LOOPT              ;;
          JMP     START_CHK                ;;
                                           ;;
          MOV     A,             000FH     ;;
          MOV     COUNT_LOOPT,       A     ;;
          MOV     A,             0050H     ;;
          MOV     MP0,               A     ;;
  
DELE_DATA:                                 ;;
          NOP                              ;;
          CLR     IAR0                     ;;
          INC     MP0                      ;;
          SDZ     COUNT_LOOPT              ;;
          JMP     DELE_DATA                ;;
                                           ;;
          CLR     LEDR_ON                  ;;
          CLR     TMRC_ST                  ;;
          CLR     TMR                      ;;
          SET     TON                      ;;
          SET     EMI                      ;;
WAIT_HIG:                                  ;;
          NOP                              ;;
           SZ     TMRC_ST                  ;;
          JMP     RECEVING_DATA_EXIT       ;;
          NOP                              ;;
          SNZ     PA1                      ;;
          JMP     WAIT_HIG                 ;;
                                           ;;
          CLR     LEDR_ON                  ;;
          CLR     TMRC_ST                  ;;
          CLR     TMR                      ;;
          SET     TON                      ;;
          SET     EMI                      ;;
WAIT_LOW:                                  ;;
          NOP                              ;;
           SZ     TMRC_ST                  ;;
          JMP     RECEVING_DATA_EXIT       ;;
          NOP                              ;;
           SZ     PA1                      ;;
          JMP     WAIT_LOW                 ;;
                                           ;;
          MOV     A,             0001H     ;;
          MOV     DELAY_R0,          A     ;;
          MOV     A,             0050H     ;;
          MOV     MP0,               A     ;;
          MOV     A,             0060H     ;;
          MOV     MP1,               A     ;;
          MOV     A,             000AH     ;;
          MOV     DATAH,             A     ;;
BIT_EXIT:                                  ;;
          MOV     A,             0004H     ;;
          MOV     DATAL,             A     ;;
                                           ;; *** DATA_LOW ***
RECEVING_LOOP0:                            ;;
          MOV     A,             0001H     ;;
          MOV     DATA_RECHH,        A     ;;
          CLR     DATA_RECHL               ;;
          MOV     A,             0004H     ;;
          MOV     COUNT_DATA,        A     ;;
WAIT_DATAH:                                ;;
          NOP                              ;;
          CLR     AZ                       ;;
          MOV     A,          DELAY_R0     ;;
         ADDM     A,        DATA_RECHL     ;;
          CLR     ACC                      ;;
         ADCM     A,        DATA_RECHH     ;;
           SZ     AZ                       ;;
          JMP     RECEVING_END             ;;
          NOP                              ;;
          SNZ     PA1                      ;;
          JMP     WAIT_DATAH               ;;
          SDZ     COUNT_DATA               ;;
          JMP     WAIT_DATAH               ;;
                                           ;;
          MOV     A,             0001H     ;;
          MOV     DATA_RECLH,        A     ;; *** DATA_HIG ***
          CLR     DATA_RECLL               ;;
          MOV     A,              0003H    ;;
          MOV     COUNT_DATA,         A    ;;
WAIT_DATAL:                                ;;
          NOP                              ;;
          CLR     AZ                       ;;
          MOV     A,          DELAY_R0     ;;
         ADDM     A,        DATA_RECLL     ;;
          CLR     ACC                      ;;
         ADCM     A,        DATA_RECLH     ;;
           SZ     AZ                       ;;
          JMP     RECEVING_END             ;;
          NOP                              ;;
           SZ     PA1                      ;;
          JMP     WAIT_DATAL               ;;
          SDZ     COUNT_DATA               ;;
          JMP     WAIT_DATAL               ;;
                                           ;; *** STAND ***
SELECT_BIT:                                ;;
          NOP                              ;;
          CLR     CY                       ;;
          DEC     DATA_RECHH               ;;
          DEC     DATA_RECLH               ;;
           SZ     LEDR_ON                  ;;
          JMP     SELECT_DATA01H           ;;
          MOV     A,        DATA_RECHH     ;;
          MOV     CHANHH,            A     ;;
          MOV     PASSHH,            A     ;;
          MOV     A,        DATA_RECHL     ;;
          MOV     CHANHL,            A     ;;
          MOV     PASSHL,            A     ;;
          MOV     A,        DATA_RECLH     ;;
          MOV     CHANLH,            A     ;;
          MOV     PASSLH,            A     ;;
          MOV     A,        DATA_RECLL     ;;
          MOV     CHANLL,            A     ;;
          MOV     PASSLL,            A     ;;

⌨️ 快捷键说明

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