?? ad.lst
字號:
C51 COMPILER V8.05a AD 11/26/2007 12:48:21 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE AD
OBJECT MODULE PLACED IN AD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE AD.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /****************************LPC935AD.C*******************************
2 *程序功能:測試LPC935 AD轉換功能
3 *轉換模式:單次轉換
4 *啟動方式:定時器0觸發
5 **************************************************************************/
6 /* 對于AD 轉換程序的編寫,主要需要注意的有5點:
7 1. 管腳的控制(選為AD 轉換器輸入的管腳,均應設置
8 為僅為輸入狀態,禁止數字功能)。
9 2. AD轉換工作模式的設置,LPC935 具有6 種模式,
10 可通過設置ADMODA 獲得相應的轉換模式。
11 3. AD轉換工作頻率(500KHz—3.3MHz)
12 及附加功能(DAC 或邊界檢測)的選擇。
13 4. AD轉換觸發、啟動方式的選擇
14 (通過設置ADCONx 獲得相應的觸發方式)。
15 5. 每一次AD 轉換完成,注意將AD 轉換完成標志位清0。
16
17 //***************************************************************************/
18
19 #include"reg935.h"
20 #include"UserDef.h"
21
22 uchar data lineVolt[3]; //[0] 保存A line volt,[1] 保存B line volt ,[3] 保存C line volt
23 uchar data lineCurrent[3]; //[0] 保存A line current,[1] 保存B line current ,[3] 保存C line current
24
25 /*漏電信息
26 [0]--漏電情況,1 : 有漏電;0 : 無漏電
27 [1]--漏電電流值
28 [2]--漏電線路,1: 表示A相漏電;2: 表示B相漏電; 3:表示C相漏電
29 */
30
31 uchar data leakageCurrentMsg[3];
32
33 void ADConvert(void)
34 {
35 1 //AD0 轉換器
36 1 ADINS = 0x01; //選擇00 通道
37 1 ADCON0 = START_ADC;
38 1 while(!(ADCON0&0x08)); //采樣結束判斷
39 1 lineCurrent[0] = AD0DAT0;
40 1 ADCON0 &= 0xF7; //清除AD 轉換完成標志
41 1
42 1 ADINS = 0x02; //選擇01 通道
43 1 ADCON0 = START_ADC;
44 1 while(!(ADCON0&0x08));
45 1 lineCurrent[1] = AD0DAT1;
46 1 ADCON0 &= 0xF7; //清除AD 轉換完成標志
47 1
48 1 ADINS = 0x04; //選擇02 通道
49 1 ADCON0 = START_ADC;
50 1 while(!(ADCON0&0x08));
51 1 lineCurrent[2] = AD0DAT2;
52 1 ADCON0 &= 0xF7; //清除AD 轉換完成標志
53 1
54 1 //AD1 轉換器
55 1 ADINS = 0x10; //選擇00 通道
C51 COMPILER V8.05a AD 11/26/2007 12:48:21 PAGE 2
56 1 ADCON1 = START_ADC;
57 1 while(!(ADCON1&0x08));
58 1 lineVolt[0] = AD1DAT0;
59 1 ADCON1 &= 0xF7; //清除AD 轉換完成標志
60 1
61 1 ADINS = 0x20; //選擇01 通道
62 1 ADCON1 = START_ADC;
63 1 while(!(ADCON1&0x08));
64 1 lineVolt[1] = AD1DAT1;
65 1 ADCON1 &= 0xF7; //清除AD 轉換完成標志
66 1
67 1 ADINS = 0x40; //選擇02 通道
68 1 ADCON1 = START_ADC;
69 1 while(!(ADCON1&0x08));
70 1 lineVolt[2] = AD1DAT2;
71 1 ADCON1 &= 0xF7; //清除AD 轉換完成標志
72 1
73 1 ADINS = 0x80; //選擇03 通道
74 1 ADCON1 = START_ADC;
75 1 while(!(ADCON1&0x08));
76 1 leakageCurrentMsg[1] = AD1DAT3; //漏電流數值
77 1 ADCON1 &= 0x00; //清除AD 轉換完成標志
78 1
79 1 }
80
81
82
83
84
85
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 120 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 9 ----
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 + -