adc_config.lst

来自「菜鸟,详细NRF24E1运用,程序,电路」· LST 代码 · 共 101 行

LST
101
字号
C51 COMPILER V9.00   ADC_CONFIG                                                            11/13/2010 14:51:51 PAGE 1   


C51 COMPILER V9.00, COMPILATION OF MODULE ADC_CONFIG
OBJECT MODULE PLACED IN adc_config.OBJ
COMPILER INVOKED BY: D:\Program Files\KEIL C  V4\C51\BIN\C51.EXE adc_config.c BROWSE DEBUG OBJECTEXTEND

line level    source

*** WARNING C500 IN LINE 1 OF ADC_CONFIG.C: LICENSE ERROR (R208: RENEW LICENSE ID CODE (LIC))

   1          
   2          #include "reg24le1.h"              //头文件包含定义寄存器地址
   3          #include "conf.h"                          //下面那些函数的包含头文件
   4          
   5          /**AD功能配置函数***/
   6          /*函数名称:adc_config();传递的参数无,用于初始化AD转换**/
   7          
   8          void adc_config()
   9          {
  10   1       ADCCON2=0X00;                 //设置成单步转换并使能,速度为2ksps
  11   1       ADCCON3|=0XE0;                            //精度12bit,数据右对齐
  12   1       ADCDATH&=0XF0;                            //转换结果寄存器清0
  13   1       ADCDATL&=0X00;
  14   1       P0DIR|=0X07;                              //设置转换的输入通道为0,1,2
  15   1       P0&=0XF8;                                     //端口初始化为低
  16   1       }
  17          
  18          /***串口初始化函数***/
  19          /***函数名称: uart_init();传递的参数无,用于串口的初始化*/
  20          
  21          void uart_init()
  22          {
  23   1          CLKCTRL = 0x28;                        // 使用 XCOSC16M     
  24   1              CLKLFCTRL = 0x01; 
  25   1      
  26   1              P0DIR &= 0xF7;                          // P03 (TxD) 
  27   1              P0DIR |= 0x10;                          // P04 (RxD) 
  28   1              P0|=0x18;        
  29   1                      
  30   1              S0CON = 0x50;  
  31   1              PCON |= 0x80;                           // 倍增
  32   1              WDCON |= 0x80;                          // 选用内部波特率发生器
  33   1              
  34   1              S0RELH = 0x03;  
  35   1              S0RELL = 0xF3;              // 设置波特率为38400         
  36   1      }
  37          
  38          /*通过串口发送一个字符到串口终端*/
  39          
  40          void send(char ch)                              //通过串口发送一个字符
  41          {
  42   1      S0BUF=ch;
  43   1      while(!TI0);                                    //等待发送完成
  44   1      TI0=0;
  45   1      }
  46          
  47          /*读取AD转换结果的功能函数,pip_num保存通道号,返回AD转换的结果*/
  48          /*通过定义的静态变量来循环读取0.1.2三个通道*/
  49          unsigned int readadc(unsigned char* pip_num)
  50          {
  51   1       unsigned int res=0;
  52   1       static unsigned char num=0;
  53   1       ADCCON1=BIT7+(num<<2)+BIT0;    //设置转换的通道,设置参考,以及启动
  54   1       while(!(ADCCON1&BIT6));                //等待启动
C51 COMPILER V9.00   ADC_CONFIG                                                            11/13/2010 14:51:51 PAGE 2   

  55   1       while((ADCCON1&BIT6));                 //等待完成转换
  56   1       res=ADCDATL+(ADCDATH&0X0F)*256;//读取结果
  57   1       *pip_num=num;                                  //保存当前通道号
  58   1       num++;
  59   1       num=num%3;                                             //计算下一个需要转换的通道
  60   1       return res;
  61   1      }
  62          
  63          /*软件延时函数,通过设置内部循环的次数来决定延时的时间*/
  64          void delay(unsigned int dx)             //软件延时函数
  65          {
  66   1      unsigned int di;
  67   1        for(;dx>0;dx--)
  68   1          for(di=120;di>0;di--)
  69   1                  {
  70   2                      ;
  71   2                      }
  72   1      
  73   1      }


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


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

⌨️ 快捷键说明

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