• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

51單片機導(dǎo)盲手杖_超聲波測距+DS18B20測溫設(shè)計

2024/08/13
1629
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

設(shè)計資料獲取聯(lián)系方式.doc

共1個文件

原理圖PAB:Altium Designer

仿真原版本:proteus 7.8

程序編譯器:keil 4/keil 5

編程語言:C語言

設(shè)計編號:S0019

設(shè)計要求

導(dǎo)盲手杖主要用于幫助視覺有障礙的人解決行動不便問題,具有成本低,使用方便等特點。主要要求有:

1.顯示前方障礙物距離;

2.實時測量距離,并通過蜂鳴器提醒距離過短,蜂鳴器蜂鳴發(fā)出預(yù)警;

3.可以通過按鍵調(diào)整蜂鳴器預(yù)警的距離;

4.附加要求,可以顯示實際溫度,根據(jù)溫度調(diào)整傳感器測試計算,減少誤差。

img

img

仿真電路

可以通過按鍵調(diào)整蜂鳴器預(yù)警的距離,從而調(diào)整安全距離。

img

原理圖

img

PCB圖

imgimg

源程序

img

主程序

/主函數(shù)
void main()
{
	Init_ultrasonic_wave();
	//屏幕初始化
	Init1602();
	//溫度初始化
	tmpchange(); 
	t_=tmp();
	tmpchange();
	t_=tmp();
	tmpchange();
	t_=tmp();

	//循環(huán)顯示
	while(1)
	{
		Key();
		//正常顯示
		if(mode==0)
		{
			StartModule();//啟動超聲波
			while(!RX);	  //當(dāng)RX為零時等待
			TR0=1;		  //開啟計數(shù)
			while(RX);	  //當(dāng)RX為1計數(shù)并等待
			TR0=0;		  //關(guān)閉計數(shù)
	
			delayms(20);  //20MS
			tmpchange();  //溫度轉(zhuǎn)換
			t_=tmp();     //度溫度
			Conut(t_/10); //計算距離
			if(L_<Min)
			{
				Feng_Start();
			}
			
			
			
			/*	if(FW=0)
				Feng_Stop();
			*/
			Display_1602(t_/10,L_);
		}
		//調(diào)整顯示
		else if(mode!=0)
		{
			//最大最小值
			Init_MaxMin();
			while(mode!=0)
			{
				
				Key();
				/*if(k==1&&mode==1)
				{
					Init_MaxMin();	
   				write_com(0x8d);//設(shè)置位置					
				}
				*/
				 if(k==1&&mode==1)
				{
					Init_MaxMin();	
   				write_com(0x89);//設(shè)置光標位置	
				}
				k=0;
			}
			//界面初始化
			Init1602();
		}
	}
}

按鍵檢測

//按鍵檢測
void Key()
{
	//功能鍵按下
	if(K1==0)
	{
		Feng_Start();//蜂鳴器開
		delay_key(); //消抖
		while(K1==0);//等待松手
		Feng_Stop(); //蜂鳴器關(guān)閉
		mode++;      //模式++
		if(mode==2)	 //達到最大限度歸為
			mode=0;	
		k=1;			 //按鍵標志位
	}
	//+鍵
	else if(K2==0)
	{
		Feng_Start();//蜂鳴器開
		delay_key(); //消抖
		while(K2==0);//等待松手
		Feng_Stop(); //蜂鳴器關(guān)閉
		//最大值調(diào)整
		/*if(mode==1)  //在最大值調(diào)整下
		{
			Max++;	 //調(diào)整最大值
			if(Max==201)//到達201歸為200
			{
				Max=200;
			}	
		}*/
		//最小值
	if(mode==1)//最小模式下調(diào)整
		{
			Min++;		//調(diào)整最小值
			/*if(Min>Max) //最小值不能大于最大值
			{
				Min=Max;
			}	
				*/
		}
		k=1;
	}
	//-鍵
	else if(K3==0)
	{
		Feng_Start();
		delay_key();
		while(K3==0);
		Feng_Stop();
		//最大值調(diào)整
		/*if(mode==1)
		{
			Max--;
			if(Max<Min)
			{
				Max=Min;
			}	
		}*/
		//最小值
		 if(mode==1)
		{
			Min--;
			if(Min==0xff)
			{
				Min=0;
			}				
		}
		k=1;
	}
}

資料清單

下載

img

  • 設(shè)計資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
CM315D32768EZFT 1 Citizen Finedevice Co Ltd Parallel - Fundamental Quartz Crystal, 0.032768MHz Nom, SMD, 2 PIN

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
S29GL512T10TFI020 1 Cypress Semiconductor Flash, 32MX16, 100ns, PDSO56, TSOP-56
$8.39 查看
NC7ST08P5X 1 Rochester Electronics LLC HST/T SERIES, 2-INPUT AND GATE, PDSO5, 1.25 MM, EIAJ, SC-88A, SC-70, 5 PIN
$0.25 查看

相關(guān)推薦