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

📄 18b20.lst

📁 18B20芯片为1-WIRE协议 该程序是用汇编语言完成的读取18B20芯片温度值的keil程序
💻 LST
字号:
A51 MACRO ASSEMBLER  18B20                                                                08/04/2006 23:36:40 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN 18B20.OBJ
ASSEMBLER INVOKED BY: C:\Program Files\Keil\C51\BIN\A51.EXE 18B20.ASM SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

  0090                 1     B20 BIT P1.0
0000                   2     ORG 0000H
0000 01B8              3     AJMP INITIALIZATION
                       4     
0030                   5     ORG 0030H
                       6     
0030                   7     SENDA:
0030 F599              8     MOV SBUF,A
0032 3099FD            9     JNB TI,$
0035 C299             10     CLR TI
0037 22               11     RET
                      12     
0038                  13     DELAY600: ;精确延时600微秒子程序
0038 7E02             14             MOV R6,#2
003A 7F94             15             YS600D:MOV R7,#148
003C DFFE             16             DJNZ R7,$
003E DEFA             17             DJNZ R6,YS600D
0040 22               18             RET
                      19     
0041                  20     DELAY30: ;精确延时30微秒子程序
0041 7E04             21             MOV R6,#4
0043 7F02             22             YS30D:MOV R7,#2
0045 DFFE             23             DJNZ R7,$
0047 DEFA             24             DJNZ R6,YS30D
0049 22               25             RET
                      26     
004A                  27     DELAY80: ;精确延时80微秒子程序
004A 7E02             28             MOV R6,#2
004C 7F12             29             YS80D:MOV R7,#18
004E DFFE             30             DJNZ R7,$
0050 DEFA             31             DJNZ R6,YS80D
0052 22               32             RET
                      33     
0053                  34     DELAY100010: ;精确延时100010微秒子程序
0053 7ED8             35             MOV R6,#216
0055 7D14             36             MOV R5,#20
0057 7FE6             37             YS100010D:MOV R7,#230
0059 DFFE             38             DJNZ R7,$
005B DEFA             39             DJNZ R6,YS100010D
005D DDF8             40             DJNZ R5,YS100010D
005F 22               41             RET
                      42     
                      43     
                      44     
0060                  45     RESETSLOT:
0060 C290             46             CLR B20
0062 120038           47             LCALL DELAY600
0065 D290             48             SETB B20
0067 120041           49             LCALL DELAY30
006A A290             50             MOV C,B20
006C 40F2             51             JC RESETSLOT
006E 120038           52             LCALL DELAY600
0071 22               53             RET
                      54     
                      55     
                      56     
0072                  57     WRITESLOT_0:
0072 00               58             NOP
A51 MACRO ASSEMBLER  18B20                                                                08/04/2006 23:36:40 PAGE     2

0073 C290             59             CLR B20
0075 12004A           60             LCALL DELAY80
0078 D290             61             SETB B20
007A 22               62             RET
                      63     
007B                  64     WRITESLOT_1:
007B 00               65             NOP
007C C290             66             CLR B20
007E 00               67             NOP
007F 00               68             NOP
0080 00               69             NOP
0081 00               70             NOP
0082 00               71             NOP
0083 00               72             NOP
0084 D290             73             SETB B20
0086 12004A           74             LCALL DELAY80
0089 22               75             RET
                      76     
008A                  77     READSLOT_C:
008A 00               78             NOP
008B C290             79             CLR B20
008D 00               80             NOP
008E 00               81             NOP
008F D290             82             SETB B20
0091 00               83             NOP
0092 00               84             NOP
0093 00               85             NOP
0094 00               86             NOP
0095 00               87             NOP
0096 00               88             NOP
0097 00               89             NOP
0098 00               90             NOP
0099 A290             91             MOV C,B20
009B 120041           92             LCALL DELAY30
009E 22               93             RET
                      94     
009F                  95     WRITE_A:
009F 7808             96             MOV R0,#008H
00A1                  97             BEGINWRITE:
00A1 13               98             RRC A
00A2 4005             99             JC WRITE1
00A4 120072          100             LCALL WRITESLOT_0
00A7 01AC            101             AJMP RETURN_WRITE
00A9                 102             WRITE1:
00A9 12007B          103             LCALL WRITESLOT_1
00AC                 104             RETURN_WRITE:
00AC D8F3            105             DJNZ R0,BEGINWRITE
00AE 22              106             RET
                     107     
00AF                 108     READ_A:
00AF 7808            109             MOV R0,#008H
00B1                 110             BEGINREAD:      
00B1 12008A          111             LCALL READSLOT_C
00B4 13              112             RRC A
00B5 D8FA            113             DJNZ R0,BEGINREAD
00B7 22              114             RET
                     115     
                     116     
