趙星,肖東岳
(南陽理工學(xué)院電子與電氣工程學(xué)院,河南南陽,473004)
青少年近視成為社會的一個普遍現(xiàn)象。因而,需要有一個視力保護(hù)裝置,來提醒人們注意用眼習(xí)慣。現(xiàn)如今市場上的視力保護(hù)儀產(chǎn)品功效比較單一,而且使用不方便。本文利用單片機設(shè)計一款使用方便、具有多重選擇功能的視力保護(hù)儀來保護(hù)學(xué)生視力。
該設(shè)計以單片機為中心,利用光敏電阻感應(yīng)光線強度,經(jīng)過A/D 轉(zhuǎn)換芯片將感應(yīng)到的光強度值進(jìn)行等級劃化;利用超聲波模塊與單片機之間的中斷;通過單片機自身所帶的定時器對學(xué)習(xí)時間進(jìn)行計時;通過顯示屏顯示各模塊參數(shù);通過按鍵進(jìn)行功能選擇系統(tǒng)總體的設(shè)計方框圖如圖1 所示。

圖1 系統(tǒng)總體方案框圖
單片機作為該設(shè)計的中心模塊,其作用在于完成系統(tǒng)的主動報警和語音提示功能,解決超聲波模塊檢測到的距離信息,將光敏電阻檢測到的光線信號作以處理。本系統(tǒng)選用性價比較高的STC89C52 單片機作為整個設(shè)計系統(tǒng)的核心。
系統(tǒng)中采用光敏電阻對光信號進(jìn)行采集,光線的強弱能直觀的體現(xiàn)在光敏電阻的阻值變化上,間接反映在體現(xiàn)了光敏電阻兩端電壓值的變化上,而后經(jīng)過單片機控制的A/D模數(shù)轉(zhuǎn)換芯片對光敏電阻兩端的電壓信號進(jìn)行采集,將其轉(zhuǎn)換后通過顯示屏顯示出光照強度大小。ADC0832 是可以同時進(jìn)行讀和寫的A/D 轉(zhuǎn)換芯片,轉(zhuǎn)換速度快且穩(wěn)定性能強,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。該系統(tǒng)采用光敏電阻串聯(lián)一個色環(huán)電阻,其作用是為了限流電阻,防止光敏電阻的阻值變化時造成電壓波動。
該裝置需要測量人臉和桌面的距離以此來確定坐姿,當(dāng)間隔低于設(shè)定值時就會發(fā)出語音提醒。超聲波因為方向性強,而且在空間中傳播的距離比較遠(yuǎn),因而選用超聲波進(jìn)行距離檢測。HC-SRO4 超聲波模塊是一款非接觸式距離檢測模塊,其性能穩(wěn)定,可以檢測2cm 到450cm 的間隔,測量精度非常高。
語音提示模塊具有語音播報提示功能:當(dāng)視力保護(hù)器與人體距離小于設(shè)置距離時語音播報“距離近了,請坐直”,當(dāng)光強度值小于設(shè)置光強度值時語音播報“光線暗了,調(diào)亮些”,當(dāng)學(xué)習(xí)時間達(dá)到設(shè)定值時語音播報“時間到了,休息一會兒”。WT588D 是一款具有單片機內(nèi)核的語音芯片,具有音質(zhì)較好,控制靈活的特點,更增加了可播放MIDI 和弦功能,性能更好。揚聲器將檢測到的電信號轉(zhuǎn)化為聲音信號的一款元器件,通過揚聲器與語音芯片的連接,將聲音傳播出來。
LCD1602 液晶顯示屏能夠同時顯示32 個字符,字跡清晰,比較方便,且容易控制,成本較低。因此,本設(shè)計用LCD1602 液晶進(jìn)行顯示所需數(shù)據(jù)。
系統(tǒng)采用4 個按鍵來設(shè)定參數(shù),S2 鍵按下開始學(xué)習(xí),當(dāng)S2 鍵按下時S3 鍵按下可中止學(xué)習(xí)或者當(dāng)S5 鍵按下時按其可以調(diào)節(jié)參數(shù)減少,當(dāng)S3 鍵按下時可按S4 鍵繼續(xù)學(xué)習(xí)或者當(dāng)按下S5 鍵時調(diào)節(jié)參數(shù)增加,S5 設(shè)置鍵,用以設(shè)置光照強度報警值和人與桌面距離的報警值。

