《单片机实践项目》之《电子DIY》之基于51单片机+震动开关的模拟地雷设计

程序:

//视频讲解:B站:搜索:“逗比小憨憨” /********************************************** *  名称:基于51单片机的模拟地雷设计 *  功能: 	1,使用震动开关进行相应的地雷触发 	2,当触发后,数码管进行60秒定时	(即,60秒排雷时间) 	3,当定时时间到后,地雷爆炸(即,蜂鸣器报警,LED闪烁) 	4,当在排雷期间,若再次触发震动开关则地雷直接爆炸 注意: 	踩到雷后,脚上发力前后两次不同并且受力差值(灵敏度)达到一定程度时则会触发地雷爆炸,震动开关可以通过点位器调节灵敏度  **************************************************/  #include<reg51.h>  #define uchar unsigned char #define uint unsigned  int  sbit dula=P2^6; sbit wela=P2^7; sbit fm=P2^3; sbit ctr=P3^2;  uchar flag=0; uchar j,k,c1,c0,m,n=255; uchar pp; int k1=0; uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,                         0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};  void delay(uint i) {   for(j=i;j>0;j--)     for(k=118;k>0;k--); }  void display(uchar a,uchar b) {    P0=table[a];    dula=1;    dula=0;        P0=0xef;    wela=1;    wela=0;    delay(5);        P0=table[b];    dula=1;    dula=0;        P0=0xdf;    wela=1;    wela=0;    delay(5); }  void main(void) { 	int k=0; 	TMOD|=0x01;		  	TR0=0;			  	IT0=1; 	EX0=1; 	TH0=(65536-46080)/256; 	TL0=(65536-46080)%256; 	ET0=1;			 //开定时器0中断 	fm=1; 	P1=0XFF; 	EA=1;			 //开总中断 	while(1) 	{ 		if(flag==1) 		{ 			if(pp==20) 			{	 				pp=0; 				m++; 				if(m==60) 				{ 					TR0=0; 					ET0=0; 					flag=0; 					m=0;	   //若到了60s,则归零 					for(k=0;k<20;k++) 					{ 						P1=~P1; 						fm=!fm; 						delay(500); 					} 					fm=1; 				} 			} 			c0=m%10;		  //取出当前描述的个位与十位 			c1=m/10; 			display(c1,c0);	   //显示 		} 		else 			display(8,8); 	} }   void int0(void) interrupt 0 { 	delay(10); 	if(ctr==0) 	{ 		flag++; 		//while(ctr==0); 	} 	if(flag==1) 	{ 		TR0=1; 		pp=0; 		m=0; 		fm=1; 		ET0=1; 		TH0=(65536-46080)/256; 		TL0=(65536-46080)%256; 	} 	else if(flag==2) 	{ 		display(8,8); 		ET0=flag=0; 		TR0=0; 		fm=0; 		pp=0; 		m=0; 		for(k1=0;k1<20;k1++) 		{ 			P1=~P1; 			delay(500); 		} 		TH0=(65536-46080)/256; 		TL0=(65536-46080)%256;		 	} }  void time0(void) interrupt 1 { 	TH0=(65536-46080)/256; 	TL0=(65536-46080)%256; 	pp++; }  

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 《单片机实践项目》之《电子DIY》之基于51单片机+震动开关的模拟地雷设计

提供最优质的资源集合

立即查看 了解详情