a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 傳感器課程設計心得

傳感器課程設計心得

作者: 時間:2012-08-16 來源:網絡 收藏
經過半個月的奮斗,終于完成,雖然跟自己開始的想法差了不少,總體上還過得去,這個過程中解接觸了一些新的東西,也無意中看到了一些,總結如下,以便查看:

1、C51編程:C語言在進入main函數前會有一個對單片機內存單元的初始化,另外運用浮點乘除運算時程序龐大,使用循環加或者循環減時會大大的減少程序,對于浮點數的顯示可以將其乘以10的整數冪(這個乘是人編程時設定計算的參數是設好的,并不需要單片機去計算),這樣就可以將浮點運算轉化為整數運算,進一步簡化程序,對于它的顯示可以在固定位置設置小數點(利用或者||,由數碼管類型決定),這個方法同樣適用于匯編,且可以使匯編更簡單。在涉及到對硬件的控制時,可以使用C語言的賦值語句,根據外圍硬件的工作時序設定賦值的順序,不過由于C編譯后的具體指令組成并不清楚,很可能出現意想不到的情況(只是設想,還需證實),由于C語言對硬件的控制并不是很強,所以可以使用嵌套或調用匯編的方法,不過這種方法不夠好,可以根據C生成 SRC文件,對其進行改變,從而變成匯編。用C編程的時候注意不要受匯編的干擾,注意指針的使用(這次用C編寫出錯的一個最重要的原因)

2、AD的使用:一般單片機的時鐘輸出并不能滿足AD的時鐘頻率要求,通常需要進行分頻,利用計數器(例如74LS192)可以做出分頻器,首先計數器進制應為分頻器分頻數的二倍,或門(或非門)的一段接分頻數的輸出端,另一端接計數器的清除端(MR),這樣門輸出即為分頻后的時鐘頻率。在鎖存通道、啟動AD 轉換、允許AD輸出轉換值時,在匯編中通常使用MOVX指令,但是由于使用MOVX時WR、RD變化時間是很短的,可能會在數據沒有準備好時就已經操作了,從而造成數據錯誤,也有可能MOVX的電平維持時間不夠長,從而造成并不能使AD進入我們需要的狀態。解決的辦法是我們按照AD的工作時序,對特定的引腳進行電平變換,即可控制電平的時間,從而保證數據傳輸的正確性。在使用中斷(定時器或者其他)啟動AD轉換后,要在盡可能短的時間內退出該中斷,因為為了保證對AD的操作不被中斷(中斷后可能不能再繼續),在對AD進行操作的中斷中不允許其他中斷,這樣我們必須盡快開啟中斷允許并退出中斷,當然也可以在啟動AD后打開中斷允許,這樣也可以保證轉換值能夠及時被讀取,不過會出現中斷嵌套,可能對程序的運行不利。

3、Keil與proteus的聯調:使用Keil和proteus聯調,可以單步運行Keil,通過proteus即可觀察到每一條程序的運行結果,同樣可以了解到每一句C語言對應的匯編以及運行的結果。

4、數碼管的顯示時,尤其是多個時,要使用驅動電路,因為數碼管的驅動電流一般為10mA,單片機輸出驅動不夠,驅動電路可以是三極管,也可以使用專門的數碼管驅動芯片,可以減少對單片機資源的占用,例如LM8186,MAX7219等。

5、壓電蜂鳴器的信號輸出阻抗很高,使用一般的信號采集電路并不能將信號采集進來。可以使用電荷放大器,一是輸入阻抗大,二是靈敏度較高,不過由于電荷放大器的頻響較高,如果沒有好的屏蔽措施極容易引進干擾。另一個辦法是,可以使用高輸入阻抗運放接成電壓跟隨器形式,既可以作為前置放大器的輸入端提高輸入阻抗,又可以起到隔離電路的作用。運放可以選用LM102,輸入阻抗高達1012歐姆,不過供電電源為 正負12到15,并不是很好,不過可以選用其他運放,例如CA3130(高達1.5T)等。

6、氣壓表壓指示燈部分是無意中發現的現象,具體原理還需要進一步找答案

7、還有一點忘了,數碼管動態顯示的操作順序:關地址,賦段碼,打開地址,每個的刷新時間間隔為1ms左右,時間越長,數碼管亮度越高,不過使用延時時間較長的話,一是可能會閃爍,二是單片機灌電流較大,對單片機不利,這次使用的是400微秒的刷新時間,120歐姆的限流電阻,顯示穩定,亮度也好,不過感覺限流電阻小了一些,耗電功率較大。
分頻器相關文章:分頻器原理
蜂鳴器相關文章:蜂鳴器原理


評論


相關推薦

技術專區

關閉