?? adc0832.lst
字號:
C51 COMPILER V7.07 ADC0832 03/14/2007 13:46:31 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE ADC0832
OBJECT MODULE PLACED IN ADC0832.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ADC0832.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /********************************************************/
2 /* 杭州電子&計算機工作室 */
3 /* http://www.hificat.com */
4 /* ADC0832測試程序 */
5 /* 目標器件:AT89C51 */
6 /* 晶振:12MHZ */
7 /* 編譯環境:Keil 7.50A */
8 /********************************************************/
9
10 /*********************************包含頭文件********************************/
11 #include "reg51.h"
12
13 /*********************************端口定義**********************************/
14 sbit CS = P3^4;
15 sbit Clk = P1^0;
16 sbit DIO = P1^1;
17
18 /*******************************定義全局變量********************************/
19 unsigned char adval; //AD值
20
21 /*******************************共陽LED段碼表*******************************/
22 unsigned char code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
23
24 /****************************************************************************
25 函數功能:AD轉換子程序
26 入口參數:CH
27 出口參數:adval
28 ****************************************************************************/
29 unsigned char A_D(bit CH)
30 {
31 1 unsigned char i;
32 1 CS = 0; //片選
33 1 Clk = 0; //時鐘拉低
34 1 Clk = 1; //時鐘拉高
35 1 DIO = 1; //啟動信號
36 1 if ( CH == 0 ) //通道選擇
37 1 {
38 2 Clk = 0;
39 2 Clk = 1;
40 2 DIO = 1; //通道0的第一位
41 2
42 2 Clk = 0;
43 2 Clk = 1;
44 2 DIO = 0; //通道0的第二位
45 2 }
46 1 else
47 1 {
48 2 Clk = 0;
49 2 Clk = 1;
50 2 DIO = 1; //通道1的第一位
51 2
52 2 Clk = 0;
53 2 Clk = 1;
54 2 DIO = 1; //通道1的第二位
55 2 }
C51 COMPILER V7.07 ADC0832 03/14/2007 13:46:31 PAGE 2
56 1
57 1 Clk = 1;
58 1 Clk = 0;
59 1
60 1 for( i = 0;i < 8;i++ ) //讀取八位AD值
61 1 {
62 2 Clk = 1;
63 2 Clk = 0;
64 2 if ( DIO )
65 2 adval = (adval>>1) | 0x80;
66 2 else
67 2 adval = (adval>>1) | 0x00;
68 2 }
69 1 CS = 1; //釋放ADC0832
70 1 return(adval); //返回采樣值
71 1 }
72
73 /****************************************************************************
74 函數功能:數碼管顯示子程序
75 入口參數:
76 出口參數:
77 ****************************************************************************/
78 void delay1(void)
79 {
80 1 int k;
81 1 for(k=0;k<600;k++);
82 1 }
83
84 /****************************************************************************
85 函數功能:數碼管顯示子程序
86 入口參數:k
87 出口參數:
88 ****************************************************************************/
89 void display(int k)
90 {
91 1 P2=0xfe;
92 1 P0=tab[k/1000];
93 1 delay1();
94 1 P2=0xfd;
95 1 P0=tab[k%1000/100];
96 1 delay1();
97 1 P2=0xfb;
98 1 P0=tab[k%100/10];
99 1 delay1();
100 1 P2=0xf7;
101 1 P0=tab[k%10];
102 1 delay1();
103 1 P2=0xff;
104 1 }
105
106 /****************************************************************************
107 函數功能:主程序
108 入口參數:
109 出口參數:
110 ****************************************************************************/
111 void main(void)
112 {
113 1 P2=0xff; //端口初始化
114 1 P0=0xff;
115 1 while(1) //主循環
116 1 {
117 2 A_D(0x01); //通道1轉換
C51 COMPILER V7.07 ADC0832 03/14/2007 13:46:31 PAGE 3
118 2 display(adval); //顯示AD值
119 2 }
120 1 }
121
122
123
124
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 216 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- 1
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -