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

📄 temp.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
                     675                             ; SOURCE LINE # 117
                     676     ;       unsigned char idata i,u=0;
                     677                             ; SOURCE LINE # 118
0000 E4              678             CLR     A
0001 7800     F      679             MOV     R0,#LOW (u?344)
0003 F6              680             MOV     @R0,A
                     681     ;       for(i=0;i<8;i++)
                     682                             ; SOURCE LINE # 119
0004 18              683             DEC     R0
0005 F6              684             MOV     @R0,A
0006                 685     ?C0011:
                     686     ;       {
                     687                             ; SOURCE LINE # 120
                     688     ;               D18B20 = 0;
                     689                             ; SOURCE LINE # 121
0006 C2B3            690             CLR     D18B20
                     691     ;               u >>= 1;
                     692                             ; SOURCE LINE # 122
0008 7800     F      693             MOV     R0,#LOW (u?344)
000A E6              694             MOV     A,@R0
000B C3              695             CLR     C
000C 13              696             RRC     A
000D F6              697             MOV     @R0,A
                     698     ;               D18B20 = 1;
                     699                             ; SOURCE LINE # 123
000E D2B3            700             SETB    D18B20
                     701     ;               if(D18B20==1)
                     702                             ; SOURCE LINE # 124
0010 30B304          703             JNB     D18B20,?C0014
                     704     ;               u |= 0x80;
                     705                             ; SOURCE LINE # 125
0013 E6              706             MOV     A,@R0
0014 4480            707             ORL     A,#080H
0016 F6              708             MOV     @R0,A
0017                 709     ?C0014:
                     710     ;               TempDelay (2);
                     711                             ; SOURCE LINE # 126
0017 7F02            712             MOV     R7,#02H
0019 120000   F      713             LCALL   _TempDelay
                     714     ;               _nop_();
                     715                             ; SOURCE LINE # 127
001C 00              716             NOP     
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    12

                     717     ;       }
                     718                             ; SOURCE LINE # 128
001D 7800     F      719             MOV     R0,#LOW (i?343)
001F 06              720             INC     @R0
0020 E6              721             MOV     A,@R0
0021 C3              722             CLR     C
0022 9408            723             SUBB    A,#08H
0024 40E0            724             JC      ?C0011
0026                 725     ?C0012:
                     726     ;       return(u);
                     727                             ; SOURCE LINE # 129
0026 7800     F      728             MOV     R0,#LOW (u?344)
0028 E6              729             MOV     A,@R0
0029 FF              730             MOV     R7,A
                     731     ; }
                     732                             ; SOURCE LINE # 130
002A                 733     ?C0015:
002A 22              734             RET     
                     735     ; END OF ReadByte
                     736     
                     737     ; 
                     738     ; /************************************************************
                     739     ; *Function:读18B20
                     740     ; *parameter:
                     741     ; *Return:
                     742     ; *Modify:
                     743     ; *************************************************************/
                     744     ; void read_bytes (unsigned char idata j)
                     745     
----                 746             RSEG  ?PR?_read_bytes?TEMP
0000                 747     _read_bytes:
                     748             USING   0
                     749                             ; SOURCE LINE # 138
                     750     ;---- Variable 'j?445' assigned to Register 'R5' ----
0000 AD07            751             MOV     R5,AR7
                     752     ; {
                     753                             ; SOURCE LINE # 139
                     754     ;        unsigned char idata i;
                     755     ;        for(i=0;i<j;i++)
                     756                             ; SOURCE LINE # 141
0002 E4              757             CLR     A
0003 7800     F      758             MOV     R0,#LOW (i?446)
0005 F6              759             MOV     @R0,A
0006                 760     ?C0016:
0006 7800     F      761             MOV     R0,#LOW (i?446)
0008 E6              762             MOV     A,@R0
0009 C3              763             CLR     C
000A 9D              764             SUBB    A,R5
000B 500E            765             JNC     ?C0019
                     766     ;        {
                     767                             ; SOURCE LINE # 142
                     768     ;                 *p = ReadByte();
                     769                             ; SOURCE LINE # 143
000D 120000   F      770             LCALL   ReadByte
0010 A800            771             MOV     R0,p
*** ____________________________________________^
*** ERROR #A48 IN 771 (Temp.SRC, LINE 771): DATA-ADDRESS EXPECTED
0012 A607            772             MOV     @R0,AR7
                     773     ;                 p++;
                     774                             ; SOURCE LINE # 144
0014 0500            775             INC     p
*** _________________________________________^
*** ERROR #A48 IN 775 (Temp.SRC, LINE 775): DATA-ADDRESS EXPECTED
                     776     ;        }
                     777                             ; SOURCE LINE # 145
0016 7800     F      778             MOV     R0,#LOW (i?446)
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    13

0018 06              779             INC     @R0
0019 80EB            780             SJMP    ?C0016
                     781     ; }
                     782                             ; SOURCE LINE # 146
