📄 adconvert.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 + -