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

📄 ds18b20.lst

📁 基于8051编写的温度计程序 采用汇编语言 在LED上显示温度
💻 LST
📖 第 1 页 / 共 2 页
字号:
01CC F6              139             MOV     @R0,A
01CD 08              140     NST:    INC     R0
01CE E530            141             MOV     A,DAT           ;取温度值
01D0 75F00A          142             MOV     B,#10           ;十位数在ACC中,个位数在B中
01D3 84              143             DIV     AB
01D4 900232          144             MOV     DPTR,#TAB       ;将十位数转换为数码管字形码值存入BUFT中
01D7 93              145             MOVC    A,@A+DPTR
01D8 F6              146             MOV     @R0,A
01D9 08              147             INC     R0              ;字形码缓冲区地址加1
01DA E5F0            148             MOV     A,B
01DC 93              149             MOVC    A,@A+DPTR       ;将个位数字形码连同小数点存入BUFT中
01DD D2E7            150             SETB    ACC.7
01DF F6              151             MOV     @R0,A
01E0 08              152             INC     R0              ;字形码缓冲区地址加1
01E1 E531            153             MOV     A,POINT         ;取小数点后的值字形码存入缓冲区BUFT中
01E3 20E305          154             JB      ACC.3,FLOAT
01E6 743F            155             MOV     A,#3FH
01E8 F6              156             MOV     @R0,A
01E9 8003            157             JMP     E
01EB 746D            158     FLOAT:  MOV     A,#6DH
01ED F6              159             MOV     @R0,A
01EE 22              160     E:      RET
                     161     
                     162             ;显示温度子程序,使用了DPTR、R0、R5。
                     163             ;BUFT中存放的是温度值的字形码
01EF 7843            164     Disply: MOV     R0,#BUFT
01F1 E6              165             MOV     A,@R0
01F2 F590            166             MOV     P1,A    ;送出正负位的7段代码
01F4 D2B4            167             SETB    P3.4    ;开个位显示
01F6 5116            168             CALL    DISP
01F8 C2B4            169             CLR     P3.4
                     170     
01FA E6              171             MOV     A,@R0
01FB F590            172             MOV     P1,A    ;送出十位的7段代码
01FD D2B5            173             SETB    P3.5    ;开十位显示
01FF 5116            174             CALL    DISP
0201 C2B5            175             CLR     P3.5
                     176     
0203 E6              177             MOV     A,@R0
0204 F590            178             MOV     P1,A    ;送出个位的7段代码
0206 D2B6            179             SETB    P3.6    ;开个位显示
0208 5116            180             CALL    DISP
020A C2B6            181             CLR     P3.6
                     182     
020C E6              183             MOV     A,@R0
020D F590            184             MOV     P1,A    ;送出小数位的7段代码
020F D2B7            185             SETB    P3.7    ;开小数位显示
0211 5116            186             CALL    DISP
0213 C2B7            187             CLR     P3.7
0215 22              188             RET
                     189     
                     190             ;显示一个数字子程序
A51 MACRO ASSEMBLER  DS18B20                                                              01/06/2009 10:18:37 PAGE     4

0216 7DFA            191     DISP:   MOV     R5,#250         ;等待600微秒
0218 DDFE            192             DJNZ    R5,$
                     193     
021A 08              194             INC     R0              ;BUFT字形码缓冲区地址加1,准备显示下一个数字
021B 22              195             RET
                     196     
021C 7F9D            197     DLY700: MOV     R7,#157         ;延时700微秒子程序,使用R7
021E DFFE            198             DJNZ    R7,$
0220 7F11            199     DLY70:  MOV     R7,#17          ;延时70微秒子程序,使用R7
0222 DFFE            200             DJNZ    R7,$
0224 22              201             RET
                     202     
                     203             ;延时1分钟子程序,使用R5、R6、R7
0225 7DF0            204     DLY1M:  MOV     R5,#240
0227 7EFA            205     LOOP1:  MOV     R6,#250
0229 7FFA            206     LOOP2:  MOV     R7,#250
022B DFFE            207             DJNZ    R7,$
022D DEFA            208             DJNZ    R6,LOOP2
022F DDF6            209             DJNZ    R5,LOOP1
0231 22              210             RET
                     211     
                     212     
0232 C0F9A4B0        213     TAB:    DB      0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
0236 999282F8                
023A 8090                    
                     214             ;DB     3FH,06H,5BH,4FH,66H,6DH,7DH,07H         ;a~f字形码
023C 7F6F777C        215             DB      7FH,6FH,77H,7CH,58H,5EH,79H,71H
0240 585E7971                
                     216     
                     217     
                     218             END
A51 MACRO ASSEMBLER  DS18B20                                                              01/06/2009 10:18:37 PAGE     5

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


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

ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
BTH. . . . . . . .  D ADDR   0047H   A   
BTL. . . . . . . .  D ADDR   0048H   A   
BUF. . . . . . . .  D ADDR   003AH   A   
BUFT . . . . . . .  D ADDR   0043H   A   
BUSY . . . . . . .  C ADDR   0132H   A   
CONFIG . . . . . .  N NUMB   001FH   A   
CTC. . . . . . . .  N NUMB   0044H   A   
DAT. . . . . . . .  D ADDR   0030H   A   
DISP . . . . . . .  C ADDR   0216H   A   
DISPLY . . . . . .  C ADDR   01EFH   A   
DLY1M. . . . . . .  C ADDR   0225H   A   
DLY70. . . . . . .  C ADDR   0220H   A   
DLY700 . . . . . .  C ADDR   021CH   A   
DQ . . . . . . . .  B ADDR   00B0H.2 A   
E. . . . . . . . .  C ADDR   01EEH   A   
FLOAT. . . . . . .  C ADDR   01EBH   A   
I1 . . . . . . . .  C ADDR   0169H   A   
INITIAL. . . . . .  C ADDR   0162H   A   
LOOP1. . . . . . .  C ADDR   0227H   A   
LOOP2. . . . . . .  C ADDR   0229H   A   
LROMC. . . . . . .  N NUMB   00CCH   A   
MAIN . . . . . . .  C ADDR   0100H   A   
MROMC. . . . . . .  N NUMB   0055H   A   
N. . . . . . . . .  N NUMB   0008H   A   
NEG. . . . . . . .  C ADDR   01B5H   A   
NST. . . . . . . .  C ADDR   01CDH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
POINT. . . . . . .  D ADDR   0031H   A   
PSW. . . . . . . .  D ADDR   00D0H   A   
R8BIT. . . . . . .  C ADDR   0182H   A   
RER. . . . . . . .  C ADDR   0153H   A   
RETN . . . . . . .  C ADDR   0125H   A   
ROMA . . . . . . .  D ADDR   0032H   A   
RR1. . . . . . . .  C ADDR   0184H   A   
RREGC. . . . . . .  N NUMB   00BEH   A   
RROMC. . . . . . .  N NUMB   0033H   A   
SP . . . . . . . .  D ADDR   0081H   A   
SROMC. . . . . . .  N NUMB   00F0H   A   
STORE. . . . . . .  C ADDR   0193H   A   
TAB. . . . . . . .  C ADDR   0232H   A   
TH . . . . . . . .  N NUMB   0028H   A   
TL . . . . . . . .  N NUMB   000AH   A   
W1 . . . . . . . .  C ADDR   0173H   A   
W2 . . . . . . . .  C ADDR   017AH   A   
W8BIT. . . . . . .  C ADDR   0171H   A   
WREGC. . . . . . .  N NUMB   004EH   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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