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

📄 adc0.lst

📁 C8051F020单片机的AD测试程序
💻 LST
字号:
C51 COMPILER V7.02b   ADC0                                                                 10/31/2005 16:30:55 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE ADC0
OBJECT MODULE PLACED IN .\output\ADC0.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADC0.c DEBUG OBJECTEXTEND OBJECT(.\output\ADC0.obj)

stmt level    source

   1          /************************************************************************************
   2          *  Copyright (c) 2004,西安铭朗电子科技有限责任公司
   3          *            All rights reserved.
   4          *
   5          * 文件名称: ADC0.C
   6          * 文件标识: none
   7          * 适用器件: c8051f020
   8          * 
   9          * 摘 要: 本文件是AD子程序;使用外部22.1184MHz晶振,将跳线器JP3短接
  10          * 
  11          * 当前版本:1.0
  12          * 作 者:卢 阳
  13          * 完成日期:2004年11月14日
  14          *
  15          * 历史版本:0.9 
  16          * 原作者 : 李林利
  17          * 完成日期:2004年1月1日
  18          *************************************************************************************/
  19          
  20          /************************************************************************************/
  21          // 引用外部头文件
  22          
  23          #include "c8051f020.h"                 
  24          #include <stdio.h>
  25          #include "ADC.h"
  26          
  27          /************************************************************************************/
  28          
  29          /***********************************************************************************
  30          * 函数名称:UART0_Init;
  31          *
  32          * 函数功能描述:设置UART0使用定时器Timer1, 应用 <baudrate> 和 8-N-1.
  33          *              
  34          * 输入参数:none;
  35          *
  36          * 返回数据:none;
  37          *
  38          * 注意:    none;
  39          ************************************************************************************/
  40          
  41          void UART0_Init (void)
  42          {
  43   1         SCON0   = 0x50;                     // SCON0: 模式1, 8位UART, 使能RX
  44   1         TMOD    = 0x20;                     // TMOD: 定时器1, 模式2, 8位重载 
  45   1         TH1    = -(SYSCLK/BAUDRATE/16);     // 设置定时器Timer1重装载值,应用 <baudrate> 
  46   1         TR1    = 1;                         // 启动Timer1
  47   1         CKCON |= 0x10;                      // 定时器Timer1使用系统时钟作为时间基准
  48   1         PCON  |= 0x80;                      // SMOD00 = 1
  49   1         TI0    = 1;                         // Indicate TX0 ready
  50   1      }
  51          
  52          /***********************************************************************************
  53          * 函数名称:ADC0_Init;
  54          *
  55          * 函数功能描述:设置ADC0使用定时器Timer3溢出作为转换源,转换完成后产生中断,使用左对齐输出模式
C51 COMPILER V7.02b   ADC0                                                                 10/31/2005 16:30:55 PAGE 2   

  56          *              
  57          * 输入参数:none;
  58          *
  59          * 返回数据:none;
  60          *
  61          * 注意:    none;
  62          ************************************************************************************/
  63          
  64          void ADC0_Init (void)
  65          {
  66   1         ADC0CN = 0x45;                      // 关闭ADC0; 低能追踪模式
  67   1                                             // DC0使用定时器Timer3溢出作为转换源;
  68   1                                                                                 //使用左对齐输出模式
  69   1      
  70   1         REF0CN = 0x07;                      // 打开温度传感器, on-chip VREF,
  71   1                                             // VREF输出缓存器
  72   1         AMX0SL = 0x00;                      // 选择AIN0作为ADC mux输出
  73   1         ADC0CF = (SYSCLK/2500000) << 3;     // ADC转换时钟= 2.5MHz
  74   1         ADC0CF &= ~0x07;                    // PGA gain = 1
  75   1      
  76   1         EIE2 |= 0x02;                       // 打开ADC中断
  77   1      }
  78          
  79          
  80          /***********************************************************************************
  81          * 函数名称:Timer3_Init;
  82          *
  83          * 函数功能描述:lcd_init;
  84          *              
  85          * 输入参数:none;
  86          *
  87          * 返回数据:none;
  88          *
  89          * 注意:    none;
  90          ************************************************************************************/
  91          
  92          void Timer3_Init (int counts)
  93          {
  94   1         TMR3CN = 0x02;                      // 停止Timer3; 清除TF3;
  95   1                                             // 使用SYSCLK作为时间基准
  96   1         TMR3RL  = -counts;                  // 初始化装载值
  97   1         TMR3    = 0xffff;                   // 设置立即装载
  98   1         EIE2   &= ~0x01;                    // 关闭定时器Timer3中断
  99   1         TMR3CN |= 0x04;                     // 开启Timer3
 100   1      }
 101          
 102          /***********************************************************************************
 103          * 函数名称:ADC0_enable
 104          *
 105          * 函数功能描述:ADC0开关,1:打开;0:关闭
 106          *              
 107          * 输入参数:1:打开;0:关闭
 108          *
 109          * 返回数据:none;
 110          *
 111          * 注意:    none;
 112          ************************************************************************************/
 113          
 114          void ADC0_enable(unsigned char flag)
 115          {
 116   1              if(flag)
 117   1              {
C51 COMPILER V7.02b   ADC0                                                                 10/31/2005 16:30:55 PAGE 3   

 118   2                      AD0EN = 1;                          // 打开ADC
 119   2              EA = 1;                             // 开启全局中断
 120   2              }
 121   1              else
 122   1              {
 123   2                      AD0EN = 0;                          // 关闭ADC
 124   2      //      EA = 0;                             // 关闭全局中断
 125   2              }
 126   1      }
 127          
 128          
 129          /***********************************************************************************/
 130          // 文件结束
 131          /***********************************************************************************/


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