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

📄 pproc_1m.asm

📁 这是我们做课程设计的时候频率发生器的一些程序模块,希望对大家有用
💻 ASM
字号:
SUM     EQU    30H
ADDR    EQU    32H

ORG     0000H
JMP     START

ORG     000BH
INT_T0: CLR   TR1
       CALL READ
        RETI

ORG     0040H
START:  MOV   SP,#50H
        CALL  INIT_51

MAIN:
        JMP   MAIN

INIT_51:MOV    TMOD,#01010001B
        MOV    TL0,#LOW(65536-108)
        MOV    TH0,#HIGH(65536-108)
        MOV    TL1,#0
        MOV    TH1,#0
        SETB   TR0
        SETB   TR1
        MOV    IE,#10001010B
        MOV    IP,#0
        MOV    P0,#0
        RET
        
        
        
READ:     CALL   ASKTOBCD
          CALL   DISP2       
          CLR    P1.1
          RET
          
        
        
        
ASKTOBCD:   MOV   R4,TH1
            MOV   R5,TL1
            CALL  CLR_SUM
            MOV   A,R4
            SWAP  A
            MOV   DPTR,#TAB1
            CALL  BCDAD
            MOV   A,R4
            MOV   DPTR,#TAB2
            CALL  BCDAD
            MOV   A,R5
            SWAP  A
            MOV   DPTR,#TAB3
            CALL  BCDAD
            MOV   A,R5
            MOV   DPTR,#TAB4
            CALL  BCDAD
            RET

BCDAD:      ANL   A,#0FH
            CALL  READ_TAB
            CALL  BCD_ADD
            RET

CLR_SUM:    MOV   R0,#SUM
            MOV   R2,#2
            CLR   A
CLR_SUM_NEXT: MOV  @R0,A
              INC  R0
              DJNZ R2,CLR_SUM_NEXT
            RET

READ_TAB:   MOV    R1,#ADDR
            MOV    R2,#2
            MOV    B,#2
            MUL    AB
            MOV    B,A

READ_TAB_NEXT:
            MOV    A,B
            MOVC  A,@A+DPTR
            MOV    @R1,A
            INC    DPTR
            INC    R1
            DJNZ   R2,READ_TAB_NEXT
            RET

BCD_ADD:    MOV    R0,#SUM
            MOV    R1,#ADDR
            MOV    R2,#2
            CLR    C
BCD_ADD_NEXT:
            MOV    A,@R0
            ADDC   A,@R1
            DA     A
            MOV    @R0,A
            INC    R0
            INC    R1
            DJNZ   R2,BCD_ADD_NEXT
            RET

TAB1:       DB     00H,00H
            DB     96H,40H
            DB     92H,81H
TAB2:       DB     00H,00H
            DB     56H,02H
            DB     12H,05H
            DB     68H,07H
            DB     24H,10H
            DB     80H,12H
            DB     36H,15H
            DB     92H,17H
            DB     48H,20H
            DB     04H,23H
            DB     60H,25H
            DB     16H,28H
            DB     72H,30H
            DB     28H,33H
            DB     84H,35H
            DB     40H,38H

TAB3:       DB      00H,00H
            DB       16H,00H
            DB       32H,00H
            DB       48H,00H
            DB       64H,00H
            DB       80H,00H
            DB       96H,00H
            DB       12H,01H
            DB       28H,01H
            DB       44H,01H
            DB       60H,01H
            DB       76H,01H
            DB       92H,01H
            DB       08H,02H
            DB       24H,02H
            DB       40H,02H

TAB4:       DB       00H,00H
            DB       01H,00H
            DB       02H,00H
            DB       03H,00H
            DB       04H,00H
            DB       05H,00H
            DB       06H,00H
            DB       07H,00H
            DB       08H,00H
            DB       09H,00H
            DB       10H,00H
            DB       11H,00H
            DB       12H,00H
            DB       13H,00H
            DB       14H,00H
            DB       15H,00H



DISP2:      MOV    R0,#SUM+1
            MOV    A,@R0
            ANL    A,#0F0H
            JNZ    DISP2_NEXT
            MOV    A,@R0
            ANL    A,#0FFH
            JNZ    DISP2_NEXT1
            ORL    A,#0FFH
            JMP    DISP2_NEXT2

DISP2_NEXT:
            MOV     A,@R0
            JMP     DISP2_NEXT2
DISP2_NEXT1:MOV     A,@R0
            ORL     A,#0F0H
DISP2_NEXT2:
            SETB    P0.7
            MOV     P2,A
            CLR     P0.7
            DEC     R0
            MOV     A,@R0
            SETB    P0.6
            MOV     P2,A
            CLR     P0.6

            RET

         END
        

⌨️ 快捷键说明

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