📄 gt.lst
字号:
235 2 }
236 1 else
237 1 TI=0;
238 1
239 1 }
240
241
C51 COMPILER V7.50 GT 10/28/2005 21:31:12 PAGE 5
242
243 /********************************************************
244 * I/O 初始化
245 /*******************************************************/
246 void IoInit(void)
247 {
248 1 P1M1=0x00; //P1准双向口
249 1 P1M2=0x00;
250 1 P2M1=0x00; //P2端口设置为准双向
251 1 P2M2=0x00;
252 1 P0M1=0x00;
253 1 P0M2=0x00;
254 1
255 1 }
256 /********************************************************
257 *ISP初始化程序
258 *********************************************************/
259 void IspInit(void)
260 { //unsigned char i;
261 1 SSTAT &=0xFA;
262 1 BRGCON =0x00;
263 1 AUXR1 |=0x40;
264 1 SCON =0X50;
265 1 // BRGR0=0xF0; // setup BRG for 9600 baud @ 7.373MHz internal RC oscillator
266 1 // BRGR1=0x02;
267 1 BRGR0=0xF0; // setup BRG for 4800 baud @ 7.373MHz internal RC oscillator
268 1 BRGR1=0x05;
269 1 BRGCON=0X03;
270 1
271 1
272 1 }
273 /*********************************************************
274 *主程序
275 ************************************************************/
276
277 void main(void)
278 { char i;
279 1 IoInit(); //初始化I/O口
280 1 IspInit(); //初始化ISP
281 1 EX1=1; //允许计数脉冲中断
282 1 IT1=1; //边沿触发
283 1 EA=1;
284 1 ES=1;
285 1 PS=1;
286 1 init_lcm();
287 1 ACC = 0;
288 1 i=1;
289 1 led1=1 ;
290 1 GPS_STATUS=0;
291 1 GPS_DATA_POINT=0;
292 1 // init1302();
293 1 hour24();
294 1 sendCMD(DDRAM_0);
295 1 sendCMD(off_cursor);
296 1 while(1)
297 1 {
298 2 delay(500);
299 2 if(i==1)
300 2 { led1=1;
301 3 i=0;
302 3 send_title_up();
303 3 }
C51 COMPILER V7.50 GT 10/28/2005 21:31:12 PAGE 6
304 2 else
305 2 { led1=0;
306 3 i=1;
307 3 send_title_down();
308 3 }
309 2 }
310 1 }
311 /*********************************************************/
312
313 /************************************************************/
314 void newdelay(void)
315 {char i;
316 1 for(i=0;i<0x0ee;i++);
317 1 }
318
319 void sendBYTE(char dat)
320 {
321 1 char i;
322 1 for(i=0;i<8;i++)
323 1 { SCLK=0;
324 2 if((dat&0x80)!=0)
325 2 {SID=1;}
326 2 else
327 2 {SID=0; }
328 2 SCLK=1;
329 2 dat=dat<<1;
330 2 }
331 1 }
332
333 void sendCMD(char dat)
334 {
335 1 sendBYTE(0xf8);
336 1 delay(10);
337 1 sendBYTE(dat&0xf0);
338 1 delay(10);
339 1 sendBYTE((dat<<4)&0xf0);
340 1 delay(10);
341 1 }
342
343 void sendDAT(char dat)
344 {
345 1 sendBYTE(0xfa);
346 1 delay(10);
347 1 sendBYTE(dat&0xf0);
348 1 delay(10);
349 1 sendBYTE((dat<<4)&0xf0);
350 1 delay(10);
351 1 }
352
353 void display(char x_add,char dat,char dat1)
354 {
355 1 sendCMD(x_add);
356 1 sendDAT(dat);
357 1 sendDAT(dat1);
358 1 }
359
360 void init_lcm(void)
361 {
362 1 sendCMD(0x30);
363 1 sendCMD(0x04);
364 1 sendCMD(0x0f);
365 1 sendCMD(0x01);
C51 COMPILER V7.50 GT 10/28/2005 21:31:12 PAGE 7
366 1 sendCMD(0x02);
367 1 delay(10);
368 1 led2=0;
369 1 }
370 void send_title_up()
371 {
372 1 unsigned char day,month,date,year;
373 1 unsigned char dayl,monthl,datel,yearl;
374 1 unsigned char dayh,monthh,dateh,yearh;
375 1 uchar i,k;
376 1 sendCMD(DDRAM_0);
377 1 sendCMD(off_cursor);
378 1 /* day=R1302(0x87);
379 1 month=R1302(0x89);
380 1 date=R1302(0x8b);
381 1 year=R1302(0x8d);
382 1 dayh=(day>>4)&0x03;
383 1 dayl=day&0x0f;
384 1 monthh=(month>>4)&0x01;
385 1 monthl=month&0x0f;
386 1 dateh=(date>>4)&0x0f;
387 1 datel=date&0x0f;
388 1 yearh=(year>>4)&0x0f;
389 1 yearl=year&0x0f;
390 1 sendDAT('2');
391 1 sendDAT('0');
392 1 sendDAT(BCD2ASC(yearh));
393 1 sendDAT(BCD2ASC(yearl));
394 1 sendDAT('-');
395 1 sendDAT(BCD2ASC(monthh));
396 1 sendDAT(BCD2ASC(monthl));
397 1 sendDAT('-');
398 1 sendDAT(BCD2ASC(dayh));
399 1 sendDAT(BCD2ASC(dayl));
400 1 display(0x85,0xd0,0xc7);
401 1 display(0x86,0xc6,0xda);
402 1 sendDAT(BCD2ASC(datel)); */
403 1 if (GPS_STATUS==999)
404 1 {
405 2 for(i=0; i<15; i++)
406 2 {
407 3 sendDAT(GPS_DATA[i+1]);
408 3 }
409 2 }
410 1 led3=0;
411 1 }
*** WARNING C280 IN LINE 372 OF GT.C: 'day': unreferenced local variable
*** WARNING C280 IN LINE 372 OF GT.C: 'month': unreferenced local variable
*** WARNING C280 IN LINE 372 OF GT.C: 'date': unreferenced local variable
*** WARNING C280 IN LINE 372 OF GT.C: 'year': unreferenced local variable
*** WARNING C280 IN LINE 373 OF GT.C: 'dayl': unreferenced local variable
*** WARNING C280 IN LINE 373 OF GT.C: 'monthl': unreferenced local variable
*** WARNING C280 IN LINE 373 OF GT.C: 'datel': unreferenced local variable
*** WARNING C280 IN LINE 373 OF GT.C: 'yearl': unreferenced local variable
*** WARNING C280 IN LINE 374 OF GT.C: 'dayh': unreferenced local variable
*** WARNING C280 IN LINE 374 OF GT.C: 'monthh': unreferenced local variable
*** WARNING C280 IN LINE 374 OF GT.C: 'dateh': unreferenced local variable
*** WARNING C280 IN LINE 374 OF GT.C: 'yearh': unreferenced local variable
*** WARNING C280 IN LINE 375 OF GT.C: 'k': unreferenced local variable
412 void send_title_down()
413 {
414 1 unsigned char sec,min,hr;
C51 COMPILER V7.50 GT 10/28/2005 21:31:12 PAGE 8
415 1 unsigned char secl,minl,hrl;
416 1 unsigned char sech,minh,hrh;
417 1 sendCMD(DDRAM_1);
418 1 sendCMD(off_cursor);
419 1 sec=R1302(0x81);
420 1 min=R1302(0x83);
421 1 hr=R1302(0x85);
422 1 sech=(sec>>4)&0x0f;
423 1 secl=sec&0x0f;
424 1 minh=(min>>4)&0x0f;
425 1 minl=min&0x0f;
426 1 hrh=(hr>>4)&0x03;
427 1 hrl=hr&0x0f;
428 1 sendDAT(BCD2ASC(hrh));
429 1 sendDAT(BCD2ASC(hrl));
430 1 sendDAT(':');
431 1 sendDAT(BCD2ASC(minh));
432 1 sendDAT(BCD2ASC(minl));
433 1 sendDAT(':');
434 1 sendDAT(BCD2ASC(sech));
435 1 sendDAT(BCD2ASC(secl));
436 1 led3=1;
437 1 }
438 void init1302(void)
439 {
440 1 W1302(0x8e,0x00); //写保护打开
441 1 W1302(0x8c,0x05); //年05
442 1 W1302(0x8a,0x01); //星期06
443 1 W1302(0x88,0x10); //月10
444 1 W1302(0x86,0x27); //日27
445 1 W1302(0x84,0x18); //24小时制,18时
446 1 W1302(0x82,0x11); //分钟09
447 1 W1302(0x80,0x00); //启动时钟,00秒
448 1 W1302(0x8f,0x80); //写保护关闭
449 1 }
450 void hour24(void)
451 {
452 1 W1302(0x8e,0x00); //写保护打开
453 1 W1302(0x84,0x7f&R1302(0x85)); //24小时制
454 1 // W1302(0x84,0x21); //24小时制,21时
455 1 W1302(0x8f,0x80); //写保护关闭
456 1 }
457 void hour12(void)
458 {
459 1 W1302(0x8e,0x00); //写保护打开
460 1 W1302(0x84,0x80|R1302(0x85)); //12小时制
461 1 W1302(0x8f,0x80); //写保护关闭
462 1 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -