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

📄 p762.asm.bak

📁 医院语音寻孚系统的汇编源代码
💻 BAK
📖 第 1 页 / 共 3 页
字号:

               RET
                   NOP
                   NOP

;************************************************************************
;
;       TIMER CLOCKING 4ms INT PROGRAM
;
;************************************************************************
TIMER_OUT:
           MOV TH1,#0E0H
              NOP
              NOP
           JB KEYS1,TEST_KEY2
              NOP
              NOP
           JB KEYS1,TEST_KEY2
              NOP
              NOP
           JB KEYS1,TEST_KEY2
              NOP
              NOP
           SETB SYS_STATUS.6

TEST_KEY2:
           JB KEYS2,TEST_WDT
              NOP
              NOP
           JB KEYS2,TEST_WDT
              NOP
              NOP
           JB KEYS2,TEST_WDT
              NOP
              NOP
           SETB SYS_STATUS.7

TEST_WDT:
              NOP
              NOP
           DJNZ SYS_DELAY1,TIMER1_RET
              NOP
              NOP
           DJNZ SYS_DELAY,TEST_OLD_DATA
                NOP
                NOP
           AJMP SYS_AGAIN
                NOP
                NOP

TEST_OLD_DATA:

           DJNZ OLD_DELAY,TIMER1_RET
           MOV OLD_DELAY,#010H           ; about 60 S

           PUSH ACC
           MOV  ACC,R0
           PUSH ACC
           MOV  ACC,R1
           PUSH ACC
           MOV  ACC,R2
           PUSH ACC

           MOV A,#OLD_BUFFER
           MOV R0,A
           INC A
           MOV R1,A
           MOV R2,#0FH

MOVE_OLD_BUF:
           MOV A,@R1
           MOV @R0,A
           INC R0
           INC R1
           DJNZ R2,MOVE_OLD_BUF
                NOP
                NOP
           MOV @R0,#0FFH

           POP ACC
           MOV R2,ACC
           POP ACC
           MOV R1,ACC
           POP ACC
           MOV R0,ACC
           POP ACC
TIMER1_RET:

            SETB ET1
            RETI

              NOP
              NOP

;************************************************************************
;
;            DATA INPUT INT0 PROGRAM
;
;************************************************************************
DATAIN_INT0:
              PUSH PSW
              PUSH ACC

              MOV ACC,R3
              PUSH ACC

              MOV ACC,R2
              PUSH ACC

              MOV ACC,R0
              PUSH ACC

              MOV R3,#00H

              CLR TR1
              MOV TH1,#00H
              MOV TL1,#00H
              CLR TF1
              SETB TR1

              CLR IE0
              MOV R2,#04H
                  NOP
                  NOP
IN_AGAIN:
              JNB TF1,IN_AGAIN_0
                  NOP
                  NOP
              CLR TF1
              DJNZ R2,IN_AGAIN_0
              AJMP IN_END
                  NOP
                  NOP
IN_AGAIN_0:
              JB JM_XIAOYIN,IN_END
                  NOP
                  NOP
              JB JM_DATA,IN_AGAIN
                  NOP
                  NOP
              JB JM_DATA,IN_AGAIN
                  NOP
                  NOP
              JB JM_DATA,IN_AGAIN
                  NOP
                  NOP

IN_AGAIN_1:
             JNB TF1,IN_AGAIN_2
                  NOP
                  NOP
              CLR TF1
              DJNZ R2,IN_AGAIN_2
              AJMP IN_END
                  NOP
                  NOP
IN_AGAIN_2:
              JB JM_XIAOYIN,IN_END
                  NOP
                  NOP
              JNB JM_DATA,IN_AGAIN_1
                  NOP
                  NOP
              JNB JM_DATA,IN_AGAIN_1
                  NOP
                  NOP
              JNB JM_DATA,IN_AGAIN_1
                  NOP
                  NOP

              INC R3

              MOV A,#63H
              XRL A,R3
              JZ IN_END
                  NOP
                  NOP
             AJMP IN_AGAIN
                  NOP
                  NOP

