📄 system_initial.c
字号:
/******************************************************************
本程序只供学习使用,未经作者许可,不得用于其它任何用途
我的邮箱:computer-lov@tom.com
欢迎访问我的blog: http://computer00.21ic.org
system_initial.c文件 系统初始化
Created by Computer-lov
Date: 2004.11.12
Edit date:2006.3.2
Version V1.1
Copyright(C) Computer-lov 2004-2014
All rigths reserved
*******************************************************************/
#include "hardware.h"
#include "system_initial.h"
#include "main.h"
#include "LCD1602.H"
#include "measure_capacity.h"
#include "square_wave_generator.h"
void System_initial(void)
{
unsigned int i;
EA=0;
P0=0xFF;
P1=0x11;
P2=0xFF;
P3=0xBF;
LCD_initial();
LCD_prints("Welcom to use!");
LCD_set_position(40);
LCD_prints("Starting.");
delayXms(200);
T2CON=0x00; //定时器自动重装模式
T2MOD=0x00;
RCAP2H=0xB1;
RCAP2L=0xE0; //定时时间为10ms
TCON=0x05; //外中断边沿触发方式
TMOD=0x11;
ET2=1; //定时中断2允许
ET1=0;
ET0=1; //外部中断0允许
EX0=1;
EX1=0;
LCD_printc('.');
delayXms(150);
LCD_printc('.');
delayXms(150);
settings_value.flag=0xAA;
settings_value.last_status=MAIN_MENU;
settings_value.mode=AUTO_MODE;
settings_value.capacity_scope=5;
settings_value.wave_value=18;
settings_value.zero_offset[0]=0x0000;
settings_value.zero_offset[1]=0x0000;
settings_value.zero_offset[2]=0x0000;
settings_value.zero_offset[3]=0x0000;
settings_value.zero_offset[4]=0x0000;
i=Read_a_EEPROM_data(EEPROM_Addr,0x00);
LCD_printc('.');
delayXms(150);
LCD_printc('.');
delayXms(150);
EA=1;
TR2=1;
if(i>255)
{
NO_2401=1;
menu_value=1;
status=settings_value.last_status;
capacity_scope=settings_value.capacity_scope;
wave_value=settings_value.wave_value;
return;
}
else NO_2401=0;
if(i!=settings_value.flag)
{
for(i=0;i<15;i++)Write_a_EEPROM_data(EEPROM_Addr,i,((unsigned char *)&settings_value)[i]);
menu_value=1;
status=settings_value.last_status;
capacity_scope=settings_value.capacity_scope;
wave_value=settings_value.wave_value;
return;
}
LCD_printc('.');
delayXms(50);
LCD_printc('.');
delayXms(50);
for(i=0;i<15;i++)((unsigned char *)&settings_value)[i]=Read_a_EEPROM_data(EEPROM_Addr,i);
LCD_printc('.');
delayXms(100);
menu_value=1;
status=settings_value.last_status;
capacity_scope=settings_value.capacity_scope;
wave_value=settings_value.wave_value;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -