單片機實現干簧管計數器的實驗
在本實驗中,要設計一個干簧管計數器,并用數碼管來顯示。在本例中,還要接觸單片機一個重要的功能“中斷”。
干簧管是干式舌簧管的簡稱,是一種有觸點的無源電子開關元件,具有結構簡單,體積小便于控制等優(yōu)點,其外殼一般是一根密封的玻璃營,管中裝有兩個鐵質的彈性簧片電板,還灌有一種叫金屬銠的惰性氣體。下圖是它的結構示意圖。
平時,玻璃管中的兩個由特殊材料制成的簧片是分開的。
當有磁性物質靠近玻璃管時,在磁場磁力線的作用下,管內的兩個簧片被磁化而互相吸引接觸,簧片就會吸合在一起,使結點所接的電路連通。外磁力消失后,兩個簧片由于本身的彈性而分開,線路也就斷開了。因此,作為一種利用磁場信號來控制的線路開關器件,干簧管可以作為傳感器用,用于計數,限位等,同時還被廣泛使用于各種通信設備中。在實際運用中,通常用永久磁鐵控制這兩根金屬片的接通與否,所以又被稱為“磁控管”。
下圖是干簧管狀態(tài)讀入電路,當磁鐵靠近干簧管時,相當于按鍵按下,單片機P3.2口為OV,邏輯“0”:當磁鐵拿走時,相當于按鍵抬鍵,P3.2為+5V,邏輯“1”。
我們要做的實驗就是記錄磁鐵靠近干簧管的次數,也就是P3.2口由“1”變成“0”的次數。在寫程序之前先介紹單片機中斷的概念。
舉個例子,如果我們有很多工作要做,偏偏有一個重要的客人要來,而且不知道來的具體時間,我們該怎么辦?沒錯,我們先做工作,客人來了放下工作先接待,等客人走了接著做剛才放下的工作。
單片機的中斷系統(tǒng)也是這樣,中斷請求來臨時,單片機從當前運行的程序中跳出,直接運行中斷服務程序,運行完中斷服務程序后,再回到剛才程序中斷的地方接著運行。
在本實驗的電路設計中,用P3.2口讀取干簧管的狀態(tài),單片機的P3.2口有一個重要的功能,它是外部中斷0的接入口。經過初始化,當P3.2口的狀態(tài)從“1”變到“0”時就會觸發(fā)外部中斷0,程序會自動跳到我們寫好的中斷服務程序,執(zhí)行完中斷服務程序后,再回到剛才主程序中斷的地方繼續(xù)執(zhí)行主程序。程序如下:
#include
//存儲數碼管顯示碼的一維數組
unsignedcharShowCode[]=(Oxc0,Oxf9,Oxa4,OxbO,Ox99,Ox92,Ox82,Oxf8,Ox80,Ox90):
//主程序
voiDMAin(void){unsignedchari….
磁控管相關文章:磁控管原理
塵埃粒子計數器相關文章:塵埃粒子計數器原理
評論