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

📄 bootloader.lst

📁 操作DS18B20器件并且在1602上显示
💻 LST
字号:
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE BOOTLOADER
OBJECT MODULE PLACED IN BootLoader.OBJ
COMPILER INVOKED BY: c:\Keil\C51\BIN\C51.EXE BootLoader.C BROWSE DEBUG OBJECTEXTEND CODE

line level    source

   1          /******************************************************************************/
   2          /**
   3          /** 模 块 名: -------------------Virtual_UART.C-----------------------------
   4          /**            -----------------虚拟串口调试------------------------------*/
   5          /** 功能描述: 
   6          /**
   7          /** 创 建 人: huangtiexiong    日期:2006-11-28   */
   8          /** 修 改 人:                  日期:2006-11-28   */ 
   9          /** 其他说明: 
  10          /******************************************************************************/
  11          #include "Includes.h"
  12          
  13          int8u bdata gTmp;
  14          sbit t0 = gTmp^0;
  15          sbit t1 = gTmp^1;
  16          sbit t2 = gTmp^2;
  17          sbit t3 = gTmp^3;
  18          sbit t4 = gTmp^4;
  19          sbit t5 = gTmp^5;
  20          sbit t6 = gTmp^6;
  21          sbit t7 = gTmp^7;
  22          
  23          /*************************************************
  24              子函数定义                  
  25          *************************************************/
  26          
  27          /*******************************************************************************
  28          *** 函 数 名: void main(void)
  29          *** 功能描述: 本例程调试用故仅对DS18B20执行一次读操作,不支持温度实时显示,有此需要者适当修改本例程
  30                                    在Proteus 6.9SP4下调试通过,其他版本未知
  31          *** 全局变量: 
  32          *** 输          入: 
  33          *** 输          出: 
  34          *** 创 建 人:huangtiexiong                       日期:2006-11-28
  35          *** 修 改 人:                                                                          日期:2006-11-28
  36          *** 函数说明: 
  37          /******************************************************************************/
  38          void main(void)
  39          {
  40   1              int8u datTm[2];
  41   1              int8u dispBuf[7];
  42   1              float temp;
  43   1              int8u buftmp;
  44   1              LCD_Init();
  45   1              
  46   1              DS18B20_Init();
  47   1              DS18B20_RomCmd(0xcc);   //Skip Rom command;
  48   1              Delay_Xms(20);
  49   1              DS18B20_MemCmd(0x44);   //Convert T command;
  50   1              
  51   1              DS18B20_Init();
  52   1              DS18B20_RomCmd(0xcc); //Skip Rom command
  53   1              DS18B20_MemCmd(0xbe);    //读暂存存储器
  54   1              DS18B20_ReadDat(2,datTm);
  55   1                      
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 2   

  56   1              LCD_Display(0,"Temperature:");
  57   1              gTmp = datTm[0];
  58   1              temp = (int8u)t0 * 0.0625 + (int8u)t1 * 0.125 + (int8u)(t2) * 0.25 + (int8u)(t3) * 0.5;
  59   1              buftmp = (int8u)(temp*10);
  60   1              dispBuf[2] = '.';
  61   1              dispBuf[3] = buftmp + '0';
  62   1              
  63   1              buftmp = (int8u)t4 + (int8u)t5*2 + (int8u)t6*4 + (int8u)t7*8;
  64   1              gTmp = datTm[1];
  65   1              gTmp &= 0x07;
  66   1              buftmp += (gTmp * 16);
  67   1              dispBuf[0] = (buftmp/10) + '0';
  68   1              dispBuf[1] = (buftmp%10) + '0';
  69   1              
  70   1              dispBuf[4] = 0xdf;              //摄氏度;
  71   1              dispBuf[5] = 'C';
  72   1              dispBuf[6] = '\0';
  73   1              LCD_Display(1,dispBuf);
  74   1              
  75   1              while(1);
  76   1              }
  77          
  78          /*******************************************************************************
  79          ****                              End Of File
  80          *******************************************************************************/
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 3   

ASSEMBLY LISTING OF GENERATED OBJECT CODE


             ; FUNCTION main (BEGIN)
                                           ; SOURCE LINE # 38
                                           ; SOURCE LINE # 39
                                           ; SOURCE LINE # 44
0000 120000      E     LCALL   LCD_Init
                                           ; SOURCE LINE # 46
0003 120000      E     LCALL   DS18B20_Init
                                           ; SOURCE LINE # 47
0006 7FCC              MOV     R7,#0CCH
0008 120000      E     LCALL   _DS18B20_RomCmd
                                           ; SOURCE LINE # 48
000B 7F14              MOV     R7,#014H
000D 120000      E     LCALL   _Delay_Xms
                                           ; SOURCE LINE # 49
0010 7F44              MOV     R7,#044H
0012 120000      E     LCALL   _DS18B20_MemCmd
                                           ; SOURCE LINE # 51
0015 120000      E     LCALL   DS18B20_Init
                                           ; SOURCE LINE # 52
0018 7FCC              MOV     R7,#0CCH
001A 120000      E     LCALL   _DS18B20_RomCmd
                                           ; SOURCE LINE # 53
001D 7FBE              MOV     R7,#0BEH
001F 120000      E     LCALL   _DS18B20_MemCmd
                                           ; SOURCE LINE # 54
0022 7B00              MOV     R3,#00H
0024 7A00        R     MOV     R2,#HIGH datTm
0026 7900        R     MOV     R1,#LOW datTm
0028 7F02              MOV     R7,#02H
002A 120000      E     LCALL   _DS18B20_ReadDat
                                           ; SOURCE LINE # 56
002D 7BFF              MOV     R3,#0FFH
002F 7A00        R     MOV     R2,#HIGH ?SC_0
0031 7900        R     MOV     R1,#LOW ?SC_0
0033 E4                CLR     A
0034 FF                MOV     R7,A
0035 120000      E     LCALL   _LCD_Display
                                           ; SOURCE LINE # 57
0038 850000      R     MOV     gTmp,datTm
                                           ; SOURCE LINE # 58
003B A200        R     MOV     C,t1
003D E4                CLR     A
003E 33                RLC     A
003F FC                MOV     R4,A
0040 E4                CLR     A
0041 120000      E     LCALL   ?C?FCASTC
0044 E4                CLR     A
0045 FB                MOV     R3,A
0046 FA                MOV     R2,A
0047 F9                MOV     R1,A
0048 783E              MOV     R0,#03EH
004A 120000      E     LCALL   ?C?FPMUL
004D C004              PUSH    AR4
004F C005              PUSH    AR5
0051 C006              PUSH    AR6
0053 C007              PUSH    AR7
0055 A200        R     MOV     C,t0
0057 E4                CLR     A
0058 33                RLC     A
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 4   

0059 FC                MOV     R4,A
005A E4                CLR     A
005B 120000      E     LCALL   ?C?FCASTC
005E E4                CLR     A
005F FB                MOV     R3,A
0060 FA                MOV     R2,A
0061 7980              MOV     R1,#080H
0063 783D              MOV     R0,#03DH
0065 120000      E     LCALL   ?C?FPMUL
0068 D003              POP     AR3
006A D002              POP     AR2
006C D001              POP     AR1
006E D000              POP     AR0
0070 120000      E     LCALL   ?C?FPADD
0073 C004              PUSH    AR4
0075 C005              PUSH    AR5
0077 C006              PUSH    AR6
0079 C007              PUSH    AR7
007B A200        R     MOV     C,t2
007D E4                CLR     A
007E 33                RLC     A
007F FC                MOV     R4,A
0080 E4                CLR     A
0081 120000      E     LCALL   ?C?FCASTC
0084 E4                CLR     A
0085 FB                MOV     R3,A
0086 FA                MOV     R2,A
0087 7980              MOV     R1,#080H
0089 783E              MOV     R0,#03EH
008B 120000      E     LCALL   ?C?FPMUL
008E D003              POP     AR3
0090 D002              POP     AR2
0092 D001              POP     AR1
0094 D000              POP     AR0
0096 120000      E     LCALL   ?C?FPADD
0099 C004              PUSH    AR4
009B C005              PUSH    AR5
009D C006              PUSH    AR6
009F C007              PUSH    AR7
00A1 A200        R     MOV     C,t3
00A3 E4                CLR     A
00A4 33                RLC     A
00A5 FC                MOV     R4,A
00A6 E4                CLR     A
00A7 120000      E     LCALL   ?C?FCASTC
00AA E4                CLR     A
00AB FB                MOV     R3,A
00AC FA                MOV     R2,A
00AD F9                MOV     R1,A
00AE 783F              MOV     R0,#03FH
00B0 120000      E     LCALL   ?C?FPMUL
00B3 D003              POP     AR3
00B5 D002              POP     AR2
00B7 D001              POP     AR1
00B9 D000              POP     AR0
00BB 120000      E     LCALL   ?C?FPADD
00BE 8F00        R     MOV     temp+03H,R7
00C0 8E00        R     MOV     temp+02H,R6
00C2 8D00        R     MOV     temp+01H,R5
00C4 8C00        R     MOV     temp,R4
                                           ; SOURCE LINE # 59
