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