📄 12864_main.lst
字号:
174 //----------------P1.2用求余的方法来选择T1,T2,T3,T4----------*/
175 void Key_read ()
176 {
177 1 P1=0XFF;
178 1 //delay_nms(10);
179 1 if(key_set==0) //------------选择T判断条件-----
C51 COMPILER V7.09 12864_MAIN 04/14/2009 09:36:31 PAGE 4
180 1 {
181 2 //LCD_write_string(14,1,set);
182 2
183 2 select_t++;
184 2 delay_nms(10);
185 2 if(select_t>4) select_t=1;
186 2
187 2 }
188 1 //-------t1,t2,3,t4,递增条件P1=0XFE----------------------------------
189 1
190 1
191 1 if((key_add==0)&&(select_t==1))
192 1 {/*
193 2 LCD_write_string(6,1,clr_set);
194 2 LCD_write_string(14,0,clr_set);
195 2 LCD_write_string(14,1,clr_set);
196 2 delay_nus(5);*/
197 2 // LCD_write_string(6,0,set);
198 2 //delay_nus(5);
199 2 // total_t[0]++;
200 2 RxBuf[0]++;
201 2
202 2
203 2 //readI2c(0)++;
204 2 key_flag=1;
205 2 }
206 1 else if ((key_add==0)&&(select_t==2))
207 1 {/*
208 2 LCD_write_string(6,0,clr_set);
209 2 LCD_write_string(14,0,clr_set);
210 2 LCD_write_string(14,1,clr_set);
211 2 delay_nus(5);*/
212 2 // LCD_write_string(6,1,set);
213 2 //delay_nus(5);
214 2 // total_t[1]=50;
215 2 RxBuf[2]++;
216 2
217 2 key_flag=1;
218 2 }
219 1 else if ((key_add==0)&&(select_t==3))
220 1 {/*
221 2 LCD_write_string(6,0,clr_set);
222 2 LCD_write_string(6,1,clr_set);
223 2 LCD_write_string(14,1,clr_set);
224 2 delay_nus(5);*/
225 2 // LCD_write_string(14,0,set);
226 2 //delay_nus(5);
227 2 // total_t[2]++;
228 2 RxBuf[4]++;
229 2 key_flag=1;
230 2 }
231 1 else if ((key_add==0)&&(select_t==4))
232 1 { /*
233 2 LCD_write_string(6,0,clr_set);
234 2 LCD_write_string(14,0,clr_set);
235 2 LCD_write_string(6,1,clr_set);
236 2 delay_nus(5);*/
237 2 // LCD_write_string(14,1,set);
238 2 //delay_nus(5);
239 2 // total_t[3]=50;
240 2
241 2 RxBuf[6]++;
C51 COMPILER V7.09 12864_MAIN 04/14/2009 09:36:31 PAGE 5
242 2 key_flag=1;
243 2 }
244 1 //-------t1,t2,3,t4,递减条件P1=0XFE----------------------------------
245 1 if((key_dec==0)&&(select_t==1))
246 1 {/*
247 2 LCD_write_string(6,1,clr_set);
248 2 LCD_write_string(14,0,clr_set);
249 2 LCD_write_string(14,1,clr_set);
250 2 delay_nus(5); */
251 2 // LCD_write_string(6,0,set);
252 2 //delay_nus(5);
253 2 // total_t[0]--;
254 2 RxBuf[0]--;
255 2 key_flag=1;
256 2 }
257 1 else if ((key_dec==0)&&(select_t==2))
258 1 { /*
259 2 LCD_write_string(6,0,clr_set);
260 2 LCD_write_string(14,0,clr_set);
261 2 LCD_write_string(14,1,clr_set);
262 2 delay_nus(5);*/
263 2 // LCD_write_string(6,1,set);
264 2 //delay_nus(5);
265 2 // total_t[1]=50;
266 2 RxBuf[2]--;
267 2 key_flag=1;
268 2 }
269 1 else if ((key_dec==0)&&(select_t%5==3))
270 1 { /*
271 2 LCD_write_string(6,0,clr_set);
272 2 LCD_write_string(6,1,clr_set);
273 2 LCD_write_string(14,1,clr_set);
274 2 delay_nus(5);*/
275 2 // LCD_write_string(14,0,set);
276 2 //delay_nus(5);
277 2 // total_t[2]--;
278 2 RxBuf[4]--;
279 2 key_flag=1;
280 2 }
281 1 else if ((key_dec==0)&&(select_t%5==4))
282 1 { /*
283 2 LCD_write_string(6,0,clr_set);
284 2 LCD_write_string(14,0,clr_set);
285 2 LCD_write_string(6,1,clr_set);
286 2 delay_nus(5); */
287 2 // LCD_write_string(14,1,set);
288 2 //delay_nus(5);
289 2 // total_t[3]=50;
290 2 RxBuf[6]--;
291 2 key_flag=1;
292 2 }
293 1 }
294
295 //------------------------T0定时器初始化函数-----------------------------
296 void T0Initial ()
297 {
298 1 TMOD |= 0x01;
299 1 TH0=0x3c;
300 1 TL0=0xb0;
301 1 IE |= 0x82;
302 1 TR0=1;
303 1 }
C51 COMPILER V7.09 12864_MAIN 04/14/2009 09:36:31 PAGE 6
304
305 //-------------------------T0定时中断服务子函数---------------------------
306 void to_int() interrupt 1 using 0
307 {
308 1 TH0=0x3c;
309 1 TL0=0xb0;
310 1 cnt--;
311 1
312 1 if(cnt==0)
313 1 {
314 2 // cnt=20; //--1s
315 2 cnt=100; //--每5秒发送一次数据
316 2 if(send_flag==1)
317 2 {
318 3 TI=1; //----发送数据
319 3 a++;
320 3 //-----------------------------------------------------------------------------------
321 3 if(a>10) //----发送数据的次数,根据实际情况修改
322 3 //------------------------------------------------------------------------------------
323 3 {
324 4 a=0;
325 4 /* TI=0; --如果需要发送有限次,可在此处修改
326 4 send_flag=0;
327 4 */
328 4 }
329 3 }
330 2
331 2 }
332 1 }
333
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 1104 ----
CONSTANT SIZE = 56 ----
XDATA SIZE = 140 ----
PDATA SIZE = ---- ----
DATA SIZE = 71 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
EDATA SIZE = ---- ----
HDATA SIZE = ---- ----
XDATA CONST SIZE = ---- ----
FAR CONST SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -