新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 低成本多路數(shù)字量按鍵采集系統(tǒng)分析與實(shí)現(xiàn)

低成本多路數(shù)字量按鍵采集系統(tǒng)分析與實(shí)現(xiàn)

作者:周晨亮 時(shí)間:2013-02-28 來源:電子產(chǎn)品世界 收藏

  引言

本文引用地址:http://2s4d.com/article/142529.htm

  本系統(tǒng)針對(duì)對(duì)一個(gè)課堂的所有學(xué)生做選擇題來采集數(shù)據(jù),每個(gè)學(xué)生有4個(gè)按鍵,分別是A、B、C、D四個(gè)選項(xiàng),選擇模式為單選,多選會(huì)被判斷為無效。本文還介紹了如何在本系統(tǒng)上進(jìn)行擴(kuò)展,能夠讓按鍵的數(shù)量翻倍的增長(zhǎng)。本系統(tǒng)采用Atmel公司的實(shí)現(xiàn)。

  多路按鍵采集系統(tǒng)例子分析

  本系統(tǒng)設(shè)計(jì)要求是:課堂上有50位學(xué)生,每位學(xué)生手里有4個(gè)按鍵。一共32個(gè)I/O口,是遠(yuǎn)遠(yuǎn)不夠的。筆者采用了74HC165這樣一個(gè)并口轉(zhuǎn)串口的芯片,以實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)。

  如圖1所示,一片74HC165需要使用的3個(gè)I/O口,而同時(shí)能夠有8路I/O口可供使用。這樣單片機(jī)的32個(gè)I/O口線,去除2個(gè)口線用作串口通信用,其余30算下來可以擴(kuò)展80個(gè)I/O口。  

 

  這樣也只能達(dá)到20個(gè)同學(xué)可以做選擇題,離設(shè)計(jì)要去相去甚遠(yuǎn)。實(shí)際情況中筆者用到了74HC165的級(jí)聯(lián)的功能,所謂級(jí)聯(lián)就是把兩片或者兩片以上的74HC165通過串行的連接方式,能夠組成兩片或兩片以上功能的組合體。

  筆者使用了4片74HC165來級(jí)聯(lián)完成的,同時(shí)只占用單片機(jī)的24個(gè)I/O口,剩余I/O口中的兩個(gè)作為串口通信,其余留作以后擴(kuò)展用。這里算下來總共擴(kuò)展I/O口256個(gè),可供64位同學(xué)同時(shí)做選擇題。這樣不僅滿足了設(shè)計(jì)要求,而且同時(shí)說明了怎么樣成倍地增長(zhǎng)按鍵的個(gè)數(shù)。這樣伴隨著芯片的成倍增長(zhǎng),會(huì)帶來按鍵個(gè)數(shù)的成倍增長(zhǎng),然而這個(gè)芯片在市面上是非常廉價(jià)的。其中值得關(guān)注的是,單片機(jī)靜態(tài)內(nèi)存大小,及其運(yùn)行的速度,因?yàn)辇嫶蟮臄?shù)據(jù)是十分消耗內(nèi)存的;以及當(dāng)芯片成倍增長(zhǎng)的時(shí)候,速度也將會(huì)按一定斜率的曲線降低。

  當(dāng)按鍵掃描的功能完成以后,還有一點(diǎn)就是串口同步發(fā)送數(shù)據(jù)的處理,由于計(jì)算機(jī)運(yùn)行速度極為快,而掃描數(shù)據(jù)得到的按鍵數(shù)據(jù)遠(yuǎn)慢于CPU的運(yùn)行速度,這樣會(huì)導(dǎo)致單片機(jī)不停地向計(jì)算機(jī)發(fā)送數(shù)據(jù),導(dǎo)致計(jì)算機(jī)長(zhǎng)時(shí)間占用串口,對(duì)電腦運(yùn)行十分不利。所以,應(yīng)該給予一個(gè)延時(shí),比如延時(shí)200ms發(fā)送一次,這樣減輕了計(jì)算機(jī)的處理負(fù)擔(dān)。



關(guān)鍵詞: 單片機(jī) AT89S52

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