總述
本項目基於51單片機,實現了對光敏電阻兩端電壓信號的簡單獲取,並通過數碼管顯示,蜂鳴器可以根據電壓信號的大小發出不同間隔的聲音。
注意: 由於疫情原因限制,無法返校制作實物,故本項目僅在proteus中完成了仿真,未能完成實物制作,仿真結果可能與實物結果不符
介紹
光照度計是一種專門測量照度的儀器,通俗來講就是測量被測物體表面的光強。
本文闡述的簡易光照度計作為51的練手項目,當然不能做的像市面上的那樣強大,這里只對信號進行了非常簡單的處理
具體指標
- 用兩位數碼管顯示實時光照強度,在改變傳感器參數時顯示電路實時同步更新。
- 同時驅動一個 1KHz 音頻蜂鳴器在光照強度由弱到強變化時讓蜂鳴器發出不同間隔的報警音,即光照越弱聲音斷續節奏越慢,光照越強音頻節奏越快。
- 整機供電電壓不高於 12v。
原理部分
原理框圖如下

原理簡述
光敏電阻阻值隨光照的增強而減小,可以使用光敏電阻來捕捉光信號,並通過信號處理電路將信號發放大到合適的范圍,為了得到線性的結果,可以使用恆壓偏置電路,產生線性信號,為提高靈敏度可以對信號進行適當的放大。設計要求光信號可以控制數碼管顯示數值和蜂鳴器改變頻率,對於數碼管顯示,可以使用ADC轉換器,將模擬信號轉換為數字信號,經過51單片機處理后送入數碼管,對於蜂鳴器,可以采取與數碼管同樣的方案。
模塊設計
信號拾取模塊
- 由於沒有實物光敏電阻選取proteus中的LDR光敏原件,使用帶有數值表示的LDR原件,方便得到數值類型的結果。
- 為了得到相對線性的結果,這里使用處理光敏電阻常用的恆壓偏置電路來實現對光敏電阻信號的獲取。
參考:光敏電阻調理電路
信號拾取模塊連線圖

原理說明
穩壓管D1的穩定電壓為3V,保證Q2管處於放大狀態,對Q2來說:
通過恆壓偏置電路即可得到跟光照強度呈線性關系的電壓。
\(C1\)為去耦電容,大小為1.5pF,D1為穩壓管,穩壓管的壓降要大於Q2的導通電壓但又不能過大,這里選擇穩定電壓為3V的1N4372A,根據數據手冊1N4372A的最小導通電流為20mA,故\(R2\)的阻值應該小於等於450Ω,在測試范圍1.1-10.1Lus內,LDR阻值在4K-3KΩ內變化,故\(R_C\)選取的10K以維持Q2的導通狀態。
注意:
- 這里\(R_c\) 的10K並不是一個合適的值,我這里並不懂得如何調整,僅選取了一個比較常見的值
- 所使用的的三極管2SC2547是一個功放管,因為沒有找到合適的管子,迫不得已使用的,實物制作可能會出問題。
信號轉換模塊
此模塊使用常見的AD轉換芯片ADC0808作為AD數據采集模塊,ADC0808是一款8位8通道比較型AD轉換器,易於上手,在本工程中使用IN0作為數據采集端。
信號轉換模塊連線圖

簡單說明
此處直接將ADDA、ADDB、ADDC,接地,默然選擇通道IN0,不需要通過軟件來調整,節省單片機的IO口資源。
使用軟件來對ADC值進行采集,由於在硬件連接上ALE端和START端連接在一起,根據ADC0808數據手冊描述,使能ALE為1,將地址送入地址鎖存器,經地址譯碼器從8路通道中選擇一路模擬量送到比較器,此時由於ALE與START連接在一起,START也為高電平。接下來使ALE = 0,本質是為了使START = 0,給START送入一個下降沿,adc啟動轉換。由於沒有外置的時鍾信號,故,使用單片機的P2.5口產生PWM波來驅動ADC0808工作。
AD采集軟件設計


使用GetData函數接收AD數據,程序運行到此處會等待EOC變為1,當EOC變為1時,ADC轉換結束,使能OE為高電平,讀取數據,后將OE設為低電平。
