新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 低成本多路數字量按鍵采集系統分析與實現

        低成本多路數字量按鍵采集系統分析與實現

        作者:周晨亮 時間:2013-02-28 來源:電子產品世界 收藏

          引言

        本文引用地址:http://www.104case.com/article/142529.htm

          本系統針對對一個課堂的所有學生做選擇題來采集數據,每個學生有4個按鍵,分別是A、B、C、D四個選項,選擇模式為單選,多選會被判斷為無效。本文還介紹了如何在本系統上進行擴展,能夠讓按鍵的數量翻倍的增長。本系統采用Atmel公司的實現。

          多路按鍵采集系統例子分析

          本系統設計要求是:課堂上有50位學生,每位學生手里有4個按鍵。一共32個I/O口,是遠遠不夠的。筆者采用了74HC165這樣一個并口轉串口的芯片,以實現系統設計。

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

         

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

          筆者使用了4片74HC165來級聯完成的,同時只占用單片機的24個I/O口,剩余I/O口中的兩個作為串口通信,其余留作以后擴展用。這里算下來總共擴展I/O口256個,可供64位同學同時做選擇題。這樣不僅滿足了設計要求,而且同時說明了怎么樣成倍地增長按鍵的個數。這樣伴隨著芯片的成倍增長,會帶來按鍵個數的成倍增長,然而這個芯片在市面上是非常廉價的。其中值得關注的是,單片機靜態內存大小,及其運行的速度,因為龐大的數據是十分消耗內存的;以及當芯片成倍增長的時候,速度也將會按一定斜率的曲線降低。

          當按鍵掃描的功能完成以后,還有一點就是串口同步發送數據的處理,由于計算機運行速度極為快,而掃描數據得到的按鍵數據遠慢于CPU的運行速度,這樣會導致單片機不停地向計算機發送數據,導致計算機長時間占用串口,對電腦運行十分不利。所以,應該給予一個延時,比如延時200ms發送一次,這樣減輕了計算機的處理負擔。



        關鍵詞: 單片機 AT89S52

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金湖县| 保定市| 文成县| 天全县| 桑植县| 绥芬河市| 竹北市| 奉化市| 西乌| 内丘县| 桦甸市| 雷州市| 荔浦县| 贵州省| 芒康县| 大渡口区| 新乐市| 龙井市| 东乌珠穆沁旗| 盐津县| 浠水县| 阜南县| 芜湖市| 广平县| 两当县| 莒南县| 阳原县| 琼结县| 兰溪市| 合水县| 汶上县| 抚松县| 六枝特区| 武陟县| 阜康市| 福清市| 日照市| 南部县| 共和县| 奇台县| 巴彦淖尔市|