圖2 主程序設(shè)計流程圖
程序執(zhí)行時,首先將數(shù)據(jù)初始化,然后按照各個模塊所能實現(xiàn)的具體功能進(jìn)行各個子程序的設(shè)計,最后依次將設(shè)計的子程序合并入主程序當(dāng)中,這樣編程邏輯清晰,防止出現(xiàn)問題,無從下手。系統(tǒng)主程序設(shè)計流程圖如圖2 所示。
本設(shè)計通過光線變化而使光敏電阻電阻值產(chǎn)生變化,從而得出光敏電阻兩端電壓值通過ADC0832 模數(shù)轉(zhuǎn)換器,將檢測到的模擬量電壓值換算成數(shù)字信號輸出給STC89C52。判斷當(dāng)前環(huán)境下的光強度值是否符合經(jīng)換算后設(shè)置的光強度值,若檢測值低于設(shè)置值將發(fā)出語音提示,提醒使用者調(diào)整光照強度,從而愛護(hù)眼睛。其程序流程圖如圖3 所示。

圖3 光照檢測電路流程圖
系統(tǒng)開始工作并對超聲波測距模塊進(jìn)行程序初始化,然后利用超聲波發(fā)射的時間以及信號返回的時間差計算檢測距離。如若檢測到使用者與桌面的間距小于15cm,則發(fā)出語音提示“距離近了,請坐直”,提醒使用者注意與桌面的距離,坐直身體。如果沒有檢測到超聲波返回信號,則表示此次測距不成功,返回程序,繼續(xù)發(fā)射超聲波信號,進(jìn)行距離測量。超聲波測距子程序流程圖如圖4 所示。

圖4 超聲波測距流程圖
定時子程序是對學(xué)生的學(xué)習(xí)時間進(jìn)行定時,在使用定時器之前必須對其進(jìn)行初始化編程操作。單片機定時器的初始化在主函數(shù)進(jìn)行,編程需要以下幾個步驟:
第1 步:設(shè)置TMOD。本設(shè)計使用的是定時器T1,而且選取工作模式1 進(jìn)行工作定時,因此TMOD=0x11;
第2 步:設(shè)置定時器的計數(shù)初值。TH1=0xD8,TL1=0xF0;
第3 步:設(shè)置TCON。啟動定時器,TR1=0;
第4 步:設(shè)置中斷允許寄存器IE。EA=1,ET1=1。
定時程序流程圖如圖5 所示。
把用keil4 編寫好的程序下載燒錄到到單片機后,對系統(tǒng)進(jìn)行通電測試。

圖5 定時子程序流程圖
按下系統(tǒng)開始工作鍵,即電路板上的第一個按鍵,系統(tǒng)開始進(jìn)行工作。當(dāng)檢測到與桌面距離過近時或光照強度值為30%或計時結(jié)束,系統(tǒng)均能發(fā)出提醒語音。
本文以STC89C52 單片機為處理器設(shè)計一款視力保護(hù)儀。該儀器不僅可以提醒用戶調(diào)整坐姿;而且可以感應(yīng)光線強弱,讓用戶在合適的光線下進(jìn)行學(xué)習(xí);液晶顯示屏顯示各模塊參數(shù),讓用戶更加直觀的了解參數(shù),方便進(jìn)行調(diào)整。本設(shè)計尚存在一定的不足需要解決,比如:視力保護(hù)器可以通過藍(lán)牙模塊與手機進(jìn)行連接,便于家長的監(jiān)督等等。