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

📄 softreset.c

📁 这是本人写的一个C51单片机的软件重启的工程示例
💻 C
字号:
/************************************************************/
/*********         SoftReset test C51           *************/
/**********  Written by WangBiao---20060414  ****************/
/************************************************************/
#include <AT89X51.H>
#include "lcd1602.h"

sbit LED=P3^4;

bit Int_flag;

extern void reset(void);//---must declare!!!!!!
//*********************************************//
//       delay nearly n*0.05s ;;n=20->1s      //
//********************************************//
void delay(unsigned int n)
{	unsigned int i;
	for(;n>0;n--)
	{	for(i=0;i<10000;) i++;  }
}
//-----------test LED-----------------------
void blink(unsigned char t,unsigned char n)
{	unsigned char i;
	for(i=0;i<n;i++)
	{	LED=0;delay(t);LED=1;delay(t);	}
}
//----------------------------------------------
void Int_fun(void)
{	Int_flag=0;
	dispstr(0,0,"Now interrupt");
	blink(5,3);
	reset();//---here softreset
}
//----------------------------------------------
void main(void)
{	IT0=0;//level triger!!!
	EA=1;
	EX0=1;
	Init_Lcd();
	dispstr(0,0,"Hello,welcome!!");
	blink(1,5);
	for(;;)
	{	dispstr(0,1,"the SoftReset!!");
		if(Int_flag) Int_fun();
	}
}
//--------------------------------------
void press(void) interrupt 0 using 1
{	unsigned char i;
	EA=0;
	Int_flag=1;//---here set INT flag
	for(i=0;i<3;i++)
	{	LED=0;delay(3);LED=1;delay(3);	}
	//---here must be one singal function!
	EA=1;
}
//--------------------------------------

⌨️ 快捷键说明

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