基于單片機的視力保護器設計
為了保護青少年的視力,現如今越來越多的公司都在研發生產各種視力保護產品,國內主要有眼保姆,坐姿矯正器和各種護眼燈;國外有法國艾斯·布魯斯研發的光明天使博士鏡,以及美國眼科專家威廉貝茨研發的阿瞳二代產品。但這些產品功能單一,不能滿足消費者的個性化需求。針對這一問題,本文將單片機與視力保護相結合,利用單片機芯片的智能處理功能,結合超聲波測距原理,光敏電阻隨光強變化的特點,單片機定時器T0,T1的工作原理,以及LCD1602液晶顯示器的使用方法,設計了一個多功能視力保護器。該設計的技術要求是當學生的面部與書本或電腦的距離小于30 cm時,蜂鳴器產生聲光報警,提醒學生注意坐姿;當學生學習時間超過45分鐘時,蜂鳴器產生聲光報警,提醒學生休息片刻;當光線過強或過弱時,蜂鳴器產生聲光報警,提醒學生注意學習環境;能夠分辨是什么原因引起的聲光報警;并具有設置功能,能夠自行設定相應的數據。
本文引用地址:http://www.j9360.com/article/201610/307351.htm1 總體設計
1.1 系統設計方案
本系統采用STC89C52RC DPIP40單片機作為核心控制單元,通過HC—SR04超聲波測距模塊測量人的面部到書本的距離,當測得距離小于30 cm或設定距離時產生聲光報警。利用光敏電阻的光電導效應采集光線模擬信號,并通過ADC0832模數轉換器轉換為數字信號,對數字信號進行光強等級處理并用1602液晶顯示器顯示光的強弱,當光太強或太弱時產生報警。通過單片機內部定時器T1對學習時間進行計時,當學習時間超過45分鐘或設定值時產生報警,其中報警電路由一個PNP型三極管驅動。系統總體設計方框圖如圖1所示。

1.2 系統設計的基本步驟
本設計的主要步驟如下:
1)認真分析視力保護器的技術要求。
2)確定硬件設備,選好器件的型號。
3)畫電路原理圖。
4)根據硬件電路及各芯片的時序編寫程序。
5)將程序輸入單片機進行軟件測試,查找錯誤,使系統程序更加完善。
6)根據電路原理圖及相應元器件的焊接方法焊接硬件電路。
7)將程序寫進單片機進行硬件調試。
2 硬件設計
STC89C52RC PDIP封裝單片機由宏晶科技推出,其指令代碼完全兼容傳統8051單片機,是一種增強型8051單片機。工作電壓為5. 5~3.3 V(5 V單片機),有8 K字節的用戶應用程序空間,片上集成512字節RAM,內部帶2 K EEPROM的存儲空間。通過串口就可直接下載程序,且處理速度快,抗干擾能力強,功耗低,價格便宜,所以本設計采用STC89C52RC作為控制電路的主選芯片。
2.1 主控模塊設計
該主控模塊含有時鐘電路、系統復位電路、電源電路。其中時鐘電路由單片機內部反相放大器的輸入引腳跨接在晶振兩端和兩個微調電容組成,構成自激勵振蕩器,用來產生單片機工作時必須的時鐘信號。時鐘電路中電容選用20 pF,晶振選用12 MHz,因為頻率越高單片機的速度越快。系統采用按鍵復位的工作方式,其復位電路由復位按鍵、10μF電容和10kΩ電阻組成,單片機的復位時間由復位電路的極性電容決
定,極性電容一般采用10~30μF。單片機的時鐘工作以后,只要RST引腳上出現兩個機器周期以上的高電平,系統就復位。
2.2 蜂鳴器報警電路模塊設計
由于電磁式蜂鳴器需要較低的電壓就能發出很高分貝的聲音,本設計選用電磁式蜂鳴器,其發聲的原理為電流通過電磁線圈產生磁場,進而驅動振動膜片發聲。由于單片機I/O引腳輸出電流的驅動能力有限,所以采用PNP型三極管(放大作用)驅動蜂鳴器。當P1.3輸出高電平“1”時,三極管Q1截止,沒有電流流過線圈,蜂鳴器不發聲,當P1.3輸出低電平“0”時,三極管Q1導通,電流流過蜂鳴器線圈,蜂鳴器發聲。因為發光二極管和蜂鳴器并聯,所以聲光報警是同時進行的。蜂鳴器報警電路圖如圖2所示。

2.3 光敏電阻測光電路模塊設計
2.3. 1 光敏電阻
光敏電阻采用硅,鍺,硫化鎘,硒化鉛等半導體材料制成,它的工作區在一個很薄的光敏層上,光敏層具有電阻特性,兩端由金屬電極引出。無光照時,光敏電阻的阻值很大,當光線照到光敏層上,半導體材料中的載流子將迅速增加,阻值下降,光線越強,阻值越低。光敏電阻通常做成片狀結構,以便吸收更多光能。光敏電阻具有靈敏度高,測光范圍廣的優點。光敏電阻屬于有源器件,工作時必須加電源。
2.3.2 光敏電阻測光電路
光敏電阻測光電路工作原理:當光線發生變化時,由于光敏電阻內部載流子發生變化,所以流過光敏電阻的電流發生變化,進而R6兩端的分壓產生變化,該模擬電壓信號經過ADC0832模數轉換器采集后便可得到相應的數字信號,再經過單片機處理后,在LCD液晶模塊上顯示光的強弱百分比。光敏電阻測光電路接線圖如圖3所示。

2.4 電源接口電路模塊設計
本設計采用3節1.5 V電池串聯供電,電池盒和自鎖開關串聯可以方便電路的通斷。電源接口電路接線圖如圖4所示。

2.5 按鍵電路模塊設計
本設計用按鍵設置學習時間、光線強弱界限以及報警距離。按鍵電路接線圖如圖5所示。其中S4為設置鍵,S3為開始學習鍵和設定值的加鍵,S2為時間清零鍵和設定值的減鍵。當某鍵按下時,低電平有效。

2.6 超聲波測距模塊設計
2.6.1 超聲波簡介
超聲波是高于20 kHz的機械波,它在不同的介質中傳播速度不同,在通過兩種不同介質時,在介質表面會發生反射、折射現象,超聲波在傳播過程中有一定的衰減。超聲波在空氣中衰減較快,頻率越高,衰減越快,故在空氣中傳播時采用頻率較低的超聲波40 kHz。
2.6.2 超聲波測距原理
本設計利用超聲波遇到障礙物發生反射的特性,采用往返時間檢測的方法進行測距,超聲波測距原理圖如圖6所示。

測距時,超聲波發射器向某一方向發射超聲波,超聲波在空氣中傳播遇到障礙物就立即反射回來,計算出超聲波在空氣中傳播的往返時間t,超聲波在空氣中傳播的速度為:340 m/s。利用如下公式(1)便可知超聲波探頭距障礙物的距離S。
S=vt/2 (1)
2.6.3 HC—SRO4超聲波測距模塊
本設計采用HC—SRO4超聲波測距模塊測量人的臉部離書籍的距離。該模塊測距范圍為2~400 cm,測距精度高達3 mm;模塊由超聲波發射器,超聲波接收器,控制電路組成,其中發射器發射超聲波信號用來作為距離的采樣信號,接收器接收所發射的信號。
HC—SRO4超聲波測距模塊采用I/O口TIRG觸發測距,給TIRG最少10 s的高電平,這時模塊自動發送8個40 kHz的方波,自動檢測是否有信號返回,如果有信號返回,則通過I/O口ECHO輸出一個高電平,高電平持續的時間便是超聲波從發射到返回的時間,測試距離=(高電平時間*340 m/s)/2。HC—SRO4超聲波測距模塊的引腳圖如圖7所示。其中VCC接電源,GND接地,TIRG為觸發控制信號輸入端接P3.3,ECHO為回響信號輸出端接P3.2。

3 軟件設計
本設計使用的編程語言為C語言,根據系統要實現的功能,先寫出主程序,再利用硬件電路功能及各芯片、各模塊的工作時序寫出子程序,最后在主程序中進行調用,這種方法簡單,主程序語句少,且易于軟件設計和查錯,還能很好的利用硬件電路,分模塊進行調試。
3. 1 主程序流程圖
系統主程序流程圖如圖8所示。

3.2 部分子程序流程圖
T0用于測超聲波的往返時間,工作于工作方式1,對單片機的機器周期進行計數。定時器的定時時間與系統的時鐘頻率有關,由于一個機器周期等于12個時鐘周期,晶振為12 MHz,則計數周期為:T=12x1/(12x106)=1μs。當超聲波ECHO端為高電平時開始計時。超聲波測距子程序流程圖如圖9所示。

學習時間由定時器T1定時,其工作于工作方式1,初值為TH1=0X3C;TL1=0XB0;50 ms中斷一次,value加1,當value值加到20時,即為1 s,秒鐘加1;當秒加到60時,分鐘加1;當分加到60時,時加1;當時加到24時,從新開始。報警子程序流程圖如圖10所示。

4 系統調試
軟件測試:在Keil uvision4中編寫程序,進行調試,修改語法錯誤。
硬件測試:焊接電路之前,先用萬用表測得各元器件的好壞,分清極性電容蜂鳴器、發光二極管的正負以及PNP型三極管的三個級。在焊接電路板時,從單片機最小系統開始,分模塊,逐個進行焊接并隨時用萬用表的“二極管”擋測試電路是否導通。焊接完成后,利用STC_ISP _V479下載軟件將編好程序燒進單片機芯片中,并進行功能檢測。
5 結論
經過軟硬件的設計與調試,系統達到了設計要求,當學生開始學習時;若光線低于設定的弱光或光線高于設定的強光時,報警電路產生聲光報警,提醒學生注意學習環境;若超聲波測到的距離小于30 cm或設定值時,報警電路產生聲光報警,提醒學生調節眼睛到書本的距離。當學習時間到達設定值時,產生10次報警,每次3下,提醒學生注意休息。由于超聲波在空氣中的傳播速度與溫度有關,本設計沒有考慮溫度對超聲波傳播速度的影響,測量距離還有一定的誤差,但誤差很小,還可通過溫度傳感器DS18B20進一步完善,使其測量更加精確。
評論