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

📄 adconvert.lst

📁 使用STC12C5410AD单片机作为开发系统实现简易闹钟、秒表、打铃小系统程序。包含实时时钟芯片HT1380控制
💻 LST
字号:
C51 COMPILER V8.02   ADCONVERT                                                             07/11/2008 16:59:10 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ADCONVERT
OBJECT MODULE PLACED IN ADConvert.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ADConvert.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "STC12C5410AD.H"
   2          #include "adconvert.h"
   3          
   4          uchar code display_AD_channel_ID[2] = {0x00,0x01};
   5          
   6          void Delay1T(uint numb)                                 //晶振=11059200,机器周期=1.085069444us,"加"的机器周期=1
   7          {
   8   1               int n=0;
   9   1               for(;n<numb;n++);
  10   1      }
  11          
  12          /********************************************************************
  13          * 名称: 
  14          * 功能: A/D转换
  15          * 输入: channel为通道号   0:0通道;1:1通道(本程序中仅使用2个通道,即P1.0和P1.1,其余5个可根据需要自行添
             -加)
  16          * 返回值: AD_Result_Temp 即AD装换完成后得到的10位数据,用一个uint保存
  17          ********************************************************************/
  18          uint startADC(uchar channel)
  19          {
  20   1              uint AD_Result_Temp = 0;
  21   1      
  22   1              //P1 = 0xff;                            //将P1口置高,为A/D转换作准备
  23   1              ADC_CONTR = ADC_CONTR|0x80;     //1000 0000打开A/D转换电源
  24   1              P1M0 = 0x03;                    //0000 0011用于A/D转换的P1.0--P1.1先设为开漏。断开内部上拉电阻
  25   1              P1M1 = 0x03;                
  26   1              Delay1T(20);                    //延时20
  27   1              
  28   1              ADC_CONTR = ADC_CONTR&0xE0;     //1110 0000 清ADC_FLAG,ADC_START位和低3位
  29   1              ADC_CONTR = ADC_CONTR|(display_AD_channel_ID[channel]&0x07); //设置当前通道号
  30   1              
  31   1              Delay1T(1);                     //延时使输入电压达到稳定
  32   1              ADC_DATA = 0;                   //清A/D转换结果寄存器高8位
  33   1              ADC_LOW2 = 0;                                   //清A/D转换结果寄存器低2位
  34   1              
  35   1              /*启动AD转换*/
  36   1              ADC_CONTR = ADC_CONTR|0x08;             //0000 1000 ADC_START = 1,启动转换
  37   1              
  38   1              do { ; }                                                //等待A/D转换结束
  39   1              while((ADC_CONTR & 0x10)==0);           //0001 0000 ADC_FLAG为0时表示转换正在进行
  40   1              
  41   1              /*ADC_FLAG=1时,执行到此*/
  42   1              ADC_CONTR = ADC_CONTR&0xE7;                     //1110,0111清ADC_FLAG位,同时ADC_START置零,停止A/D转换
  43   1              
  44   1              /*AD转换结束*/
  45   1              AD_Result_Temp = ((AD_Result_Temp|ADC_DATA)<<2)|(ADC_LOW2&0x03);//保存AD转换的结果
  46   1              
  47   1              return (AD_Result_Temp);
  48   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =     96    ----
   CONSTANT SIZE    =      2    ----
   XDATA SIZE       =   ----    ----
C51 COMPILER V8.02   ADCONVERT                                                             07/11/2008 16:59:10 PAGE 2   

   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 + -