00C6 E4                CLR     A
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 5   

00C7 FF                MOV     R7,A
00C8 FE                MOV     R6,A
00C9 7D20              MOV     R5,#020H
00CB 7C41              MOV     R4,#041H
00CD AB00        R     MOV     R3,temp+03H
00CF AA00        R     MOV     R2,temp+02H
00D1 A900        R     MOV     R1,temp+01H
00D3 A800        R     MOV     R0,temp
00D5 120000      E     LCALL   ?C?FPMUL
00D8 120000      E     LCALL   ?C?CASTF
;---- Variable 'buftmp' assigned to Register 'R7' ----
                                           ; SOURCE LINE # 60
00DB 75002E      R     MOV     dispBuf+02H,#02EH
                                           ; SOURCE LINE # 61
00DE EF                MOV     A,R7
00DF 2430              ADD     A,#030H
00E1 F500        R     MOV     dispBuf+03H,A
                                           ; SOURCE LINE # 63
00E3 A200        R     MOV     C,t5
00E5 E4                CLR     A
00E6 33                RLC     A
00E7 25E0              ADD     A,ACC
00E9 FF                MOV     R7,A
00EA A200        R     MOV     C,t4
00EC E4                CLR     A
00ED 33                RLC     A
00EE 2F                ADD     A,R7
00EF FF                MOV     R7,A
00F0 A200        R     MOV     C,t6
00F2 E4                CLR     A
00F3 33                RLC     A
00F4 25E0              ADD     A,ACC
00F6 25E0              ADD     A,ACC
00F8 2F                ADD     A,R7
00F9 FF                MOV     R7,A
00FA A200        R     MOV     C,t7
00FC E4                CLR     A
00FD 33                RLC     A
00FE 75F008            MOV     B,#08H
0101 A4                MUL     AB
0102 2F                ADD     A,R7
0103 FF                MOV     R7,A
                                           ; SOURCE LINE # 64
0104 850000      R     MOV     gTmp,datTm+01H
                                           ; SOURCE LINE # 65
0107 530007      R     ANL     gTmp,#07H
                                           ; SOURCE LINE # 66
010A E500        R     MOV     A,gTmp
010C C4                SWAP    A
010D 54F0              ANL     A,#0F0H
010F 2F                ADD     A,R7
0110 FF                MOV     R7,A
                                           ; SOURCE LINE # 67
0111 75F00A            MOV     B,#0AH
0114 84                DIV     AB
0115 2430              ADD     A,#030H
0117 F500        R     MOV     dispBuf,A
                                           ; SOURCE LINE # 68
0119 EF                MOV     A,R7
011A 75F00A            MOV     B,#0AH
011D 84                DIV     AB
011E E5F0              MOV     A,B
C51 COMPILER V8.05a   BOOTLOADER                                                           10/07/2008 19:46:53 PAGE 6   

0120 2430              ADD     A,#030H
0122 F500        R     MOV     dispBuf+01H,A
                                           ; SOURCE LINE # 70
0124 7500DF      R     MOV     dispBuf+04H,#0DFH
                                           ; SOURCE LINE # 71
0127 750043      R     MOV     dispBuf+05H,#043H
                                           ; SOURCE LINE # 72
012A E4                CLR     A
012B F500        R     MOV     dispBuf+06H,A
                                           ; SOURCE LINE # 73
012D FB                MOV     R3,A
012E 7A00        R     MOV     R2,#HIGH dispBuf
0130 7900        R     MOV     R1,#LOW dispBuf
0132 7F01              MOV     R7,#01H
0134 120000      E     LCALL   _LCD_Display
0137         ?C0001:
                                           ; SOURCE LINE # 75
0137 80FE              SJMP    ?C0001
             ; FUNCTION main (END)



MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    313    ----
   CONSTANT SIZE    =     13    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      1      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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