?? adc0832.lst
字號:
C51 COMPILER V8.02 ADC0832 09/25/2008 20:18:48 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE ADC0832
OBJECT MODULE PLACED IN .\ADC0832.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\ADC0832\ADC0832.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\ADC0832.lst) O
-BJECT(.\ADC0832.obj)
line level source
1 /********************************************************************************/
2 /* filename : ADC0832.c */
3 /* created : xillinx */
4 /* descript : 處理ADC0832相關的函數 */
5 /********************************************************************************/
6 #include "../CPU/CPU.h"
7 #include "../ADC0832/ADC0832.h"
8
9
10 /********************************************************************************/
11 /* function : ADC_set_clk() */
12 /* recension: xillinx */
13 /* descript : 設置或者清除ADC的CLK引腳 */
14 /********************************************************************************/
15 void ADC_set_clk(unsigned char clk)
16 { if(clk)
17 1 { c51_U19_latch|=0x08;
18 2 }
19 1 else
20 1 { c51_U19_latch&=0xF7;
21 2 }
22 1 c51_hc138_cs_io2[0x0]=c51_U19_latch;
23 1 }
24
25 /********************************************************************************/
26 /* function : ADC_set_sel() */
27 /* recension: xillinx */
28 /* descript : 設置或者清除ADC的CS引腳 */
29 /********************************************************************************/
30 void ADC_set_sel(unsigned char sel)
31 { if(sel)
32 1 { c51_U19_latch|=0x04;
33 2 }
34 1 else
35 1 { c51_U19_latch&=0xFB;
36 2 }
37 1 c51_hc138_cs_io2[0x0]=c51_U19_latch;
38 1 }
39
40 /********************************************************************************/
41 /* function : ADC_set_dat() */
42 /* recension: xillinx */
43 /* descript : 設置或者清除ADC的DATA引腳 */
44 /********************************************************************************/
45 void ADC_set_dat(unsigned char dat)
46 { ADC_DA=dat;
47 1 }
48
49 /********************************************************************************/
50 /* function : ADC_set_dat() */
51 /* recension: xillinx */
52 /* descript : 設置或者清除ADC的DATA引腳 */
53 /********************************************************************************/
54 unsigned char ADC_get_dat(void)
C51 COMPILER V8.02 ADC0832 09/25/2008 20:18:48 PAGE 2
55 { return ADC_DA;
56 1 }
57
58 /********************************************************************************/
59 /* function : ADC_delay() */
60 /* recension: xillinx */
61 /* descript : 簡單延時處理 */
62 /********************************************************************************/
63 void ADC_delay(unsigned char time)
64 { unsigned char i;
65 1 for(i=0;i<time;i++)
66 1 { ;
67 2 }
68 1 }
69
70 /********************************************************************************/
71 /* function : ADC_read_1_channel() */
72 /* recension: xillinx */
73 /* descript : 讀取第一通道的數據 */
74 /********************************************************************************/
75 unsigned char ADC_read_channel(unsigned char channel)
76 { unsigned char mdata=0x0;
77 1 unsigned char i;
78 1 ADC_set_sel(0x1); //* CS=1,CK=0,禁止芯片工作,設置初始工作態;
79 1 ADC_delay(0x2);
80 1 ADC_set_clk(0x0);
81 1 ADC_delay(0x2);
82 1
83 1 ADC_set_sel(0x0); //* 啟動工作
84 1
85 1 ADC_set_dat(0x1); //* 第1個時鐘,上升沿采樣 START位, 此時DATA=1
86 1 ADC_delay(0x2);
87 1 ADC_set_clk(0x1);
88 1 ADC_delay(0x2);
89 1 ADC_set_clk(0x0);
90 1
91 1 ADC_set_dat(0x1); //* 第2個時鐘,上升沿采樣 通道/差分 選擇(本設計選擇通道,所以為1)
92 1 ADC_delay(0x2);
93 1 ADC_set_clk(0x1);
94 1 ADC_delay(0x2);
95 1 ADC_set_clk(0x0);
96 1
97 1 if( channel==0x0)
98 1 { ADC_set_dat(0x0); //* 第3個時鐘,上升沿采樣 通道編號 0 通道
99 2 }
100 1 else
101 1 { ADC_set_dat(0x1); //* 通道編號 1 通道
102 2 }
103 1 ADC_delay(0x2);
104 1 ADC_set_clk(0x1);
105 1 ADC_delay(0x2);
106 1 ADC_set_clk(0x0);
107 1
108 1 ADC_set_dat(0x1); //* 第4個時鐘之前,需要把ADC_DA設置成為1,作為輸入引腳用了,這個時鐘周期是空
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -