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

📄 12final.lst

📁 ds1820的汇编语言控制温度
💻 LST
字号:
A51 MACRO ASSEMBLER  12FINAL                                                              10/27/2008 21:28:28 PAGE     1


MACRO ASSEMBLER A51 V1.09
OBJECT MODULE PLACED IN 12FINAL.OBJ
ASSEMBLER INVOKED BY: E:\MEDWIN\A51.EXE 12FINAL.ASM DB

LOC  OBJ            LINE     SOURCE

                       1     
                       2     
0000                   3     ORG 0000H
0000 02003F            4     JMP MAIN
                       5     
003F                   6     ORG 003FH
                       7     
                       8     
003F                   9     MAIN:
                      10            
003F C280             11             CLR P0.0      ;DQ
0041 C291             12             CLR P1.1      ;初始化失败
0043 C292             13             CLR P1.2      ;LED
0045 C294             14             CLR P1.4      ;波形
0047 C295             15             CLR P1.5      ;初始化成功
0049 C296             16             CLR P1.6      ;检测"1"
004B C297             17             CLR P1.7      ;检测"0"
                      18     
                      19            
                      20     ;----------------------RESET BEGIN-------------------------
                      21     
004D D280             22         L0:SETB P0.0       
004F 7A0F             23            MOV R2,#0FH
0051 00               24            NOP
0052 C280             25            CLR P0.0        ;1us
0054 78FA             26            MOV R0,#0FAH    ;1us
0056 796E             27            MOV R1,#6EH
0058 D8FE             28            DJNZ R0,$       
005A D9FE             29            DJNZ R1,$       ;delay 720us
005C D280             30            SETB P0.0       ;1us
005E 308009           31         L2:JNB P0.0,L1     ;1us
0061 DAFB             32            DJNZ R2,L2      ;一个循环4us,检测60us
0063 D291             33            SETB P1.1       ;标识初始化失败
0065 02004D           34            LJMP L0
0068 7878             35            MOV R0,#78H     ;1us
006A D8FE             36         L1:DJNZ R0,$       ;delay 240us
006C D295             37            SETB P1.5       ;初始化标志位,初始化成功
006E D280             38            SETB P0.0
                      39     ;-----------------------RESET END----------------------
                      40     
                      41     ;-----------------------WRITE CCH BEGIN----------------
0070 74CC             42             MOV A,#0CCH
0072 7908             43             MOV R1,#8H     ;一共8bit数据
0074 C3               44             CLR C
0075 C280             45         WR1:CLR P0.0       ;产生写时隙
0077 7B05             46             MOV R3,#5H      ;1us
0079 DBFE             47             DJNZ R3,$      ;等待10us
007B 13               48             RRC A          ;把写的位送到C
007C 9280             49             MOV P0.0,C     ;开始写,第14us
007E 7B17             50             MOV R3,#17H     ;1us
0080 DBFE             51             DJNZ R3,$      ;等待46us
0082 D280             52             SETB P0.0
0084 00               53             NOP
0085 D9EE             54             DJNZ R1,WR1    ;写下一位
0087 D280             55             SETB P0.0
                      56     ;-----------------------WRITE CCH END----------------
                      57     ;-----------------------WRITE 44H BEGIN----------------
0089 7444             58             MOV A,#44H
A51 MACRO ASSEMBLER  12FINAL                                                              10/27/2008 21:28:28 PAGE     2

008B 7908             59             MOV R1,#8H     ;一共8bit数据
008D C3               60             CLR C
008E C280             61         WR2:CLR P0.0       ;产生写时隙
0090 7B05             62             MOV R3,#5H      ;1us
0092 DBFE             63             DJNZ R3,$      ;等待10us
0094 13               64             RRC A          ;把写的位送到C
0095 9280             65             MOV P0.0,C     ;开始写,第14us
0097 7B17             66             MOV R3,#17H     ;1us
0099 DBFE             67             DJNZ R3,$      ;等待46us
009B D280             68             SETB P0.0
009D 00               69             NOP
009E D9EE             70             DJNZ R1,WR2    ;写下一位
00A0 D280             71             SETB P0.0
                      72     ;-----------------------WRITE 44H END----------------
                      73     ;-----------------------DELAY BEGIN----------------
00A2 1201B9           74            LCALL DELAY       ;
00A5 1201B9           75            LCALL DELAY
00A8 1201B9           76            LCALL DELAY
00AB 1201B9           77            LCALL DELAY
00AE 1201B9           78            LCALL DELAY
00B1 1201B9           79            LCALL DELAY
00B4 1201B9           80            LCALL DELAY
00B7 1201B9           81            LCALL DELAY      ;延时0.8s
                      82     
                      83     ;-----------------------DELAY END----------------
                      84     ;----------------------RESET BEGIN-------------------------
                      85     
