📄 mainpro.lst
字号:
C51 COMPILER V8.05a MAINPRO 05/16/2008 09:49:09 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE MAINPRO
OBJECT MODULE PLACED IN E:\PROJECTS\CYDLJK1\MAINPRO.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\PROJECTS\CYDLJK1\MAINPRO.C DB SB OE OT(0)
line level source
1 #include <reg52.h>
2 #include <lcdkey.h>
3 #include <ds12887.h>
4 #include <max197.h>
5 #include <stdio.h>
6
7 sbit P1_0=P1^0; //继电器控制位
8
9 unsigned char code cydljk_str[]={18,41,51,45,22,15,33,06,28,64,31,56,47,21,45,19};
10 //区位码表:采油动力监控系统
11 unsigned char code menuitems_str[]={18,46,42,93,28,76,18,66,28,39,34,28,18,73,31,20,
12 42,93,30,61,20,11,43,45,47,21,45,19,31,56,54,38};
13 //区位码表:菜单项
14 //1.参数检测;2.记录查看;3.数据传送;4.系统控制
15 float xdata values[7];
16 void(*SoftReset)(); //软件复位
17
18 /*菜单项显示*/
19 void Menu_Items_Display(void)
20 {
21 1 unsigned char xdata xx=0x04,yy=0x00,y=0x04,i;
22 1 for(i=1;i<=4;i++)
23 1 {
24 2 LcdDisplayAsc(0x06,y,i|0x30);
25 2 LcdDisplayAsc(0x07,y,'.');
26 2 LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8],menuitems_str[(i-1)*8+1]);
27 2 LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+2],menuitems_str[(i-1)*8+3]);
28 2 LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+4],menuitems_str[(i-1)*8+5]);
29 2 LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+6],menuitems_str[(i-1)*8+7]);
30 2 y+=0x10;xx=0x04;yy++;
31 2 }
32 1 }
33
34 /*菜单选择*/
35 unsigned char Menu_Select(unsigned char key)
36 {
37 1 static unsigned char point=0;
38 1
39 1 if(key==0x0a)
40 1 {
41 2 point=(point+1)%4;
42 2 switch(point)
43 2 {
44 3 case 0:LcdClearSection(0x02,0x03);
45 3 LcdDisplayAsc(0x05,0x04,'>');break;
46 3 case 1:LcdClearSection(0x02,0x00);
47 3 LcdDisplayAsc(0x05,0x14,'>');break;
48 3 case 2:LcdClearSection(0x02,0x01);
49 3 LcdDisplayAsc(0x05,0x24,'>');break;
50 3 case 3:LcdClearSection(0x02,0x02);
51 3 LcdDisplayAsc(0x05,0x34,'>');break;
52 3 }
53 2 }
54 1
55 1 if(key==0x0b)
C51 COMPILER V8.05a MAINPRO 05/16/2008 09:49:09 PAGE 2
56 1 {
57 2 point=(point-1)%4;
58 2 switch(point)
59 2 {
60 3 case 0:LcdClearSection(0x02,0x01);
61 3 LcdDisplayAsc(0x05,0x04,'>');break;
62 3 case 1:LcdClearSection(0x02,0x02);
63 3 LcdDisplayAsc(0x05,0x14,'>');break;
64 3 case 2:LcdClearSection(0x02,0x03);
65 3 LcdDisplayAsc(0x05,0x24,'>');break;
66 3 case 3:LcdClearSection(0x02,0x00);
67 3 LcdDisplayAsc(0x05,0x34,'>');break;
68 3 }
69 2 }
70 1 return point;
71 1 }
72 /*显示选择菜单*/
73 void Menu_Display(unsigned char index)
74 {
75 1 LcdClear();
76 1 switch(index)
77 1 {
78 2 case 0:
79 2 LcdDisplayAsc(0x05,0x04,'>');break;
80 2 case 1:
81 2 LcdDisplayAsc(0x05,0x14,'>');break;
82 2 case 2:
83 2 LcdDisplayAsc(0x05,0x24,'>');break;
84 2 case 3:
85 2 LcdDisplayAsc(0x05,0x34,'>');break;
86 2 }
87 1 Menu_Items_Display();
88 1 }
89 unsigned char MeasureItem_Introduce(void)
90 {
91 1 unsigned char xdata key;
92 1 LcdClear();
93 1
94 1 LcdDisplayWord(0x03,0x01,49,01);
95 1 LcdDisplayWord(0x04,0x01,52,81);
96 1 LcdDisplayWord(0x05,0x01,28,76);
97 1 LcdDisplayWord(0x06,0x01,18,66);
98 1 LcdDisplayWord(0x07,0x01,18,46);
99 1 LcdDisplayWord(0x08,0x01,42,93);
100 1 //请(3975) 按(1620) 数(4293) 字(5554) 键(2892)
101 1 LcdDisplayWord(0x02,0x02,39,75);
102 1 LcdDisplayWord(0x03,0x02,16,20);
103 1 LcdDisplayWord(0x04,0x02,42,93);
104 1 LcdDisplayWord(0x05,0x02,55,54);
105 1 LcdDisplayWord(0x06,0x02,28,92);
106 1 LcdDisplayAsc(0x0e,0x24,'[');
107 1 LcdDisplayAsc(0x0f,0x24,'1');
108 1 LcdDisplayAsc(0x10,0x24,'-');
109 1 LcdDisplayAsc(0x11,0x24,'7');
110 1 LcdDisplayAsc(0x12,0x24,']');
111 1
112 1 key=ReadKey();
113 1
114 1 return key;
115 1
116 1 }
117 void a_up_measure(void)
C51 COMPILER V8.05a MAINPRO 05/16/2008 09:49:09 PAGE 3
118 {
119 1 unsigned char xdata i;
120 1 LcdClear();
121 1 values[0]=0;
122 1 for(i=0;i<3;i++)
123 1 values[0]+=Max197_Convert(0x40);
124 1 values[0]=values[0]/3;
125 1
126 1 LcdDisplayAsc(0x05,0x14,'A');
127 1 LcdDisplayWord(0x03,0x01,47,64);//相
128 1 LcdDisplayWord(0x04,0x01,41,47);//上
129 1 LcdDisplayWord(0x05,0x01,48,48);//行
130 1 LcdDisplayWord(0x06,0x01,21,71);//电
131 1 LcdDisplayWord(0x07,0x01,33,87);//流
132 1
133 1 values[0]=(values[0]-1)*75;
134 1 LcdDisplayFloat(0x04,0x24,values[0]);
135 1
136 1 while((ReadKey())!=0x0c);
137 1
138 1 }
139 void a_down_measure(void)
140 {
141 1 unsigned char xdata i;
142 1 LcdClear();
143 1 values[1]=0;
144 1 for(i=0;i<3;i++)
145 1 values[1]+=Max197_Convert(0x40);
146 1 values[1]=values[1]/3;
147 1
148 1 LcdDisplayAsc(0x05,0x14,'A');
149 1 LcdDisplayWord(0x03,0x01,47,64);//相
150 1 LcdDisplayWord(0x04,0x01,47,34);//下
151 1 LcdDisplayWord(0x05,0x01,48,48);//行
152 1 LcdDisplayWord(0x06,0x01,21,71);//电
153 1 LcdDisplayWord(0x07,0x01,33,87);//流
154 1
155 1 values[1]=(values[1]-1)*75;
156 1 LcdDisplayFloat(0x04,0x24,values[1]);
157 1
158 1 while((ReadKey())!=0x0c);
159 1
160 1 }
161 void b_up_measure(void)
162 {
163 1 unsigned char xdata i;
164 1 LcdClear();
165 1 values[2]=0;
166 1 for(i=0;i<3;i++)
167 1 values[2]+=Max197_Convert(0x41);
168 1 values[2]=values[2]/3;
169 1
170 1 LcdDisplayAsc(0x05,0x14,'B');
171 1 LcdDisplayWord(0x03,0x01,47,64);//相
172 1 LcdDisplayWord(0x04,0x01,41,47);//上
173 1 LcdDisplayWord(0x05,0x01,48,48);//行
174 1 LcdDisplayWord(0x06,0x01,21,71);//电
175 1 LcdDisplayWord(0x07,0x01,33,87);//流
176 1
177 1 values[2]=(values[2]-1)*75;
178 1 LcdDisplayFloat(0x04,0x24,values[2]);
179 1
C51 COMPILER V8.05a MAINPRO 05/16/2008 09:49:09 PAGE 4
180 1 while((ReadKey())!=0x0c);
181 1
182 1 }
183 void b_down_measure(void)
184 {
185 1 unsigned char xdata i;
186 1 LcdClear();
187 1 values[3]=0;
188 1 for(i=0;i<3;i++)
189 1 values[3]+=Max197_Convert(0x41);
190 1 values[3]=values[3]/3;
191 1
192 1 LcdDisplayAsc(0x05,0x14,'B');
193 1 LcdDisplayWord(0x03,0x01,47,64);//相
194 1 LcdDisplayWord(0x04,0x01,47,34);//下
195 1 LcdDisplayWord(0x05,0x01,48,48);//行
196 1 LcdDisplayWord(0x06,0x01,21,71);//电
197 1 LcdDisplayWord(0x07,0x01,33,87);//流
198 1
199 1 values[3]=(values[3]-1)*75;
200 1 LcdDisplayFloat(0x04,0x24,values[3]);
201 1
202 1 while((ReadKey())!=0x0c);
203 1
204 1 }
205
206 void t_measure(void)
207 {
208 1 unsigned char xdata i;
209 1 LcdClear();
210 1 values[4]=0;
211 1 for(i=0;i<3;i++)
212 1 values[4]+=Max197_Convert(0x42);
213 1 values[4]=values[4]/3;
214 1
215 1 LcdDisplayWord(0x03,0x01,46,34);//温
216 1 LcdDisplayWord(0x04,0x01,22,40);//度
217 1
218 1 LcdDisplayFloat(0x04,0x24,values[4]);
219 1
220 1 while((ReadKey())!=0x0c);
221 1 }
222 void taoya_measure(void)
223 {
224 1 unsigned char xdata i;
225 1 LcdClear();
226 1 values[5]=0;
227 1 for(i=0;i<3;i++)
228 1 values[5]+=Max197_Convert(0x43);
229 1 values[5]=values[5]/3;
230 1
231 1 LcdDisplayWord(0x03,0x01,44,55);//套
232 1 LcdDisplayWord(0x04,0x01,49,25);//压
233 1
234 1 LcdDisplayFloat(0x04,0x24,values[5]);
235 1
236 1 while((ReadKey())!=0x0c);
237 1 }
238 void huiya_measure(void)
239 {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -