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

📄 adc0_temp.lst

📁 C8051F340开发板开发的通过调试片外电阻的值
💻 LST
字号:
C51 COMPILER V7.06   ADC0_TEMP                                                             06/06/2007 17:00: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          
   4          #include "C8051F340.h"
   5          typedef unsigned int uint;
   6          typedef unsigned char uchar;
   7          typedef unsigned long ulong;
   8          bit isnewdata;
   9          uint kk;
  10          float temp;
  11          idata float t[20];//存放温度检测数据,为20个数据
  12          // Peripheral specific initialization functions,
  13          // Called from the Init_Device() function
  14          void PCA_Init()
  15          {
  16   1          PCA0MD    &= ~0x40;
  17   1      }
  18          
  19          void ADC_Init()
  20          {   
  21   1         REF0CN  = 0x0E;                     // Enable voltage reference VREF
  22   1         AMX0P = 0x04;                       // Positive input starts as P2.5
  23   1         AMX0N = 0x1F;                       // Single ended mode(neginput = gnd)
  24   1      
  25   1         ADC0CF  = 0xF8;                     // SAR Period 0x1F, Right adjusted
  26   1      
  27   1         ADC0CN  = 0x80;                     // Continuous converion on AD0BUSY=1 
  28   1                                             
  29   1         EIE1   |= 0x08;                     
  30   1         
  31   1              
  32   1      }
  33          
  34          void Port_IO_Init()
  35          {
  36   1          
  37   1         P2MDIN   = 0xDF;                    // P2.5 set as analog input
  38   1         P2SKIP   = 0x20;                    // P2.5 skipped by crossbar
  39   1         XBR0     = 0x00;
  40   1         XBR1     = 0x40;                    // Enable Crossbar
  41   1      }
  42          
  43          
  44          // Initialization function for device,
  45          // Call Init_Device() from your main program
  46          void Init_Device(void)
  47          {
  48   1          PCA_Init();
  49   1          ADC_Init();
  50   1          Port_IO_Init();
  51   1      }
  52          
  53          
  54          void main(){
  55   1              char i;
C51 COMPILER V7.06   ADC0_TEMP                                                             06/06/2007 17:00:48 PAGE 2   

  56   1              Init_Device();
  57   1              AD0BUSY=1;//ADC0启动
  58   1              i=0;
  59   1              while(1){
  60   2                      if(AD0INT){//由该位查询ADC0转化值是否更新
  61   3                          AD0INT=0;
  62   3                              kk=ADC0H*256;
  63   3                              kk+=ADC0L;//可用sfr16一次性读取
  64   3                              temp=(float)kk/1024;
  65   3                              temp*=3.4;
  66   3                              t[i]=temp;//将温度检测值存入长度为20的数组中
  67   3                              i++;
  68   3                  AD0BUSY=1;//ADC0启动
  69   3                              if(i>19)
  70   3                                      i=0;//在此设断点,观察程序运行结果
  71   3                  
  72   3                      }
  73   2              }
  74   1      }
  75          
  76          
  77          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    152    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      6       1
   IDATA SIZE       =     80    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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