📄 adc.lst
字号:
C51 COMPILER V8.15 ADC 12/29/2008 16:26:34 PAGE 1
C51 COMPILER V8.15, 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 /************************************************************************************
2 * Copyright (c) 2004,西安铭朗电子科技有限责任公司
3 * All rights reserved.
4 *
5 * 文件名称: adc.C
6 * 文件标识: none
7 * 适用器件: C8051F040
8 *
9 * 摘 要:
10 *
11 * 当前版本:1.0
12 * 作 者:张宁强
13 * 完成日期:2006年1月20日
14 *
15 * 历史版本:0.9
16 * 原作者 : 张宁强
17 * 完成日期:2005年x月xx日
18 *************************************************************************************/
19
20 #include "MAIN.h"
21
22 unsigned int result[9]; // AIN0-5
23
24 void ADC0_Init (void)
25 {
26 1 char SFRPAGE_SAVE = SFRPAGE; // 保存当前SFRPAGE
27 1 SFRPAGE = LEGACY_PAGE; // 改变页
28 1
29 1 REF0CN = 0x07; // 打开温度传感器, on-chip VREF,
30 1 ADC0CF = (SYSCLK/2500000) << 3; // ADC转换时钟= 2.5MHz
31 1 ADC0CF &= ~0x07; // PGA gain = 1
32 1 AD0EN = 1; // 打开ADC
33 1
34 1 HVA0CN = 0x88; //GAIN = 1 // 设置高压差分放大器
35 1
36 1 SFRPAGE = SFRPAGE_SAVE; // 恢复SFRPAGE
37 1 }
38
39 void ADC0_Conver (void)
40 {
41 1 unsigned char i; // ADC mux 通道 (0-3)
42 1 unsigned int data temp;
43 1 char SFRPAGE_SAVE = SFRPAGE; // 保存当前SFRPAGE
44 1 SFRPAGE = ADC0_PAGE; // 改变页
45 1
46 1 for (i=0;i<4;i++)
47 1 {
48 2 AMX0SL = i; // 设置mux到通道AIN0x
49 2 DelayMs(1);
50 2 AD0INT = 0; // 清除ADC转换完成标志
51 2 AD0BUSY = 1;
52 2 while (!AD0INT);
53 2 temp = ADC0H;
54 2 temp = temp*256 + ADC0L;
55 2 result[i] = temp; // 读ADC值
C51 COMPILER V8.15 ADC 12/29/2008 16:26:34 PAGE 2
56 2 }
57 1
58 1 AMX0SL = 0x08; // 设置mux到温度传感器
59 1 DelayMs(1);
60 1 AD0INT = 0; // 清除ADC转换完成标志
61 1 AD0BUSY = 1;
62 1 while (!AD0INT);
63 1 temp = ADC0H;
64 1 temp = temp*256 + ADC0L;
65 1 result[4] = temp; // 读ADC值
66 1
67 1
68 1 AMX0SL = 0x04; // 设置mux到高压差分放大器
69 1 DelayMs(100);
70 1 AD0INT = 0; // 清除ADC转换完成标志
71 1 AD0BUSY = 1;
72 1 while (!AD0INT);
73 1 temp = ADC0H;
74 1 temp = temp*256 + ADC0L;
75 1 result[5] = temp; // 读ADC值
76 1
77 1 SFRPAGE = SFRPAGE_SAVE; // 恢复SFRPAGE
78 1 }
79
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 182 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 18 4
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 + -