數字式光照強度檢測儀的設計實現
---------yw--2010.03.31------
破題目,就是ad採電壓,數碼管顯示就得了,什麼數字式什麼的,
就是 :最小系統 + adc0804 + 數碼管 + 光敏電阻
我幾乎用了兩個工作日,焊板子到最終除錯,浪費了兩天時間,麻煩死了,我討厭焊板子,累!
現在就簡單分析一下,希望以後做這題目少走彎路,不要像我周圍的同學似的,什麼都不會,硬體不行,程式也不會寫,
唉……大學念到這樣,悲劇啊!
1. 焊板子期間
a. 最小系統: 注意p0埠的上拉電阻
b. 串列埠除錯:注意串列埠的方向,正對著串列埠,管腳1對應下面的哪一點,2是什麼,注意不要反了,注意看清max232的管腳方向,
不要原理圖上畫的是什麼,就照著原理圖上畫,想想封裝上的管腳分布,
c. 光敏電路:光敏電阻的性質是,光強越強,電阻越小,ad採集的電壓也就越大,再處理一下,對應的是就是光強了。
d. adc0804: 我覺得實驗室提供的0804有點問題,並不是按照0~5逐漸變大的,而是變大之後,再變小,簡直是奇蹟,我從調
ad到現在,還沒遇到這麼奇怪的情況,不過還好,我發現它在0~2v之內,至少採集的還是準的,我就對採集電路進行分壓,強制
使送入ad的電壓達到2v以下,這樣才能正確採集,至少可以跳出合適的光方向,總之要不斷去調,發現問題,然後思考,去怎樣
解決它。
e. 數碼管部分: 這部分有點惡,不是難,主要就是編碼麻煩,共陽就是所有的led管腳(8個)接低就變亮,共陰就相反了,不說了。
帶點和不帶點的共陽的編碼如下:
可以嘗試自己去分析一下,很簡單,自己編也行,我最開始用網上的乙個,md,竟然是錯的,害得我自己編碼。
unsigned char code table =;
//數碼管段選顯示 0--9 共陽,不帶小數點
unsigned char code table_point=;
//數碼管段選顯示 0--9 共陽,帶小數點
差不多就這麼多了,
2. 調程式期間
無正確的方法:
沒有什麼問題是解決不了的,至少我是這麼認為的,只要你遵循正確的方法,並有一顆平和的心態(非常重要,非常重要),
就一定能解決問題,一定能!我最瞧不起的就是那些慌張的人,有什麼問題,就扔給我,叫我調,拉倒吧,我才不會給你調呢。
懶死了,我沒那時間。
關於除錯的方法:
1. 檢查硬體電路:
檢查硬體電路的問題,充分使用萬用表,短路檔(無電時),和電壓檔(有電時),對晶元的電源管腳,地管腳進行電壓測量,
確保正常,還要對一切你從電路圖上能夠讀懂的電壓節點等,分析出電壓並測量,保證無誤。 一定要確保硬體電路沒問題,
這樣,你才能保證,下一步,即程式除錯。
2. 除錯程式:
除錯程式,要是有單步除錯的功能,就好多了,一步一步分析程式,然後一步一步跑,每一步測量電壓,發現問題,看實際和
理論的是否有誤,找到出現問題的環節,然後去解決它,就ok了。對於不帶單步除錯功能的,不如說51微控制器,就是用串列埠
變數監測,或者使用數碼管、1602液晶,12864液晶、led燈顯示出來變數值的變化,發現出錯的部分,改正。
最後要強調的一點就是,在實際進行動手之前,對實驗的原理一定要明白,不能有半點不懂的地方,要不然它肯定會來找你的,
哈哈,不是誇張,是的,的確。 還有對於乙個整個系統,不能求快,稀里糊塗的就全焊上了,要一步一步來,循序漸進,把
硬體焊上,然後再寫個程式,下裡面,看看硬體上是否正常了,再調下乙個,不要急,要有乙個,平常心。
33 基於51微控制器的光照強度檢測(光敏電阻)
系統由stc89c52微控制器 四位數碼管顯示 光敏電阻 adc0804等構成。具體功能 光敏電阻實時採集環境光照值 採用adc0804將模擬值轉換為數字量 四位數碼管顯示當前的光照值 00.0 60.0 隨著電子技術的發展 數位電路應用領域的擴充套件,現今社會,產品智慧型化 數位化已成為人們追求的...
STC微控制器控制BH1750測量光照強度程式
備註 此程式最低值為00212lux,時序可能還有一些問題,有時候亂改的話還會出現一直是00212或者00000的情況,且資料變化是不連續的00212,00425,00639,00852,01065等等 2016.10.18日補充 後來發現是bh1750 write byte最後6句寫的不對 201...
BH1570光照強度感測器STM32驅動
bh1570fvi是一款常用的光照強度感測器,通過iic介面協議和晶元通訊,具有16位的轉換精度,光照強度範圍為 1 65535lx 圖1 晶元引腳介紹 關於晶元的引腳如上圖所示 晶元供電電壓為2.0 3.6v,其中dvi引腳是晶元的復位引腳,scl為iic時鐘引腳,sda為iic資料引腳,addr...