單片機(jī)開(kāi)關(guān)量輸入接口
1.扳鍵開(kāi)關(guān)與單片機(jī)的接口
扳鍵開(kāi)關(guān)(或鈕子開(kāi)關(guān)類(lèi)器件)可將高電平或低電平經(jīng)單片機(jī)的I/O引腳置入單片機(jī),以實(shí)現(xiàn)操作分檔、參數(shù)設(shè)定等人機(jī)聯(lián)系的功能。
圖1與后面的程序是扳鍵類(lèi)開(kāi)關(guān)應(yīng)用的示例:根據(jù)8個(gè)開(kāi)關(guān)中哪一個(gè)開(kāi)關(guān)閉合并使相應(yīng)口線(xiàn)為低電平而轉(zhuǎn)去執(zhí)行相應(yīng)的個(gè)工作程序。各開(kāi)關(guān)通過(guò)擴(kuò)展輸入口74LS244與80C51的P0口連接,開(kāi)關(guān)合上時(shí)將向P0口的相應(yīng)引腳送低電平;反之,開(kāi)關(guān)打開(kāi)時(shí)送高電平。
圖1 扳鍵開(kāi)關(guān)與單片機(jī)的接口
讀扳鍵開(kāi)關(guān)狀態(tài)程序段:
2.撥盤(pán)開(kāi)關(guān)與單片機(jī)的接口
(1)撥盤(pán)開(kāi)關(guān)
撥盤(pán)開(kāi)關(guān)有很多種,常見(jiàn)的是BCD碼撥盤(pán)開(kāi)關(guān),如圖2所示。撥動(dòng)正面的撥盤(pán),可制定一個(gè)十進(jìn)制數(shù)(在開(kāi)關(guān)正面有該數(shù)的數(shù)碼指示),并轉(zhuǎn)換成BCD碼(呈現(xiàn)在背面8、4、2、1引腳上)而輸入計(jì)算機(jī)。撥盤(pán)開(kāi)關(guān)用于參數(shù)設(shè)定,非常直觀方便。
若引腳A接高電平,當(dāng)置定某十進(jìn)制數(shù)時(shí),撥動(dòng)撥盤(pán)會(huì)使引腳A與8、4、2、1四個(gè)引腳有一定的接通關(guān)系,與引腳A接通的將輸出高電平,不與引腳A接通的輸出低電平,從而轉(zhuǎn)換成與該十進(jìn)制數(shù)相當(dāng)?shù)腂CD碼(8421碼)。例如,撥置數(shù)字5時(shí),8、4、2、1腳輸出數(shù)字編碼0101,其他類(lèi)推。
當(dāng)然也可反過(guò)來(lái),即引腳A接低電平,這時(shí)得到的是與十進(jìn)制數(shù)相當(dāng)?shù)腂CD碼的反碼。將所得的碼取反后可以獲得相應(yīng)的BCD碼。這種接法也比較多見(jiàn)。
如要將n位十進(jìn)制數(shù)置入計(jì)算機(jī),就需要使用n片撥盤(pán)開(kāi)關(guān)并列在一起,組合成一個(gè)撥盤(pán)開(kāi)關(guān)組。
圖2 兩片撥盤(pán)開(kāi)關(guān)與80C51的接口
(2)撥盤(pán)開(kāi)關(guān)接口示例
圖2是兩片撥盤(pán)開(kāi)關(guān)接口示例:通過(guò)撥盤(pán)開(kāi)關(guān)將2位十進(jìn)制數(shù)置入單片機(jī),其十位數(shù)與個(gè)位數(shù)讀入后將分別暫存于片內(nèi)RAM的21H、20H單元。
接口程序如下:
編輯:admin 最后修改時(shí)間:2018-05-16