本設(shè)計由STC89C52單片機電路+超聲波模塊電路+蜂鳴器報警電路+光敏電阻電路+PCF8591電路+1602液晶電路+電源電路。
1、通過超聲波測距,通過光敏電阻檢測光照,并且把距離和光照值(分為1-4檔,顯示1-4)實時顯示在液晶上。
2、當(dāng)距離小于30cm或者光線小于2檔時,蜂鳴器報警。
3、系統(tǒng)上電后,無論什么情況,20秒時間到,蜂鳴器報警。(提醒人休息)
基于51單片機的超聲波視力保護眼鏡設(shè)計電路原理圖如下:
1.png (304.08 KB)
下載附件
2021-6-11 18:37 上傳
部分源碼:完整見附件- #include<reg52.h> //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義
- #include<stdio.h>
- #include "1602.h"
- #include "i2c.h"
- #include "delay.h"
- #include "math.h"
- sbit Echo=P1^1; //觸發(fā)使用
- sbit Trip=P1^0;
- sbit buzzer = P1^2;
- char displaytemp[16];
- unsigned long time_20ms;
- unsigned char DisFlag=0;
- unsigned char lighNum = 0;
- float JuLi;
- long JlCoun=0;
- void TIM2Inital(void);
- unsigned long times =0;
- void main (void)
- {
- TMOD|=0x01; //設(shè)T0為方式1,GATE=1;
- TH0=0;
- TL0=0;
- ET0=1; //允許T0中斷
- EA=1; //開啟總中斷
-
- LCD_Init(); //初始化液晶
- DelayMs(20); //延時有助于穩(wěn)定
- LCD_Clear();
-
- while (1) //主循環(huán)
- {
- Trip=1; //啟動一次模塊 //不可以使用其他終端 容易造成死循環(huán)
- DelayUs2x(4);
- Trip=0;
- while(!Echo); //當(dāng)RX為零時等待
- TR0=1; //開啟計數(shù)
- while(Echo); //當(dāng)RX為1計數(shù)并等待
- TR0=0;
- JlCoun=(long)(TH0*256+TL0);
- TH0=0;
- TL0=0;
- JuLi=(float)(JlCoun*17)/100.0*1.08; //算出來是mm
- if(JuLi<0)
- {
- JuLi = 0;
- }
- lighNum=ReadADC(0)*99/255; //讀取AD光照
-
-
- if((JuLi<300)||(lighNum<2))
- {buzzer =0;}
-
- }
- }
復(fù)制代碼
原理圖和完整源碼:
基于51單片機的超聲波視力保護眼鏡設(shè)計-超聲波-光敏-PCF8591-(電路圖 程序源碼).zip.zip
(91.18 KB, 售價: 2 E幣)
2021-6-11 18:40 上傳
點擊文件名下載附件
售價: 2 E幣 [記錄]
[ 購買]
【必讀】版權(quán)免責(zé)聲明
1、本主題所有言論和內(nèi)容純屬會員個人意見,與本論壇立場無關(guān)。2、本站對所發(fā)內(nèi)容真實性、客觀性、可用性不做任何保證也不負任何責(zé)任,網(wǎng)友之間僅出于學(xué)習(xí)目的進行交流。3、對提供的數(shù)字內(nèi)容不擁有任何權(quán)利,其版權(quán)歸原著者擁有。請勿將該數(shù)字內(nèi)容進行商業(yè)交易、轉(zhuǎn)載等行為,該內(nèi)容只為學(xué)習(xí)所提供,使用后發(fā)生的一切問題與本站無關(guān)。 4、本網(wǎng)站不保證本站提供的下載資源的準(zhǔn)確性、安全性和完整性;同時本網(wǎng)站也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網(wǎng)站所有軟件和資料均為網(wǎng)友推薦收集整理而來,僅供學(xué)習(xí)用途使用,請務(wù)必下載后兩小時內(nèi)刪除,禁止商用。6、如有侵犯你版權(quán)的,請及時聯(lián)系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|