www.pudn.com > 47651478keil51file.rar > jyj07.c


#include "jyj07.h" 
#include "sys_ini.h" 
#include "lcd_driver.h" 
 
//函数声明列表 
void system_ini();                          //系统初始化函数 
void power_down_deal();                     //掉电处理程序 
byte scan_key_num();                        //键值扫描函数 
void menu_list_deal();                      //菜单处理函数 
void other_key_deal(byte key);              //按键处理程序 
void pc_command();                          //与pc机通讯函数 
byte scan_gun();                            //抢信号扫描函数 
void jia_you();                             //加油函数 
void disp_xitong_time();                    //显示系统时间 
void delay_10us(byte time); 
 
 
//定义标志位 
bit RXD_END;                   //通讯成功标志 
 
byte key_num;                  //读出的键值              
byte GUN_NUM;                  //摘下的抢号 0,1号抢 1,2号抢 3 无抢摘下 
byte ds12887_time[6];          //系统时间数组7字节bcd 
byte ram_8255a_a;              //8255a_a输出字节 
byte ram_8255a_b;              //8255a_b输出字节 
byte ram_8255a_c;              //8255a_c输出字节 
 
void main() 
{ 
     system_ini(); 
     while(1) 
     { 
		if(P_PW_DOWN==0)                        //=0 进入掉电程序 
		{ 
		   while(1)                             //进入死循环程序 
		   { 
		      power_down_deal();                //掉电处理子程序 
		   } 
		} 
        key_num=scan_key_num();                 //扫描取键值 
        if(key_num!=0)                          //没有键按下 
        { 
           if(key_num==3)                       //按下菜单键进入菜单 
           { 
              menu_list_deal();                 //菜单处理程序 
           } 
           else 
           { 
              other_key_deal(key_num);          //其他按键处理 
           } 
        } 
        if(RXD_END==1)                          //有通讯指令到来 
        { 
           pc_command();                        //通讯处理函数 
        } 
        GUN_NUM=scan_gun();                     //油抢扫描函数 
        if(GUN_NUM!=3)                          //没有抢摘下 
		{ 
		   jia_you();                           //加油函数   
		} 
        disp_xitong_time();                     //显示系统时间         
     } 
} 
 
//掉电处理函数 
void power_down_deal() 
{ 
 
} 
//键盘扫描函数 
byte scan_key_num() 
{ 
      return(0); 
} 
//油抢扫描函数 
byte scan_gun() 
{ 
     byte i; 
	 return(i); 
} 
//显示系统时间 
void disp_xitong_time() 
{ 
 
} 
//外中断0 加油计脉冲 
int_ex0() interrupt 0 using 1 
{ 
} 
//外中断1 用于掉电检测 
int_ex1() interrupt 2 using 2  
{ 
} 
//定时器中断0 用于掉电 
int_time0() interrupt 1 using 2 
{ 
} 
//定时器中断1 用于在线下载 
int_time1() interrupt 3 using 1 
{ 
} 
//串行中断  
int_uart() interrupt 4 using 3 
{ 
} 
//延时子函数1 
void delay_10ms(byte time) 
{ 
     byte i,j; 
     for(i=0;i