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

📄 adc0_temp.lst

📁 C8051F340开发板开发的通过调试片内温度传感器
💻 LST
字号:
C51 COMPILER V7.06   ADC0_TEMP                                                             06/06/2007 18:19:48 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE ADC0_TEMP
OBJECT MODULE PLACED IN ADC0_TEMP.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ADC0_TEMP.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          //内部温度传感器调试程序//
   2          //ADC0_TEMP.c
   3          #include "C8051F340.h"
   4          
   5          typedef unsigned int uint;
   6          typedef unsigned char uchar;
   7          typedef unsigned long ulong;
   8          uchar temppage;
   9          uint kk;
  10          float temp;
  11          data float t[20];//存放温度检测数据,为20个数据
  12          
  13          // Peripheral specific initialization functions,
  14          // Called from the Init_Device() function
  15          
  16          void adc0_ini(){
  17   1      
  18   1         REF0CN = 0x07;                     
  19   1         AMX0P = 0x1E;                       
  20   1         AMX0N = 0x1F;                       
  21   1         ADC0CF  = 0x78;                     
  22   1         ADC0CN  = 0x80;                    
  23   1                                             
  24   1         EIE1   |= 0x08;                     
  25   1      }
  26          
  27          void PCA_Init()
  28          {
  29   1          PCA0MD    &= ~0x40;
  30   1      }
  31          
  32          void Port_IO_Init()
  33          {
  34   1             //P2MDIN    = 0xDF;
  35   1             //P2SKIP    = 0x20;
  36   1             XBR1      = 0x40;
  37   1      }
  38          
  39          // Initialization function for device,
  40          // Call Init_Device() from your main program
  41          void Init_Device(void)
  42          {   
  43   1          PCA_Init();
  44   1          Port_IO_Init();
  45   1          adc0_ini();
  46   1      }
  47          
  48          void main(){
  49   1              char i;
  50   1              Init_Device();
  51   1              EA=1;
  52   1              AD0BUSY=1;
  53   1              i=0;
  54   1              while(1){
  55   2                      if(AD0INT){//由该位查询ADC0转化值是否更新
C51 COMPILER V7.06   ADC0_TEMP                                                             06/06/2007 18:19:48 PAGE 2   

  56   3                              AD0INT=0;
  57   3                              kk=ADC0H*256;
  58   3                              kk+=ADC0L;//可用sfr16一次性读取
  59   3                              temp=(float)kk/1024;
  60   3                              temp*=2.40;
  61   3                              temp-=0.776;
  62   3                              temp/=0.00286;//将测量值转化成真实温度值
  63   3                              t[i]=temp;//将温度检测值存入长度为20的数组中
  64   3                              i++;
  65   3                              if(i>19)
  66   3                                      i=0;
  67   3                              AD0BUSY=1;
  68   3                      }
  69   2              }
  70   1      }
  71          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    184    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     87       1
   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 + -