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

📄 adc小数显示.lst

📁 用单片机实现方搏输出
💻 LST
字号:
A51 MACRO ASSEMBLER  ADC__数蟔示                                                          08/14/2007 18:17:01 PAGE     1


MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN ADC小数显示.OBJ
ASSEMBLER INVOKED BY: D:\软件安装\C51\BIN\A51.EXE ADC小数显示.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1            ;  SJ EQU 40H
0100                   2              ORG 0100H
0100 020103            3              LJMP MAIN
                       4             ; ORG 0013H
                       5             ; LJMP INT
                       6     
0103                   7     MAIN:    
                       8     
                       9     
                      10     
                      11     
0103 907FF8           12     LOOP:    MOV DPTR,#7FF8H  ;送入地址
0106 F0               13              MOVX @DPTR,A      ;启动AD转换
0107 7E09             14              MOV R6,#09H       ;延时等待
0109 00               15     DELAY:   NOP
010A 00               16              NOP
010B DEFC             17              DJNZ R6,DELAY
010D E0               18              MOVX A,@DPTR  ;数据送入累加器
010E 3118             19              CALL XSZH
0110 758000           20              mov p0,#00
0113 120168           21              lCALL DISPLAY
0116 80EB             22              JMP LOOP
                      23     ;*********************************************************
                      24     ;               一位小数转换子程序(转换成显码)
                      25     ;入口数据存放在累加器A中(8位有效数),中间寄存器有: B,R0,R1
                      26     ;出口显示: 共阳极数码管,显示数据个位存放R0 中,十分位存放R1中
                      27     ;
                      28     ;;********************************************************
0118 75F002           29     XSZH:  MOV B,#2H     ;V0扩大100倍,即5.0----〉(256~250)*2
011B A4               30             MUL AB        ;乘法A*B=BA
011C AAF0             31             MOV R2,B         
011E BA0006           32             CJNE R2,#00H,SS   ;判断是否存在进位
0121 7800             33             MOV R0,#00H        ;无进位时R0,R1的值
0123 7900             34             MOV R1,#00H
0125 8004             35             JMP SSS
0127 7802             36     SS:    MOV R0,#2H         ;有进位时R0,R1的值
0129 7905             37             MOV R1,#5H
012B 75F00A           38     SSS:   MOV B,#0AH         ;缩小10倍
012E 84               39             DIV AB              ;A/B=A....B
012F 00               40             NOP
0130 00               41             NOP
                      42             ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                      43            
                      44     
                      45     
                      46     
                      47     
                      48     
0131 29               49             ADD A,R1           ;并修正十分位
0132 75F00A           50             MOV B,#0AH         ;再缩小10倍
0135 84               51             DIV AB
0136 00               52             NOP
0137 00               53             NOP
0138 28               54             ADD A,R0            ;修正个位
0139 F8               55             MOV R0,A            ;个位存在R0
013A A9F0             56             MOV R1,B            ;十分位存在R1
                      57                   
013C E8               58     DL0:   MOV  A,R0              ;取个位,
A51 MACRO ASSEMBLER  ADC__数蟔示                                                          08/14/2007 18:17:01 PAGE     2

013D 315B             59            ACALL TABLE0           ;转换为显码
013F F533             60            MOV 33H,A          ;送显码输出
0141 7400             61            mov a,#00
0143 E9               62            MOV A,R1             ;取十分位
0144 314E             63            ACALL TABLE           ;转换为显码       
0146 F534             64            MOV 34H,A           ;送显码输出
                      65     ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0148 EC               66            MOV A,R4
0149 315B             67            CALL TABLE0
014B F535             68            MOV 35H,A
014D 22               69            RET
                      70     ;******************************************
                      71     ;
                      72     ;
                      73     ;******************************************
014E 04               74     TABLE:  INC  A                  ;读十分位表
014F 83               75             MOVC A,@A+PC
                      76             ;MOV DPTR,#SHI      
                      77             ;MOVC A,@A+DPTR
0150 22               78             RET
0151 C0F9A4B0         79     SHI:DB  0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H  ;十分位表*/
0155 999282F8                
0159 8090                    
                      80     
015B 04               81     TABLE0:  INC A                                  ;读个位表
015C 83               82              MOVC A,@A+PC
                      83              ;MOV DPTR,#GW
                      84              ;MOVC A,@A+DPTR
015D 22               85              RET
015E 40792430         86     GW:DB   40H,079H,024H,030H,19H,12H,2H,078H,0FFH,10H  ;个位表
0162 19120278                
0166 FF10                    
                      87     
                      88       
                      89     
                      90     ;******************************************;
                      91     ;       LED 显示子程序
                      92     ;   显示缓冲区为33H--35H
                      93     ;******************************************;
0168                  94     DISPLAY: 
0168 E533             95              MOV A,33H ;
                      96             ; DA A
016A F590             97              MOV P1,A      ;送至P1口进行显示
016C D2B0             98              SETB P3.0
016E C2B1             99              CLR P3.1
                     100              
0170 12017F          101              LCALL DELAY1
0173 E534            102              MOV A,34H 
                     103              ;DA A
0175 F590            104              MOV P1,A
0177 D2B1            105              SETB P3.1
0179 C2B0            106              CLR P3.0
                     107               
017B 12017F          108              LCALL DELAY1
                     109              ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
                     110             
                     111     
                     112     
                     113     
                     114     
                     115     
                     116     
017E 22              117              RET    
                     118     ;****************************************
                     119     ;延时程序
                     120     ;****************************************
A51 MACRO ASSEMBLER  ADC__数蟔示                                                          08/14/2007 18:17:01 PAGE     3

017F 7D01            121     DELAY1:   MOV R5,#01H    ;延时子程序
0181 7BFF            122            D: MOV R3,#0FFH
0183 DBFE            123            E: DJNZ R3,E
0185 DDFA            124               DJNZ R5,D
0187 22              125               RET 
0188 7D01            126     DELAY2:   MOV R5,#01H    ;延时子程序
018A 7BE2            127            X: MOV R3,#0E2H
018C DBFE            128            Z: DJNZ R3,Z
018E DDFA            129               DJNZ R5,X
0190 22              130               RET 
                     131      END
A51 MACRO ASSEMBLER  ADC__数蟔示                                                          08/14/2007 18:17:01 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

B. . . . . . . . .  D ADDR   00F0H   A   
D. . . . . . . . .  C ADDR   0181H   A   
DELAY. . . . . . .  C ADDR   0109H   A   
DELAY1 . . . . . .  C ADDR   017FH   A   
DELAY2 . . . . . .  C ADDR   0188H   A   
DISPLAY. . . . . .  C ADDR   0168H   A   
DL0. . . . . . . .  C ADDR   013CH   A   
E. . . . . . . . .  C ADDR   0183H   A   
GW . . . . . . . .  C ADDR   015EH   A   
LOOP . . . . . . .  C ADDR   0103H   A   
MAIN . . . . . . .  C ADDR   0103H   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
SHI. . . . . . . .  C ADDR   0151H   A   
SS . . . . . . . .  C ADDR   0127H   A   
SSS. . . . . . . .  C ADDR   012BH   A   
TABLE. . . . . . .  C ADDR   014EH   A   
TABLE0 . . . . . .  C ADDR   015BH   A   
X. . . . . . . . .  C ADDR   018AH   A   
XSZH . . . . . . .  C ADDR   0118H   A   
Z. . . . . . . . .  C ADDR   018CH   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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