⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 poweron_initial.c

📁 常用子程序-61个-4.2M.rar
💻 C
字号:
#include <at89x51.h>
#define Byte unsigned char
#define clock_40ms (65536-40000)
Byte idata Ledcount,Outputstate,Dutycount,keydata;
//***************************initialcpu********************************************//
void initialcpu(void)
{IE=0;	
PSW=0;
IP=0X0B;
TMOD=0X15;
TR0=0;
TR1=1;
IT0=1;
TL0=0XFF;
TH0=0XFF;
TL1=clock_40ms & 0xff;	//clock_40ms=(65536-40000) for 12MHz
TH1=clock_40ms >> 8;
}
//**************************initialcpuIO*******************************************//
void initialcpuIO()
{P0=0xff;
 P1=0xff;
 P2=0xff;
 P3=0xff;
 P1_0=0;
 P3_1=0;
}
//**************************initialeeprom******************************************//
Byte hibyte(Byte version_id);
Byte Lobyte(Byte version_id);
void eepromwrite(Byte adress,Byte num);
void initialeeprom(void)
{Byte code eeprom_default_table1[][6]={
	 {0x11,0x12,0x13,0x14,0x15,0x16},
	 {0x81,0x82,0x83,0x84,0x85,0x86},
	 {0xc1,0xc2,0xc3,0xc4,0xc5,0xc6}
	 								  };
 Byte code eeprom_default_table2[]={
	  0x80,0x00,
	  0x0f,0x10,0x10,0x00,
	  0x01,0x00,0x00,0x00,
	  0x00,0x00
	  								};
Byte i,j;
Byte datapointer;
Byte version_adr;
Byte version_id;
Byte trmbuf[8];
for(i=0;i<3;i++)
	{datapointer=eeprom_default_table1[i];
	for(j=0;j<6;j++)
		trmbuf[j+1]=*(datapointer+j);//C51编译器不支持这种取值运算◎◎◎◎◎◎◎◎!!!
	eepromwrite(i*6,6);
	}
for(i=0;i<12;i++)
	{trmbuf[i+1]=eeprom_default_table2[i];
	eepromwrite(0x80,12);
	trmbuf[1]=hibyte(version_id);
	trmbuf[2]=lobyte(version_id);
	eepromwrite(version_adr,2);
	}
//***************************initialvariable**************************************//
void initialvarialble(void)
{Ledcount=0;
 Outputstate=0xff;
 Dutycount=0;
 keydata=0;
}
//**************************Poweron_initial***************************************//

void Poweron_initial (void)
{initialcpu();
 initialcpuIO();
 eepromread(version_adr,2);//上电检查eeprom ID
 if((trmbuf[0]!=hibyte(version_id))||(trmbuf[1]!=lobyte(version_id))
	 initialeeprom();
 initialvariable();//初始化变量
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -