色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的RS232行列式矩陣鍵盤接口設(shè)計

          基于FPGA的RS232行列式矩陣鍵盤接口設(shè)計

          作者: 時間:2014-04-24 來源:網(wǎng)絡(luò) 收藏

          一、引言

          本文引用地址:http://cafeforensic.com/article/245960.htm

          本方案是用VHDL語言來實現(xiàn)的基于按位串行通信總線的行列式矩陣鍵盤接口電路,具有復(fù)位和串行數(shù)據(jù)的接收與發(fā)送功能,根據(jù)發(fā)光二極管led0-led2的顯示狀態(tài)可判斷芯片的工作情況;實現(xiàn)所有電路功能的程序均是在美國ALTERA公司生產(chǎn)的具有現(xiàn)場可編程功能的芯片EPM7128SLC84-15上調(diào)試通過的。能通過動態(tài)掃描來判有鍵按下、將鍵值轉(zhuǎn)換成對應(yīng)的ASCII碼值,在時鐘脈沖的作用實現(xiàn)串行數(shù)據(jù)的接收與發(fā)送。

          二、設(shè)計方案

          1.芯片引腳定義

          ?

          ?

          reset復(fù)位輸入端;clk時鐘輸入端;rxd串行數(shù)據(jù)接收端;retn0-retn7鍵盤掃描行輸入線;txd串行數(shù)據(jù)發(fā)送端;scan0-scan7鍵盤掃描列輸出線;led0-led2顯示輸出端。

          2.鍵盤與芯片的連接圖(如圖2所示,為8×8的64鍵鍵盤)

          3.動態(tài)掃描原理

          (1)依次使列線scan0-scan7輸出0電平,檢查行線retn0-retn7的電平狀態(tài)。如果行線retn0-retn7的電平全為高電平,表示沒鍵按下。如果retn0-retn7上的電平不全為高電平,表示有鍵按下。

          ?

          ?

          (2)如果沒鍵按下,就返回掃描。有鍵按下則進(jìn)行逐行掃描,找出閉合鍵的鍵號。其過程是:先使scan0=0,scan1-scan7=1,檢測retn0-retn7上的電平,如果retn=0,則表示第一行第一列的鍵被按下,如果retn1=0,則表示第二行第二列的鍵被按下,其它依次類推;如果retn0-retn7均不為0,則表示這一列沒鍵按下;然后再使scan1=0,檢測第二列按鍵,這樣一直循環(huán)下去,知道把閉合的鍵找到為止。

          當(dāng)有鍵按下時,根據(jù)該時刻的scan值和retn值就可判斷按下的是哪一個鍵。

          4.芯片內(nèi)部模塊框圖

          ?

          ?

          三、芯片設(shè)計

          數(shù)據(jù)接收模塊框圖如圖4所示。

          ?

          ?

          Reset復(fù)位輸入端;clk時鐘輸入端;rxd串行數(shù)據(jù)接收端;led[20]輸出按下鍵對應(yīng)的ASCII碼值的低三位去驅(qū)動發(fā)光二極管。

          該模塊實現(xiàn)對串行數(shù)據(jù)的接收記數(shù)和串并變換的控制功能。

          1.串行數(shù)據(jù)接收控制單元

          ?

          ?

          Reset 復(fù)位輸入端;clk 時鐘輸入端;rxd 串行數(shù)據(jù)接收端;sh_rx[30]接收計數(shù)器高4位;sl_rx[10]接收計數(shù)器低2位。

          將串行數(shù)據(jù)接收計數(shù)器設(shè)置位一個6位計數(shù)器,高4位為sh_r,低2位為sl_r,利用該計數(shù)器的狀態(tài)實現(xiàn)串行數(shù)據(jù)的同步控制和記數(shù)控制。

          2.串并轉(zhuǎn)換電路單元

          從RXD端接收的串行數(shù)據(jù)進(jìn)經(jīng)過串并變換后,將其低三位經(jīng)LED輸出端輸出,驅(qū)動發(fā)光二極管LED0,LED1,LED2發(fā)光,從而顯示接收端RXD的每個數(shù)據(jù)的低三位。當(dāng)每個數(shù)據(jù)的低三位相同時,顯示狀態(tài)就不變化,否則就出現(xiàn)閃爍現(xiàn)象,以此來檢查芯片的工作情況。

          四、總結(jié)

          本方案是用VHDL語言來實現(xiàn)的基于按位串行通信總線的行列式矩陣鍵盤接口電路的設(shè)計,具有復(fù)位和串行數(shù)據(jù)的接收與發(fā)送功能,根據(jù)發(fā)光二極管led0-led2的顯示狀態(tài)可判斷芯片的工作情況;實現(xiàn)所有電路功能的程序均是在美國ALTERA公司生產(chǎn)的具有現(xiàn)場可編程功能的芯片EPM7128SLC84-15上調(diào)試通過的。該電路的設(shè)計貼近生活,實用性強(qiáng),制成芯片后可作為一般的PC機(jī)鍵盤與主機(jī)的接口使用。

          fpga相關(guān)文章:fpga是什么


          電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理


          電子鎮(zhèn)流器相關(guān)文章:


          塵埃粒子計數(shù)器相關(guān)文章:
          塵埃粒子計數(shù)器原理



          關(guān)鍵詞: FPGA RS232

          評論


          相關(guān)推薦

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

          關(guān)閉