📄 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 + -