00BA D280             86       L0_0:SETB P0.0       
00BC 00               87            NOP
00BD 00               88            NOP
00BE 00               89            NOP
00BF C280             90            CLR P0.0        ;1us
00C1 78FA             91            MOV R0,#0FAH    ;1us
00C3 796E             92            MOV R1,#6EH     ;1us
00C5 D8FE             93            DJNZ R0,$       ;delay720us
00C7 D9FE             94            DJNZ R1,$     
00C9 D280             95            SETB P0.0       ;1us
00CB 308009           96       L2_0:JNB P0.0,L1_0     ;1us
00CE DAFB             97            DJNZ R2,L2_0      ;一个循环4us,检测60us
00D0 D291             98            SETB P1.1       ;标识初始化失败
00D2 0200BA           99            LJMP L0_0
00D5 7878            100            MOV R0,#78H     ;1us
00D7 D8FE            101       L1_0:DJNZ R0,$       ;delay 240us
00D9 D295            102            SETB P1.5       ;初始化标志位,初始化成功
00DB D280            103            SETB P0.0
                     104     ;-----------------------RESET END----------------------
                     105     ;-----------------------WRITE CCH BEGIN----------------
00DD 74CC            106             MOV A,#0CCH
00DF 7908            107             MOV R1,#8H     ;一共8bit数据
00E1 C3              108             CLR C
00E2 C280            109         WR3:CLR P0.0       ;产生写时隙
00E4 7B05            110             MOV R3,#5H     ;1us 
00E6 DBFE            111             DJNZ R3,$      ;等待10us
00E8 13              112             RRC A          ;把写的位送到C
00E9 9280            113             MOV P0.0,C     ;开始写,第14us
00EB 7B17            114             MOV R3,#17H    ;1us
00ED DBFE            115             DJNZ R3,$      ;等待46us
00EF D280            116             SETB P0.0
00F1 00              117             NOP
00F2 D9EE            118             DJNZ R1,WR3    ;写下一位
00F4 D280            119             SETB P0.0
                     120     ;-----------------------WRITE CCH END----------------
                     121     
                     122     ;-----------------------WRITE BEH BEGIN----------------
00F6 74BE            123             MOV A,#0BEH
00F8 7908            124             MOV R1,#8H     ;一共8bit数据
A51 MACRO ASSEMBLER  12FINAL                                                              10/27/2008 21:28:28 PAGE     3

00FA C3              125             CLR C
00FB C280            126         WR4:CLR P0.0       ;产生写时隙
00FD 7B05            127             MOV R3,#5H      ;1us
00FF DBFE            128             DJNZ R3,$      ;等待12us
0101 13              129             RRC A          ;把写的位送到C
0102 9280            130             MOV P0.0,C     ;开始写,第14us
0104 7B17            131             MOV R3,#17H    ;1us
0106 DBFE            132             DJNZ R3,$      ;等待46us
0108 D280            133             SETB P0.0
010A 00              134             NOP
010B D9EE            135             DJNZ R1,WR4    ;写下一位
010D D280            136             SETB P0.0
                     137     ;-----------------------WRITE BEH END----------------
                     138     ;-----------------------READ BEGIN----------------
010F 780C            139             MOV R0,#0CH 
0111 C3              140             CLR C           ;读12次,后8位有效
0112 D280            141         RE1:SETB P0.0 
0114 7A05            142             MOV R2,#5H            
0116 7B17            143             MOV R3,#17H     
0118 C280            144             CLR P0.0        ;1us
011A 00              145             NOP             ;1us
011B D280            146             SETB P0.0       ;1us
                     147             
011D DAFE            148             DJNZ R2,$       ;10us
011F 30800C          149             JNB P0.0,RE3    ;2us
0122 A280            150             MOV C,P0.0      ;14us读
                     151             
                     152             
0124 DBFE            153             DJNZ R3,$       ;等待46us 
0126 D296            154             SETB P1.6       ;标示检测到1  1us
0128 13              155             RRC A           ;1us     
0129 D8E7            156             DJNZ R0,RE1     ;读下一位
012B 020137          157             LJMP RE4
                     158                     
012E A280            159         RE3:MOV C,P0.0      ;14us读
                     160             
0130 DBFE            161             DJNZ R3,$      ;等待46us
0132 D297            162             SETB P1.7      ;标识检测到0  1us
0134 13              163             RRC A          ;1us
0135 D8DB            164             DJNZ R0,RE1    ;2us
0137 FF              165         RE4:MOV R7,A       ;中间8位有效      
                     166      ;-----------------------READ END-----------------------
                     167      ;-----------------------TEST READ BEGIN----------------
