📄 adc.lst
字号:
C51 COMPILER V7.20 ADC 07/18/2007 10:12:10 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE ADC
OBJECT MODULE PLACED IN ADC.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\c51.exe ADC.c DB OE
line level source
1 #include "switch_power.h"
2
3
4
5
6
7 void ADC0_Initial(void)
8 {
9 1 AMX0N = 0x11;//operates in single-ended mode
10 1 ADC0CF = 0x78;//bit7--bit3 set AD0SC 11111 ,bit 2 set 0 means right-justified
11 1 ADC0CN = 0xc0;//bit 7 set 1 enable ADC0
12 1 //bit 6 set 0 means normal track mode, set 1 means low-power track-and-hold mod
13 1 //bit 5 conversion complete interrupt flag
14 1 //bit 4 busy bit
15 1 //bit 3 windows compare interrupt flag
16 1 //bit 2--0 start of conversion mode ,000 means write 1 to AD0BUSY
17 1 }
18
19 /************************************************
20 * I*R3*1024/Vref = CurrentNum *
21 ************************************************/
22 void ADC0_Current(void)
23 {
24 1 AMX0P = 0x0C;
25 1
26 1 AD0INT = 0;
27 1 AD0BUSY = 1;
28 1 while(AD0INT == 0);
29 1
30 1 CurrentNum = ADC0H;
31 1 CurrentNum <<= 8;
32 1 CurrentNum += ADC0L;
33 1 }
34
35 /***************************************************************************************
36 * U*R2*1024/(R1*Vref + R2*Vref) = VoltageNum - CurrentNum*R2/(R1+R2) *
37 ***************************************************************************************/
38 void ADC0_Voltage(void)
39 {
40 1 AMX0P = 0x0D;
41 1
42 1 AD0INT = 0;
43 1 AD0BUSY = 1;
44 1 while(AD0INT == 0);
45 1
46 1 VoltageNum = ADC0H;
47 1 VoltageNum <<= 8;
48 1 VoltageNum += ADC0L;
49 1
50 1 VoltageNum = VoltageNum - CurrentNum/20;
51 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 124 ----
C51 COMPILER V7.20 ADC 07/18/2007 10:12:10 PAGE 2
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 + -