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


 
#include "jyj07.h" 
#include "sys_ini.h" 
#include "shui_kong.h" 
 
//系统初始化函数 
void system_ini() 
{ 
     byte a; 
     sfreg_ini();                 //系统sfr初始化设置 
     ic_io_ini();                 //芯片i/o初始化设置 
     lcd_ini();                   //液晶初始化 
	 check_ic();                  //芯片自检 
	 disp_ed();                   //显示版本信息 
	 a=shuiwu_init();             //税务初始化函数 
} 
//系统sfr初始化设置 
void sfreg_ini() 
{ 
     IE=0x00;                     //禁止所有中断 
     TI=0; 
     RI=0; 
     REN=1; 
     TMOD=0x21;                   //0010 0001 
     TCON=0x05;                   //外中断0,1为下降沿中断 
     PCON=0x00; 
     SCON=0xc0;                   //串口工作在方式3,带校验位 
     TH1=0xfb; 
     TL1=0xfb;                    //串口bps=9600 18.432M 晶振 
     TR1=1;                       //启动定时器1 
     ES=1;                        //开放串口中断 
     TH0=0x00; 
     TL0=0x00; 
     ET0=1; 
     TR0=1;                       //启动定时器1 
     EX1=1;                       //开放外中断1,掉电检测 
     EA=1;                        //开放中断 	 
} 
//芯片i/o初始化设置 
void ic_io_ini() 
{ 
     CS_8255A_D=0x80;             //8255a工作方式设定 
	 CS_8255B_D=0xd1;             //8255b工作方式设定 
     CS_8255A_A=0xff;             //输出全高 
     CS_8255A_B=0xff; 
     CS_8255A_C=0xff; 
	 CS_8255B_A=0xff; 
} 
//芯片自检 
void check_ic() 
{ 
     byte a,b,c,d; 
     a=check_rtc12c887();           //12c887内存自检 
     b=check_ram6264();             //ram6264自检 
     c=check_flash();               //45d041自检 
     d=a+b+c; 
     disp_check_err(d);             //显示自检错误 
} 
//ds12c887自检 
byte check_rtc12c887() 
{ 
     return(0); 
} 
//ram6264自检 
byte check_ram6264() 
{ 
     return(0); 
} 
//45d041自检 
byte check_flash() 
{ 
     return(0); 
} 
//显示自检错误 
void disp_check_err(byte d) 
{ 
} 
//显示版本信息 
void disp_ed() 
{ 
}