IN_END:
        ;  INC R3
              
                  NOP
                  NOP
           MOV A,R3
           XRL A,SENDING_DATA
           JZ INT0_END
               NOP
               NOP
           MOV R0,#HAO_BUFFER
           MOV R2,#10H

TEST_BUFFER:
              MOV A,@R0
              XRL A,R3
              JZ  INT0_END
              INC R0
                  NOP
              DJNZ R2,TEST_BUFFER
                  NOP
                  NOP

              MOV R0,#OLD_BUFFER
              MOV R2,#10H

TEST_OLD_BUFFER:
               MOV A,@R0
               XRL A,R3
               JZ  INT0_END
               INC R0
                  NOP
               DJNZ R2,TEST_OLD_BUFFER
                   NOP
                   NOP

               MOV R0,#HAO_BUFFER
               MOV R2,#10H

TEST_BUFFER2:
               MOV A,@R0
               INC A
               JZ TEST_BUF_END
               INC R0
                   NOP
               DJNZ R2,TEST_BUFFER2
                   NOP
                   NOP
               AJMP INT0_END
                   NOP
                   NOP
TEST_BUF_END:
               MOV A,R3
               MOV @R0,A

               INC DATA_NUM
                   NOP
                   NOP
INT0_END:
              POP ACC
              MOV R0,ACC
              POP ACC
              MOV R2,ACC
              POP ACC
              MOV R3,ACC
              POP ACC
              POP PSW
              SETB TF1
              CLR IE0
              SETB EX0
              RETI


;***************************************************************************
;
;           FREQ BUILD  PROGAME
;
;***************************************************************************
FREQ_BUILD:

             MOV ADD_93C_L,#00H
                   NOP
                   NOP
             ACALL READ_93C46
                   NOP
                   NOP
             MOV A,BYTE1_93C
             MOV FREQ_NH,A

             MOV A,BYTE2_93C
             MOV FREQ_NL,A

             MOV ADD_93C_L,#02H
                   NOP
                   NOP
             ACALL READ_93C46
                   NOP
                   NOP
             MOV A,BYTE1_93C
             MOV FREQ_A,A

;-----------------   OUT FREQ  19 BIT & 16 BIT TO VCO  --------------------


             CLR  VCO_SK
             CLR  VCO_DATA
             CLR  VCO_LE

             MOV R3,#010H
             DJNZ R3,$

;             MOV FREQ_NH,#01H
;             MOV FREQ_NL,#96H     ;  Work Frequence = 324.525 MHZ
;             MOV FREQ_A, #1CH     

             MOV R2,#013H        ;   FREQUENCE 19 BIT DATA 

FREQ_19BIT_OUT:
              CLR VCO_SK
              MOV ACC,FREQ_NH
              MOV C,ACC.2
              MOV VCO_DATA,C

              MOV R3,#08H
              DJNZ R3,$

              SETB VCO_SK

              CLR C
              MOV A,FREQ_A
              RLC A
              MOV FREQ_A,A

              MOV A,FREQ_NL
              RLC A
              MOV FREQ_NL,A

              MOV A,FREQ_NH
              RLC A
              MOV FREQ_NH,A

              DJNZ R2,FREQ_19BIT_OUT

              CLR VCO_SK
              CLR VCO_DATA
              SETB VCO_LE

              MOV R3,#10H
              DJNZ R3,$

             CLR VCO_LE

             MOV R2,#010H        ;   FREQUENCE 19 BIT DATA 
             MOV FREQ_NH,#088H
             MOV FREQ_NL,#01H

FREQ_16BIT_OUT:

             CLR VCO_SK

             CLR C
             MOV A,FREQ_NL
             RLC A
             MOV FREQ_NL,A

             MOV A,FREQ_NH
             RLC A
             MOV FREQ_NH,A
             MOV VCO_DATA,C

             MOV R3,#08H
             DJNZ R3,$

             SETB VCO_SK

             MOV R3,#08H
             DJNZ R3,$

             DJNZ R2,FREQ_16BIT_OUT

             CLR VCO_SK
             CLR VCO_DATA
             SETB VCO_LE

             MOV R3,#10H
             DJNZ R3,$

             CLR VCO_LE

             SETB EA
               NOP
               NOP
             RET
               NOP
               NOP

;**************************************************************************
;       
;       93C46   Read Program     16 BIT MODE
;      
;         Input :    ADD_93C_H             Address High  1 Bit
;                    ADD_93C_L             Address Low   8 Bit
;
;         Output :   BYTE1_93C             First BYTE   8 Bit
;                    BYTE2_93C             Secend BYTE  8 Bit
;
;                     AFFECTED : R1 - R5 , PSW , ACC
;**************************************************************************

READ_93C46:
                 NOP
                 NOP
             ACALL CS1_93C               ;  CS 1
                 NOP
                 NOP

             MOV R5,#03H
             MOV A,ADD_93C_L
             ANL A,#07EH
             MOV R4,A

             MOV R2,#0CH         ;   COMMAND 11 BIT
                 NOP
                 NOP

READ_ADDR46:
             CLR SK_93C          ;       SK LOW
             MOV ACC,R5
             MOV C,ACC.3
             MOV DI_93C,C

                 NOP
             SETB SK_93C         ;  SK HIGH

             MOV A,R4
             RLC A
             MOV R4,A
   
             MOV A,R5
             RLC A
             MOV R5,A
                 NOP
                 NOP
            DJNZ R2,READ_ADDR46
                 NOP
                 NOP
            MOV R2,#10H         ;   READ 16 BIT
                 NOP
                 NOP

READ_16BIT46:
             SETB SK_93C          ;       SK HIGH
                 NOP
                 NOP
                 NOP
                 NOP
             MOV R3,#05H
                 NOP
                 NOP
             CLR SK_93C         ;  SK LOW
                 NOP
READ_16BIT_1:
              MOV C,DO_93C
              RLC A
              MOV C,DO_93C
              MOV F0,C
              RLC A
              ANL A,#03H
                 NOP
                 NOP
              JZ READ_1BIT_OK
              XRL A,#03H
              JZ READ_1BIT_OK
                 NOP
                 NOP
              DJNZ R3,READ_16BIT_1
                 NOP
                 NOP

READ_1BIT_OK:
              MOV C,F0
              MOV A,BYTE2_93C
              RLC A
              MOV BYTE2_93C,A

              MOV A,BYTE1_93C
              RLC A
              MOV BYTE1_93C,A

                   NOP
                   NOP
              DJNZ R2,READ_16BIT46
                   NOP
                   NOP

              CLR CS_93C               ;     CS 0
              CLR SK_93C
              CLR DI_93C
              SETB DO_93C
                   NOP
                   NOP
              RET
                   NOP
                   NOP

CS1_93C:
         MOV WDRST,#01EH       ;  CLR WDT
                 NOP
         MOV WDRST,#0E1H
            NOP
            NOP
             SETB CS_93C               ;     CS 1
             SETB DO_93C
             MOV R3,#0
             MOV R2,#0
               NOP
TEST_93C:
               NOP
             JB DO_93C,TEST_93C_END
             DJNZ R2,TEST_93C
             DJNZ R3,TEST_93C
             AJMP TEST_93C_ERROR

TEST_93C_END:
               NOP
               NOP

TEST_93C_ERROR:

              RET
                NOP
                NOP

;*******************************************************************
;        DELAY 0.3 S
;*******************************************************************
DELAY:         MOV R2,#00H
               MOV R3,#00H

DELAY_0:
                 NOP
                 NOP
         MOV WDRST,#01EH       ;  CLR WDT
                 NOP
         MOV WDRST,#0E1H
            NOP
            NOP

DELAY_1:
               NOP
               NOP
            DJNZ R2,DELAY_1
                NOP
                NOP
            DJNZ R3,DELAY_0
                 NOP
                 NOP
         MOV WDRST,#01EH       ;  CLR WDT
                 NOP
         MOV WDRST,#0E1H
                NOP
                NOP
          RET
               NOP
               NOP



 ORG 07FBH
                              NOP            ; SYSTEM_ERROR
                              NOP
                             NOP
                       AJMP SYS_AGAIN


         END

⌨️ 快捷键说明

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