00B8                 117     INITIALIZATION:
00B8 758920          118     MOV TMOD,#20H
00BB 758BE6          119     MOV TL1,#0E6H
00BE 758DE6          120     MOV TH1,#0E6H
00C1 D28E            121     SETB TR1
00C3 759850          122     MOV SCON,#01010000B
                     123     
00C6                 124     MAIN:
A51 MACRO ASSEMBLER  18B20                                                                08/04/2006 23:36:40 PAGE     3

00C6 120060          125     LCALL RESETSLOT
00C9 74CC            126     MOV A,#0CCH
00CB 12009F          127     LCALL WRITE_A
00CE 7444            128     MOV A,#044H
00D0 12009F          129     LCALL WRITE_A
00D3 D290            130     SETB B20
00D5 3090FD          131     JNB B20,$
00D8 120038          132     LCALL DELAY600
                     133     
                     134     
                     135     
00DB 120060          136     LCALL RESETSLOT
00DE 74CC            137     MOV A,#0CCH
00E0 12009F          138     LCALL WRITE_A
00E3 74BE            139     MOV A,#0BEH
00E5 12009F          140     LCALL WRITE_A
                     141     
00E8 1200AF          142     LCALL READ_A
00EB FA              143     MOV R2,A
                     144     
00EC 1200AF          145     LCALL READ_A
00EF FB              146     MOV R3,A
                     147     ;===========将整饰露戎捣湃階===============
00F0 EB              148     MOV A,R3
00F1 540F            149     ANL A,#00FH
00F3 23              150     RL A
00F4 23              151     RL A
00F5 23              152     RL A
00F6 23              153     RL A
00F7 FB              154     MOV R3,A
00F8 EA              155     MOV A,R2
00F9 03              156     RR A
00FA 03              157     RR A
00FB 03              158     RR A
00FC 03              159     RR A
00FD 540F            160     ANL A,#00FH
00FF 4B              161     ORL A,R3
                     162     ;=============转换成BCD=====================
0100 75F00A          163     MOV B,#00AH
0103 84              164     DIV AB
0104 A8F0            165     MOV R0,B
0106 F9              166     MOV R1,A
                     167     ;============================================
                     168     
                     169     
                     170     
0107 B2B7            171     CPL P3.7
                     172     ;AJMP MAIN
                     173     
                     174     
                     175     END
A51 MACRO ASSEMBLER  18B20                                                                08/04/2006 23:36:40 PAGE     4

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


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

B. . . . . . . . .  D ADDR   00F0H   A   
B20. . . . . . . .  B ADDR   0090H.0 A   
BEGINREAD. . . . .  C ADDR   00B1H   A   
BEGINWRITE . . . .  C ADDR   00A1H   A   
DELAY100010. . . .  C ADDR   0053H   A   
DELAY30. . . . . .  C ADDR   0041H   A   
DELAY600 . . . . .  C ADDR   0038H   A   
DELAY80. . . . . .  C ADDR   004AH   A   
INITIALIZATION . .  C ADDR   00B8H   A   
MAIN . . . . . . .  C ADDR   00C6H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
P3 . . . . . . . .  D ADDR   00B0H   A   
READSLOT_C . . . .  C ADDR   008AH   A   
READ_A . . . . . .  C ADDR   00AFH   A   
RESETSLOT. . . . .  C ADDR   0060H   A   
RETURN_WRITE . . .  C ADDR   00ACH   A   
SBUF . . . . . . .  D ADDR   0099H   A   
SCON . . . . . . .  D ADDR   0098H   A   
SENDA. . . . . . .  C ADDR   0030H   A   
TH1. . . . . . . .  D ADDR   008DH   A   
TI . . . . . . . .  B ADDR   0098H.1 A   
TL1. . . . . . . .  D ADDR   008BH   A   
TMOD . . . . . . .  D ADDR   0089H   A   
TR1. . . . . . . .  B ADDR   0088H.6 A   
WRITE1 . . . . . .  C ADDR   00A9H   A   
WRITESLOT_0. . . .  C ADDR   0072H   A   
WRITESLOT_1. . . .  C ADDR   007BH   A   
WRITE_A. . . . . .  C ADDR   009FH   A   
YS100010D. . . . .  C ADDR   0057H   A   
YS30D. . . . . . .  C ADDR   0043H   A   
YS600D . . . . . .  C ADDR   003AH   A   
YS80D. . . . . . .  C ADDR   004CH   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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