001B                 783     ?C0019:
001B 22              784             RET     
                     785     ; END OF _read_bytes
                     786     
                     787     ; 
                     788     ; /************************************************************
                     789     ; *Function:CRC校验
                     790     ; *parameter:
                     791     ; *Return:
                     792     ; *Modify:
                     793     ; *************************************************************/
                     794     ; unsigned char CRC (unsigned char j)
                     795     
----                 796             RSEG  ?PR?_CRC?TEMP
0000                 797     _CRC:
                     798             USING   0
                     799                             ; SOURCE LINE # 154
                     800     ;---- Variable 'j?547' assigned to Register 'R7' ----
                     801     ; {
                     802                             ; SOURCE LINE # 155
                     803     ;       unsigned char idata i,crc_data=0;
                     804                             ; SOURCE LINE # 156
0000 E4              805             CLR     A
0001 7800     F      806             MOV     R0,#LOW (crc_data?549)
0003 F6              807             MOV     @R0,A
                     808     ;       for(i=0;i<j;i++)  //查表校验
                     809                             ; SOURCE LINE # 157
0004 18              810             DEC     R0
0005 F6              811             MOV     @R0,A
0006                 812     ?C0020:
0006 7800     F      813             MOV     R0,#LOW (i?548)
0008 E6              814             MOV     A,@R0
0009 FE              815             MOV     R6,A
000A C3              816             CLR     C
000B 9F              817             SUBB    A,R7
000C 5010            818             JNC     ?C0021
                     819     ;       crc_data = CrcTable[crc_data^temp_buff[i]];
                     820                             ; SOURCE LINE # 158
000E 7400     F      821             MOV     A,#LOW (temp_buff)
0010 2E              822             ADD     A,R6
0011 F9              823             MOV     R1,A
0012 08              824             INC     R0
0013 E6              825             MOV     A,@R0
0014 67              826             XRL     A,@R1
0015 900000   F      827             MOV     DPTR,#CrcTable
0018 93              828             MOVC    A,@A+DPTR
0019 F6              829             MOV     @R0,A
001A 18              830             DEC     R0
001B 06              831             INC     @R0
001C 80E8            832             SJMP    ?C0020
001E                 833     ?C0021:
                     834     ;     return (crc_data);
                     835                             ; SOURCE LINE # 159
001E 7800     F      836             MOV     R0,#LOW (crc_data?549)
0020 E6              837             MOV     A,@R0
0021 FF              838             MOV     R7,A
                     839     ; }
                     840                             ; SOURCE LINE # 160
0022                 841     ?C0023:
0022 22              842             RET     
                     843     ; END OF _CRC
                     844     
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    14

                     845     ; 
                     846     ; /************************************************************
                     847     ; *Function:读取温度
                     848     ; *parameter:
                     849     ; *Return:
                     850     ; *Modify:
                     851     ; *************************************************************/
                     852     ; void GemTemp (void)
                     853     
----                 854             RSEG  ?PR?GemTemp?TEMP
0000                 855     GemTemp:
                     856             USING   0
                     857                             ; SOURCE LINE # 168
                     858     ; {
                     859                             ; SOURCE LINE # 169
                     860     ;    read_bytes (9);
                     861                             ; SOURCE LINE # 170
0000 7F09            862             MOV     R7,#09H
0002 120000   F      863             LCALL   _read_bytes
                     864     ;    if (CRC(9)==0) //校验正确
                     865                             ; SOURCE LINE # 171
0005 7F09            866             MOV     R7,#09H
0007 120000   F      867             LCALL   _CRC
000A EF              868             MOV     A,R7
000B 7027            869             JNZ     ?C0025
                     870     ;    {
                     871                             ; SOURCE LINE # 172
                     872     ;           Temperature = temp_buff[1]*0x100 + temp_buff[0];
                     873                             ; SOURCE LINE # 173
000D 7800     F      874             MOV     R0,#LOW (temp_buff+01H)
000F E6              875             MOV     A,@R0
0010 FE              876             MOV     R6,A
0011 18              877             DEC     R0
0012 E6              878             MOV     A,@R0
0013 7C00            879             MOV     R4,#00H
0015 2400            880             ADD     A,#00H
0017 7800     F      881             MOV     R0,#LOW (Temperature+01H)
0019 F6              882             MOV     @R0,A
001A EC              883             MOV     A,R4
001B 3E              884             ADDC    A,R6
001C 18              885             DEC     R0
001D F6              886             MOV     @R0,A
                     887     ; //        Temperature *= 0.625;
                     888     ;               Temperature /= 16;
                     889                             ; SOURCE LINE # 175
001E 7900     F      890             MOV     R1,#LOW (Temperature)
0020 E7              891             MOV     A,@R1
0021 C4              892             SWAP    A
0022 F8              893             MOV     R0,A
0023 54F0            894             ANL     A,#0F0H
0025 C8              895             XCH     A,R0
0026 68              896             XRL     A,R0
0027 F7              897             MOV     @R1,A
0028 09              898             INC     R1
0029 E7              899             MOV     A,@R1

⌨️ 快捷键说明

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