📄 ad max197.lst
字号:
C51 COMPILER V8.02 AD_MAX197 04/27/2007 16:20:02 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE AD_MAX197
OBJECT MODULE PLACED IN AD Max197.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE AD Max197.C BROWSE DEBUG OBJECTEXTEND
line level source
1
2 #include "main.h"
3 #include "reg52.h"
4 #include "absacc.h"
5
6 #define Ad_Channel XBYTE[0x0200] //外部的地址
7 sbit P3_0=P3^0;
8 sbit P3_1=P3^1;
9
10
11 /*************数据处理完成采集的数据的十六进制转换为十进制的形式*************/
12
13 void Process_Data()
14 {
15 1 unsigned int Digit_Data;
16 1 Digit_Data =((Channel_Msb&0x0f)<<8) + Channel_Lsb;
17 1 Volatge_AD =(Digit_Data / 4096.0) *(2.5*2);
18 1 }
19
20
21
22 /*************定时采集对197进行控制,向197的控制字寄存器中写入控制字,对外围电压信号进行采集*************/
23
24 void Collection_Data()
25 {
26 1 //if(136==Buffer_Key)
27 1 Ad_Channel = 0x40; //启动转换;197处于正常工作的内部时钟模式;通道0;输入的电压是0--5v
28 1 /*
29 1 if(132==Buffer_Key)
30 1 Ad_Channel = 0x41; // 通道1
31 1 if(130==Buffer_Key)
32 1 Ad_Channel = 0x42; // 通道2
33 1 if(129==Buffer_Key)
34 1 Ad_Channel = 0x43; // 通道3
35 1 if(72==Buffer_Key)
36 1 Ad_Channel = 0x44; // 通道4
37 1 if(68==Buffer_Key)
38 1 Ad_Channel = 0x45; // 通道5
39 1 if(66==Buffer_Key)
40 1 Ad_Channel = 0x46; // 通道6
41 1 if(65==Buffer_Key)
42 1 Ad_Channel = 0x47; // 通道7 */
43 1
44 1 while(P3_0!=0) //查询是否转换完毕;如果没有转换完毕则P3_0是高电平;则P3_0是低电平为读出低位数据做准备
45 1 {
46 2 P3_1 = 0;
47 2 }
48 1 Channel_Lsb= Ad_Channel; //P3_1是低电平;读出低位数据
49 1 P3_1 = 1; //P3_1是高电平;读出高四位数据
50 1 Channel_Msb= Ad_Channel;
51 1 P3_1 = 0; //为下依次读出低位数据做准备
52 1 }
53
54
55
C51 COMPILER V8.02 AD_MAX197 04/27/2007 16:20:02 PAGE 2
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 77 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -