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

📄 adc.lst

📁 太欣单片机STK6031的测试程序
💻 LST
字号:
C51 COMPILER V8.08   ADC                                                                   10/24/2007 15:46:33 PAGE 1   


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

line level    source

   1          #include <INTRINS.H>
   2          #include "STK6031.h"
   3          
   4          //********************************************************************************
   5          //定义数据类型
   6          typedef unsigned char uint8;
   7          typedef unsigned int  uint16;
   8          
   9          
  10          /*
  11          ********************************************************************************  
  12          *       函 数 名:InitMCU
  13          *       功能描述:初始化MCU,其中包括初始化各I/O口,CHIPCON,
  14                                        CKCON,选择I/O口的功能
  15          *       输    入: 无
  16          *       返    回: 无
  17          ********************************************************************************
  18          */      
  19          
  20          void InitMcu(void)
  21          {
  22   1              P0              = 0xFF;      //初始化各I/O 口
  23   1              P1              = 0xFF;
  24   1              P2              = 0xFF;
  25   1              P3              = 0xFF;
  26   1              P4              = 0x0F;
  27   1              
  28   1              XFR_PADOPT_ADC = 0x02;    //设置P4.1 脚作为ADC 输入功能
  29   1      
  30   1              CHIPCON = 0x1A;  // 设置CPUCLK=XTAL1/3,允许访问片内AUX 存储器,禁止ALE 输出,允许低电压复位
  31   1              CKCON = 0x39;  // 设置TIMER0,TIMER1,TIMER2 的计数频率为CPUCLK/4, 设置MOVX 指令访问外部AUX 存储器的时间为3
             - 个机器周期
  32   1      }
  33          
  34          
  35          /*
  36          ********************************************************************************
  37          *       函 数 名: Delay
  38          *       功能描述: 延时函数,延时的间隔是1ms
  39          *       输    入: Time  :控制延时的间隔
  40          *       返    回: 无
  41          ********************************************************************************
  42          */
  43          
  44          void Delay(uint8 Time)
  45          {
  46   1              uint8 i;
  47   1      
  48   1      //      需要执行2000个指令周期
  49   1              while(Time--)  {
  50   2                      i = 199;
  51   2                      while(i--);   //这一段将执行10个指令周期
  52   2                      }
  53   1      }
  54          
C51 COMPILER V8.08   ADC                                                                   10/24/2007 15:46:33 PAGE 2   

  55          
  56          /*
  57          ********************************************************************************  
  58          *       函 数 名:GetADCValue
  59          *       功能描述:完成ADC 转换并返回3次读到ADC 结果的平均值
  60          *       输    入: 无
  61          *       返    回: ADC转换后的6 位结果
  62          ********************************************************************************
  63          */      
  64          
  65          uint8 GetADCValue(void)
  66          {
  67   1              uint8 i;
  68   1              uint8 ADCBUFF[3];
  69   1              XFR_ADCCH            = 0x80|0x02; 
  70   1              Delay(10);
  71   1              for (i=0; i<3; i++) 
  72   1                      {
  73   2                      ADCBUFF[i] = XFR_ADC & 0x3F;
  74   2                      }
  75   1              return((ADCBUFF[0] + ADCBUFF[1] + ADCBUFF[2])/3);
  76   1      }
  77          
  78          
  79          void main(void)
  80          {
  81   1              InitMcu();
  82   1              while(1)
  83   1                      {
  84   2              Delay(100); // 每100ms 把ADC 转换的6 位结果输入到P1 口的低6 位
  85   2              P1 = GetADCValue() & 0x3F;
  86   2                      }
  87   1      }
  88          
  89          
  90          
  91          
  92          
  93          
  94          


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