0138 7D08            168          MOV R5,#8H
013A EF              169          MOV A,R7
013B 13              170      TE1:RRC A
013C 9294            171          MOV P1.4,C
013E 1201B9          172          LCALL DELAY       ;延时2s
0141 1201B9          173          LCALL DELAY
0144 1201B9          174          LCALL DELAY
0147 1201B9          175          LCALL DELAY
014A 1201B9          176          LCALL DELAY        
014D 1201B9          177          LCALL DELAY     
0150 1201B9          178          LCALL DELAY
0153 1201B9          179          LCALL DELAY
0156 1201B9          180          LCALL DELAY
0159 1201B9          181          LCALL DELAY
015C 1201B9          182          LCALL DELAY      ;
015F 1201B9          183          LCALL DELAY
0162 1201B9          184          LCALL DELAY
0165 1201B9          185          LCALL DELAY
0168 1201B9          186          LCALL DELAY        
016B 1201B9          187          LCALL DELAY     
016E 1201B9          188          LCALL DELAY
0171 1201B9          189          LCALL DELAY
0174 1201B9          190          LCALL DELAY
A51 MACRO ASSEMBLER  12FINAL                                                              10/27/2008 21:28:28 PAGE     4

0177 1201B9          191          LCALL DELAY
017A DDBF            192          DJNZ R5,TE1
                     193      ;-----------------------TEST READ END--------------- 
                     194      ;-----------------------CMP TEMPER BEGIN------------
                     195            ;60度=03C0H=0000 0011 1100 0000B
                     196            ;25度=0190H=0000 0001 1001 0000B
                     197            ;2度=0020H=0000 0000 0010 0000B
017C EF              198        CMP:MOV A,R7
017D C3              199            CLR C
017E 9419            200            SUBB A,#19H      ;设定比较温度25度
0180 5005            201            JNC CL1
0182 C292            202        CL2:CLR P1.2
0184 02004D          203            LJMP L0
                     204       
                     205     
                     206     
0187 D292            207        CL1:SETB P1.2         ;灯亮
0189 1201B9          208            LCALL DELAY      
018C 1201B9          209            LCALL DELAY
018F 1201B9          210            LCALL DELAY
0192 1201B9          211            LCALL DELAY
0195 1201B9          212            LCALL DELAY       ;延时1s
0198 1201B9          213            LCALL DELAY      
019B 1201B9          214            LCALL DELAY
019E 1201B9          215            LCALL DELAY
01A1 1201B9          216            LCALL DELAY
01A4 1201B9          217            LCALL DELAY       
01A7 1201B9          218            LCALL DELAY      
01AA 1201B9          219            LCALL DELAY
01AD 1201B9          220            LCALL DELAY
01B0 1201B9          221            LCALL DELAY
01B3 1201B9          222            LCALL DELAY        
01B6 02004D          223            LJMP  L0
                     224     
                     225     
                     226     ;---------------------CMP TEMPER END-------------
                     227     
01B9                 228      DELAY:
01B9 78C3            229             MOV R0,#0C3H
01BB 79FF            230         DE0:MOV R1,#0FFH
01BD D9FE            231             DJNZ R1,$
01BF D8FA            232             DJNZ R0,DE0
01C1 22              233             RET              ;延时0.1s
                     234     
                     235         END
A51 MACRO ASSEMBLER  12FINAL                                                              10/27/2008 21:28:28 PAGE     5

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


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

CL1. . . . . . . .  C ADDR   0187H   A   
CL2. . . . . . . .  C ADDR   0182H   A   
CMP. . . . . . . .  C ADDR   017CH   A   
DE0. . . . . . . .  C ADDR   01BBH   A   
DELAY. . . . . . .  C ADDR   01B9H   A   
L0 . . . . . . . .  C ADDR   004DH   A   
L0_0 . . . . . . .  C ADDR   00BAH   A   
L1 . . . . . . . .  C ADDR   006AH   A   
L1_0 . . . . . . .  C ADDR   00D7H   A   
L2 . . . . . . . .  C ADDR   005EH   A   
L2_0 . . . . . . .  C ADDR   00CBH   A   
MAIN . . . . . . .  C ADDR   003FH   A   
P0 . . . . . . . .  D ADDR   0080H   A   
P1 . . . . . . . .  D ADDR   0090H   A   
RE1. . . . . . . .  C ADDR   0112H   A   
RE3. . . . . . . .  C ADDR   012EH   A   
RE4. . . . . . . .  C ADDR   0137H   A   
TE1. . . . . . . .  C ADDR   013BH   A   
WR1. . . . . . . .  C ADDR   0075H   A   
WR2. . . . . . . .  C ADDR   008EH   A   
WR3. . . . . . . .  C ADDR   00E2H   A   
WR4. . . . . . . .  C ADDR   00FBH   A   


REGISTER BANK(S) USED: 0 


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

⌨️ 快捷键说明

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