基于單片機的視力保護器設(shè)計
為了保護青少年的視力,現(xiàn)如今越來越多的公司都在研發(fā)生產(chǎn)各種視力保護產(chǎn)品,國內(nèi)主要有眼保姆,坐姿矯正器和各種護眼燈;國外有法國艾斯·布魯斯研發(fā)的光明天使博士鏡,以及美國眼科專家威廉貝茨研發(fā)的阿瞳二代產(chǎn)品。但這些產(chǎn)品功能單一,不能滿足消費者的個性化需求。針對這一問題,本文將單片機與視力保護相結(jié)合,利用單片機芯片的智能處理功能,結(jié)合超聲波測距原理,光敏電阻隨光強變化的特點,單片機定時器T0,T1的工作原理,以及LCD1602液晶顯示器的使用方法,設(shè)計了一個多功能視力保護器。該設(shè)計的技術(shù)要求是當(dāng)學(xué)生的面部與書本或電腦的距離小于30 cm時,蜂鳴器產(chǎn)生聲光報警,提醒學(xué)生注意坐姿;當(dāng)學(xué)生學(xué)習(xí)時間超過45分鐘時,蜂鳴器產(chǎn)生聲光報警,提醒學(xué)生休息片刻;當(dāng)光線過強或過弱時,蜂鳴器產(chǎn)生聲光報警,提醒學(xué)生注意學(xué)習(xí)環(huán)境;能夠分辨是什么原因引起的聲光報警;并具有設(shè)置功能,能夠自行設(shè)定相應(yīng)的數(shù)據(jù)。
本文引用地址:http://www.ex-cimer.com/article/201610/307351.htm1 總體設(shè)計
1.1 系統(tǒng)設(shè)計方案
本系統(tǒng)采用STC89C52RC DPIP40單片機作為核心控制單元,通過HC—SR04超聲波測距模塊測量人的面部到書本的距離,當(dāng)測得距離小于30 cm或設(shè)定距離時產(chǎn)生聲光報警。利用光敏電阻的光電導(dǎo)效應(yīng)采集光線模擬信號,并通過ADC0832模數(shù)轉(zhuǎn)換器轉(zhuǎn)換為數(shù)字信號,對數(shù)字信號進行光強等級處理并用1602液晶顯示器顯示光的強弱,當(dāng)光太強或太弱時產(chǎn)生報警。通過單片機內(nèi)部定時器T1對學(xué)習(xí)時間進行計時,當(dāng)學(xué)習(xí)時間超過45分鐘或設(shè)定值時產(chǎn)生報警,其中報警電路由一個PNP型三極管驅(qū)動。系統(tǒng)總體設(shè)計方框圖如圖1所示。
1.2 系統(tǒng)設(shè)計的基本步驟
本設(shè)計的主要步驟如下:
1)認(rèn)真分析視力保護器的技術(shù)要求。
2)確定硬件設(shè)備,選好器件的型號。
3)畫電路原理圖。
4)根據(jù)硬件電路及各芯片的時序編寫程序。
5)將程序輸入單片機進行軟件測試,查找錯誤,使系統(tǒng)程序更加完善。
6)根據(jù)電路原理圖及相應(yīng)元器件的焊接方法焊接硬件電路。
7)將程序?qū)戇M單片機進行硬件調(diào)試。
2 硬件設(shè)計
STC89C52RC PDIP封裝單片機由宏晶科技推出,其指令代碼完全兼容傳統(tǒng)8051單片機,是一種增強型8051單片機。工作電壓為5. 5~3.3 V(5 V單片機),有8 K字節(jié)的用戶應(yīng)用程序空間,片上集成512字節(jié)RAM,內(nèi)部帶2 K EEPROM的存儲空間。通過串口就可直接下載程序,且處理速度快,抗干擾能力強,功耗低,價格便宜,所以本設(shè)計采用STC89C52RC作為控制電路的主選芯片。
2.1 主控模塊設(shè)計
該主控模塊含有時鐘電路、系統(tǒng)復(fù)位電路、電源電路。其中時鐘電路由單片機內(nèi)部反相放大器的輸入引腳跨接在晶振兩端和兩個微調(diào)電容組成,構(gòu)成自激勵振蕩器,用來產(chǎn)生單片機工作時必須的時鐘信號。時鐘電路中電容選用20 pF,晶振選用12 MHz,因為頻率越高單片機的速度越快。系統(tǒng)采用按鍵復(fù)位的工作方式,其復(fù)位電路由復(fù)位按鍵、10μF電容和10kΩ電阻組成,單片機的復(fù)位時間由復(fù)位電路的極性電容決
定,極性電容一般采用10~30μF。單片機的時鐘工作以后,只要RST引腳上出現(xiàn)兩個機器周期以上的高電平,系統(tǒng)就復(fù)位。
2.2 蜂鳴器報警電路模塊設(shè)計
由于電磁式蜂鳴器需要較低的電壓就能發(fā)出很高分貝的聲音,本設(shè)計選用電磁式蜂鳴器,其發(fā)聲的原理為電流通過電磁線圈產(chǎn)生磁場,進而驅(qū)動振動膜片發(fā)聲。由于單片機I/O引腳輸出電流的驅(qū)動能力有限,所以采用PNP型三極管(放大作用)驅(qū)動蜂鳴器。當(dāng)P1.3輸出高電平“1”時,三極管Q1截止,沒有電流流過線圈,蜂鳴器不發(fā)聲,當(dāng)P1.3輸出低電平“0”時,三極管Q1導(dǎo)通,電流流過蜂鳴器線圈,蜂鳴器發(fā)聲。因為發(fā)光二極管和蜂鳴器并聯(lián),所以聲光報警是同時進行的。蜂鳴器報警電路圖如圖2所示。
2.3 光敏電阻測光電路模塊設(shè)計
2.3. 1 光敏電阻
光敏電阻采用硅,鍺,硫化鎘,硒化鉛等半導(dǎo)體材料制成,它的工作區(qū)在一個很薄的光敏層上,光敏層具有電阻特性,兩端由金屬電極引出。無光照時,光敏電阻的阻值很大,當(dāng)光線照到光敏層上,半導(dǎo)體材料中的載流子將迅速增加,阻值下降,光線越強,阻值越低。光敏電阻通常做成片狀結(jié)構(gòu),以便吸收更多光能。光敏電阻具有靈敏度高,測光范圍廣的優(yōu)點。光敏電阻屬于有源器件,工作時必須加電源。
2.3.2 光敏電阻測光電路
光敏電阻測光電路工作原理:當(dāng)光線發(fā)生變化時,由于光敏電阻內(nèi)部載流子發(fā)生變化,所以流過光敏電阻的電流發(fā)生變化,進而R6兩端的分壓產(chǎn)生變化,該模擬電壓信號經(jīng)過ADC0832模數(shù)轉(zhuǎn)換器采集后便可得到相應(yīng)的數(shù)字信號,再經(jīng)過單片機處理后,在LCD液晶模塊上顯示光的強弱百分比。光敏電阻測光電路接線圖如圖3所示。
2.4 電源接口電路模塊設(shè)計
本設(shè)計采用3節(jié)1.5 V電池串聯(lián)供電,電池盒和自鎖開關(guān)串聯(lián)可以方便電路的通斷。電源接口電路接線圖如圖4所示。
2.5 按鍵電路模塊設(shè)計
本設(shè)計用按鍵設(shè)置學(xué)習(xí)時間、光線強弱界限以及報警距離。按鍵電路接線圖如圖5所示。其中S4為設(shè)置鍵,S3為開始學(xué)習(xí)鍵和設(shè)定值的加鍵,S2為時間清零鍵和設(shè)定值的減鍵。當(dāng)某鍵按下時,低電平有效。
2.6 超聲波測距模塊設(shè)計
2.6.1 超聲波簡介
超聲波是高于20 kHz的機械波,它在不同的介質(zhì)中傳播速度不同,在通過兩種不同介質(zhì)時,在介質(zhì)表面會發(fā)生反射、折射現(xiàn)象,超聲波在傳播過程中有一定的衰減。超聲波在空氣中衰減較快,頻率越高,衰減越快,故在空氣中傳播時采用頻率較低的超聲波40 kHz。
2.6.2 超聲波測距原理
本設(shè)計利用超聲波遇到障礙物發(fā)生反射的特性,采用往返時間檢測的方法進行測距,超聲波測距原理圖如圖6所示。
測距時,超聲波發(fā)射器向某一方向發(fā)射超聲波,超聲波在空氣中傳播遇到障礙物就立即反射回來,計算出超聲波在空氣中傳播的往返時間t,超聲波在空氣中傳播的速度為:340 m/s。利用如下公式(1)便可知超聲波探頭距障礙物的距離S。
S=vt/2 (1)
2.6.3 HC—SRO4超聲波測距模塊
本設(shè)計采用HC—SRO4超聲波測距模塊測量人的臉部離書籍的距離。該模塊測距范圍為2~400 cm,測距精度高達(dá)3 mm;模塊由超聲波發(fā)射器,超聲波接收器,控制電路組成,其中發(fā)射器發(fā)射超聲波信號用來作為距離的采樣信號,接收器接收所發(fā)射的信號。
HC—SRO4超聲波測距模塊采用I/O口TIRG觸發(fā)測距,給TIRG最少10 s的高電平,這時模塊自動發(fā)送8個40 kHz的方波,自動檢測是否有信號返回,如果有信號返回,則通過I/O口ECHO輸出一個高電平,高電平持續(xù)的時間便是超聲波從發(fā)射到返回的時間,測試距離=(高電平時間*340 m/s)/2。HC—SRO4超聲波測距模塊的引腳圖如圖7所示。其中VCC接電源,GND接地,TIRG為觸發(fā)控制信號輸入端接P3.3,ECHO為回響信號輸出端接P3.2。
3 軟件設(shè)計
本設(shè)計使用的編程語言為C語言,根據(jù)系統(tǒng)要實現(xiàn)的功能,先寫出主程序,再利用硬件電路功能及各芯片、各模塊的工作時序?qū)懗鲎映绦颍詈笤谥鞒绦蛑羞M行調(diào)用,這種方法簡單,主程序語句少,且易于軟件設(shè)計和查錯,還能很好的利用硬件電路,分模塊進行調(diào)試。
3. 1 主程序流程圖
系統(tǒng)主程序流程圖如圖8所示。
3.2 部分子程序流程圖
T0用于測超聲波的往返時間,工作于工作方式1,對單片機的機器周期進行計數(shù)。定時器的定時時間與系統(tǒng)的時鐘頻率有關(guān),由于一個機器周期等于12個時鐘周期,晶振為12 MHz,則計數(shù)周期為:T=12x1/(12x106)=1μs。當(dāng)超聲波ECHO端為高電平時開始計時。超聲波測距子程序流程圖如圖9所示。
學(xué)習(xí)時間由定時器T1定時,其工作于工作方式1,初值為TH1=0X3C;TL1=0XB0;50 ms中斷一次,value加1,當(dāng)value值加到20時,即為1 s,秒鐘加1;當(dāng)秒加到60時,分鐘加1;當(dāng)分加到60時,時加1;當(dāng)時加到24時,從新開始。報警子程序流程圖如圖10所示。
4 系統(tǒng)調(diào)試
軟件測試:在Keil uvision4中編寫程序,進行調(diào)試,修改語法錯誤。
硬件測試:焊接電路之前,先用萬用表測得各元器件的好壞,分清極性電容蜂鳴器、發(fā)光二極管的正負(fù)以及PNP型三極管的三個級。在焊接電路板時,從單片機最小系統(tǒng)開始,分模塊,逐個進行焊接并隨時用萬用表的“二極管”擋測試電路是否導(dǎo)通。焊接完成后,利用STC_ISP _V479下載軟件將編好程序燒進單片機芯片中,并進行功能檢測。
5 結(jié)論
經(jīng)過軟硬件的設(shè)計與調(diào)試,系統(tǒng)達(dá)到了設(shè)計要求,當(dāng)學(xué)生開始學(xué)習(xí)時;若光線低于設(shè)定的弱光或光線高于設(shè)定的強光時,報警電路產(chǎn)生聲光報警,提醒學(xué)生注意學(xué)習(xí)環(huán)境;若超聲波測到的距離小于30 cm或設(shè)定值時,報警電路產(chǎn)生聲光報警,提醒學(xué)生調(diào)節(jié)眼睛到書本的距離。當(dāng)學(xué)習(xí)時間到達(dá)設(shè)定值時,產(chǎn)生10次報警,每次3下,提醒學(xué)生注意休息。由于超聲波在空氣中的傳播速度與溫度有關(guān),本設(shè)計沒有考慮溫度對超聲波傳播速度的影響,測量距離還有一定的誤差,但誤差很小,還可通過溫度傳感器DS18B20進一步完善,使其測量更加精確。
評論