一種新穎的智能碼盤的研究
摘要:在此介紹了一種由極少硬件構(gòu)成的簡易智能碼盤,該系統(tǒng)主要由單片機(jī)和拔碼開關(guān)組成,采用撥碼開關(guān)設(shè)置輸入數(shù)據(jù)量的位碼和數(shù)碼,通過外部中斷數(shù)據(jù)采集按鍵控制該位數(shù)據(jù)量的輸入,并由顯示器監(jiān)視,內(nèi)部E2PROM保存,同時(shí)通過串行口向用戶系統(tǒng)發(fā)送設(shè)置數(shù)據(jù)。故使用該碼盤用戶系統(tǒng)僅占用一個(gè)串行口或虛擬串行口就可實(shí)現(xiàn)16位BCD碼設(shè)置或64位二進(jìn)制碼輸入,16位BCD碼可根據(jù)用戶需要分割為幾組,每組數(shù)據(jù)的位數(shù)也可任意定義,以滿足各種控制系統(tǒng)控制參數(shù)設(shè)置的需要。
關(guān)鍵詞:智能碼盤;16位BCD碼;撥碼開關(guān);E2PROM
0 引言
在自動控制系統(tǒng)應(yīng)用中,經(jīng)常需要設(shè)定控制目標(biāo)參數(shù),這些參數(shù)一般由鍵盤或碼盤輸入,隨著工業(yè)自動化程度越來越高,各種碼盤的需求也逐漸增加。
很多學(xué)者研究了各式各樣的碼盤。他們大多是利用物理、電磁、生物、光學(xué)等原理,研制出撥鍵式、光電式及光柵式等碼盤。然而,這些碼盤都有一個(gè)共同的缺點(diǎn),一個(gè)碼盤只能輸入一個(gè)數(shù)據(jù)位,當(dāng)輸入量位數(shù)過多時(shí),就需要多個(gè)碼盤,這樣將會帶來計(jì)算機(jī)接口數(shù)量不夠的矛盾,即輸入數(shù)據(jù)位數(shù)越多,硬件越多,占用CPU接口就越多,硬件體積大,成本高,系統(tǒng)結(jié)構(gòu)復(fù)雜。
本文研究了一種簡易智能碼盤,只需占用系統(tǒng)CPU一個(gè)串行接口或2個(gè)普通輸入/輸出口(用虛擬串行口技術(shù))就可實(shí)現(xiàn)16位BCD碼或者64位二進(jìn)制碼輸入,不僅簡化了硬件電路,而且解決了當(dāng)輸入數(shù)據(jù)位數(shù)過多時(shí)系統(tǒng)CPU接口不足的難題。
1 設(shè)計(jì)原理
該智能碼盤用8位撥碼開關(guān)實(shí)現(xiàn)數(shù)據(jù)輸入,其中高4位用于選擇輸入碼(BCD碼)的位數(shù),低4位用于設(shè)置BCD碼的大小。如設(shè)置第8位碼為7,則撥碼開關(guān)高4位設(shè)置為1000,低4位為0111,然后按一次采集按鈕即完成輸入。碼盤CPU將采集到的BCD碼存入相應(yīng)的內(nèi)存,并轉(zhuǎn)存片內(nèi)E2PROM或FLASH內(nèi),然后再從串行口輸出供用戶設(shè)備使用(用戶CPU串口采樣)。智能碼盤系統(tǒng)框圖如圖1所示。
為了進(jìn)一步降低成本,當(dāng)用戶系統(tǒng)不大的情況下,也可選擇用戶CPU替代碼盤CPU。即利用用戶CPU的一個(gè)普通8位輸入/輸出口和一個(gè)外部中斷即可完成輸入控制參數(shù)設(shè)置功能。系統(tǒng)框圖如圖2所示。輸入完畢,所有撥碼開關(guān)處于斷開狀態(tài),該口即可恢復(fù)其他輸入或輸出口功能,即不占用用戶系統(tǒng)接口,提高了接口使用效率。
評論