📄 ad_max197.lst
字号:
C51 COMPILER V7.50 AD_MAX197 08/23/2007 22:15:43 PAGE 1
C51 COMPILER V7.50, 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 #define uchar unsigned char
2 #define uint unsigned int
3 #define ulong unsigned long
4
5 #include<reg52.h>
6 #include<absacc.h>
7 #include<intrins.h>
8 #include"ad_max197.h"
*** WARNING C280 IN LINE 35 OF AD_MAX197.H: 'flag': unreferenced local variable
9 //#include"da_tlv5614.h"
10 //#include"lcd_12864.h"
11
12 #define AD_CMD 0x48 //选择通道0,输入范围0~5V。
13 //0,1,2位为通道选择位。3,4位为输入范围选择位(0:0~5V, 1:-5~+5V, 2:0~10V, 3:-10~+10
-V)
14 #define count 50
15 //uchar AD_Convert=0;
16
17 //void AD_READY(void) interrupt 2
18 //{
19 // AD_Convert=1;
20 //}
21
22 void main()
23 { // bit flag;
24 1 // uchar high_4,low_8,i;
25 1 // long convert_number;
26 1 // float sample_value;
27 1
28 1 //char high_4;
29 1 //uchar low_8;
30 1 //int convert_number;
31 1 //float sample_value;
32 1
33 1 LCDInit();
34 1 LCDClr();
35 1 Disponechar(0,0,'A');
36 1 Disponechar(1,0,'D');
37 1
38 1 //EA=1; //开中断
39 1 //EX1=1; //开外部中断1
40 1 //IT1=1; //设定外部中断1为负跳变触发
41 1
42 1 while(1)
43 1
44 1 AD_MAX197_Bipolar(0,1);
45 1 //AD_MAX197_Polar(0,0);
46 1 /*
47 1 while(1)
48 1 {
49 1 convert_number=0;
50 1 for(i=0;i<count;i++)
51 1 {
52 1 XBYTE[0xfa00]=AD_CMD; //置AD控制字
53 1 while(AD_Convert==0);
C51 COMPILER V7.50 AD_MAX197 08/23/2007 22:15:43 PAGE 2
54 1 AD_Convert=0;
55 1 high_4=AD_SAMPLE_HIGH; //接收高四位, P2_3=1; P27 P22,P21,P20控制片选选通
56 1 // Dispnumber(high_4,3,10,0);
57 1 low_8=AD_SAMPLE_LOW; //接收低八位, P2_3=0; P27 P22,P21,P20控制片选选通
58 1 // Dispnumber(low_8,3,10,1);
59 1
60 1 if((high_4&0x08)==0x08) //&逻辑运算,&&关系运算
61 1 {
62 1 high_4=0x0f-(high_4&0x0f);
63 1 low_8=0x0100-low_8;
64 1 convert_number=convert_number - high_4*256 - low_8;
65 1 } //处理采集负电压时得到的补码
66 1 else convert_number=convert_number+ high_4*256 + low_8;
67 1 }
68 1 convert_number=convert_number/count;
69 1 switch(AD_CMD&0x18)
70 1 {
71 1 case 0x08:convert_number=convert_number*2;break;
72 1 case 0x10:convert_number=convert_number*2;break;
73 1 case 0x18:convert_number=convert_number*4;break;
74 1 default: break;
75 1 }
76 1 sample_value=(uint)(convert_number*1.2207);
77 1
78 1 Dispnumber_float(sample_value,4,3,10,2);
79 1 if(convert_number<0) Disponechar(5,2,'-');
80 1 else Disponechar(5,2,'+');
81 1 }
82 1 */
83 1
84 1
85 1 }
86
87
88 /*******测时程序*********
89 TMOD=0X10;
90 TH1=0;
91 TL1=0;
92 TR1=1;
93 process();
94 TR1=0;
95 Dispnumber(TH1*256+TL1,4,10,1);
96 while(1);
97 ***********************/
98 /*
99 while(1)
100 {
101 sample_value=(uint)(AD_MAX197(1,1)*1.2207);
102 Dispnumber_float(sample_value,4,3,10,2);
103 if(flag==1) Disponechar(5,2,'-');
104 else Disponechar(5,2,'+');
105 }
106 */
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2038 ----
CONSTANT SIZE = 1646 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 12 69
IDATA SIZE = ---- ----
C51 COMPILER V7.50 AD_MAX197 08/23/2007 22:15:43 PAGE 3
BIT SIZE = 1 2
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 1 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -