call20b.lst

来自「单片机C语言教程」· LST 代码 · 共 73 行

LST
73
字号
C51 COMPILER V8.02   CALL20B                                                               08/10/2007 12:12:23 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CALL20B
OBJECT MODULE PLACED IN CALL20B.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE CALL20B.C BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*************************************************************
   2          /* 这是调用DS1620的汇编程序(DS1620B.ASM)的C51程序,         */
   3          /* 文件名CALL20B.C                                           */
   4          /* 功能:本程序主要是读出DS1620芯片的温度转换值,转换值先放   */
   5          /*       在变量temp1中。转换值范围-55℃~125℃。 若flag0=0为  */
   6          /*       正温度,若flag0=1为负温度值,最终结果在浮点变量cc中。 */
   7          /*************************************************************/
   8          #include <reg52.h>
   9          #define uchar unsigned char
  10          #define uint unsigned int
  11          
  12          void delay1(uint x);
  13          
  14          extern  uint chai;          //把全局变量chai声明为外部变量
  15          extern  uint a_func(uchar); //把a_func 声明为外部函数
  16          
  17          uint idata temp1;
  18          uchar flag0,temp2;
  19          float idata cc;
  20          
  21          void delay1(uint x)          //延时程序
  22          {
  23   1       uchar tw;
  24   1       while (x-->0){
  25   2       for (tw=0;tw<125;tw++){;}
  26   2       }
  27   1      }
  28          
  29          void main()                   //主程序
  30          {
  31   1            SP=0xcf;
  32   1            delay1(1000);
  33   1            EA=0;
  34   1            flag0=0;
  35   1            chai=a_func(0x0a);      // 读出DS1620的温度转换值
  36   1            temp1=chai;             // 放入变量temp1中
  37   1            temp1=temp1&0x01ff;     // 保留数值有用部分
  38   1            //若flag0=0为正温度,若flag0=1为负温度值,结果在变量cc中。
  39   1            if  (temp1>0xff) {
  40   2              flag0=1;
  41   2              temp2=temp1-256;
  42   2              temp2=~temp2+1;
  43   2              temp1=temp2;
  44   2              }
  45   1            cc=(float)temp1/2.0;    //计算出温度值
  46   1            while(1);
  47   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    121    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      2    ----
C51 COMPILER V8.02   CALL20B                                                               08/10/2007 12:12:23 PAGE 2   

   IDATA SIZE       =      6    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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