📄 adc0832.lst
字号:
C51 COMPILER V7.01 ADC0832 12/15/2006 08:46:58 PAGE 1
C51 COMPILER V7.01, 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 #include<reg51.h>
2 #include<intrins.h>
3 #define uchar unsigned char
4 #define uint unsigned int
5 sbit CS = P3^3;
6 sbit SCK = P3^2;
7 sbit DI = P3^1;
8 sbit DO = P3^1;
9 sbit P3_5 = P3^5;
10
11 void Clock()
12 {
13 1 SCK = 0;
14 1 _nop_();
15 1 SCK = 1;
16 1 _nop_();
17 1 SCK = 0;
18 1 }
19
20 void Delay(uchar i)
21 {
22 1 uchar j;
23 1 for(j=0;j<i;j++)
24 1 ;
25 1 }
26
27 uint ReadADC0832(uchar Channel)
28 {
29 1 uchar i=15,j=7,Data;
30 1 CS = 0;
31 1 DI = 1;
32 1 Clock();
33 1 switch(Channel)
34 1 {
35 2 case(0):
36 2 DI = 0;
37 2 Clock();
38 2 DI = 0;
39 2 Clock();
40 2 break;
41 2 case(1):
42 2 DI = 0;
43 2 Clock();
44 2 DI = 1;
45 2 Clock();
46 2 break;
47 2 case(2):
48 2 DI = 1;
49 2 Clock();
50 2 DI = 0;
51 2 Clock();
52 2 break;
53 2 case(3):
54 2 DI = 1;
55 2 Clock();
C51 COMPILER V7.01 ADC0832 12/15/2006 08:46:58 PAGE 2
56 2 DI = 1;
57 2 Clock();
58 2 break;
59 2 default:
60 2 break;
61 2 }
62 1 DI = 1;
63 1 _nop_();
64 1 do
65 1 {
66 2 if(DO)
67 2 Data |= 1;
68 2 else
69 2 Data &= 0xfe;
70 2 Clock();
71 2 if(j-1)
72 2 Data <<= 1;
73 2 j--;
74 2 }while(j);
75 1 if(DO)
76 1 Data |= 1;
77 1 else
78 1 Data &= 0xfe;
79 1 Clock();
80 1 CS = 1;
81 1 DO = 0;
82 1 SCK = 0;
83 1 Delay(10);
84 1 return Data;
85 1 }
86
87 void main()
88 {
89 1 uchar Data;
90 1 while(1)
91 1 {
92 2 Data = ReadADC0832(2);
93 2 P0 = Data;
94 2 }
95 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 139 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 1
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 + -