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