網(wǎng)上有很多關(guān)于pos機(jī)數(shù)字鍵盤價(jià)格,精品博文基于FPGA的計(jì)算器設(shè)計(jì)一的知識(shí),也有很多人為大家解答關(guān)于pos機(jī)數(shù)字鍵盤價(jià)格的問(wèn)題,今天pos機(jī)之家(www.shineka.com)為大家整理了關(guān)于這方面的知識(shí),讓我們一起來(lái)看下吧!
本文目錄一覽:
pos機(jī)數(shù)字鍵盤價(jià)格
這周做了一個(gè)計(jì)算器的實(shí)驗(yàn),目前可以正負(fù)實(shí)現(xiàn)數(shù)的加減乘除,以及定點(diǎn)小數(shù)的加減乘除,精度不高還在進(jìn)一步完善,今天先把矩陣鍵盤掃描的模塊總結(jié)一下,明天繼續(xù)優(yōu)化。
這是一個(gè)大概的模塊劃分和數(shù)據(jù)流向圖,我們首先要通過(guò)矩陣鍵盤掃描來(lái)確定按下的鍵,然后把鍵值送給輸入輸出控制模塊,來(lái)判斷輸入的是第一個(gè)操作數(shù)還是操作符,還是第二個(gè)操作數(shù)以及等號(hào),可以說(shuō)輸入輸出控制模塊是整個(gè)計(jì)算器設(shè)計(jì)最核心的模塊了,這個(gè)明天再總結(jié),如果判斷按下等號(hào),那么計(jì)算模塊就應(yīng)該根據(jù)操作數(shù)和操作符來(lái)運(yùn)算,并把運(yùn)算的結(jié)果送到輸入輸出控制模塊。因?yàn)樵谳斎霐?shù)據(jù)的時(shí)候,數(shù)碼管也是要顯示數(shù)據(jù)的,所以把計(jì)算的結(jié)果傳回來(lái)一起處理,而且計(jì)算的結(jié)果也可以作為下一次計(jì)算的操作數(shù),實(shí)現(xiàn)連續(xù)運(yùn)算。計(jì)算模塊還包括BCD轉(zhuǎn)二進(jìn)制以及二進(jìn)制轉(zhuǎn)BCD模塊,另外由于涉及到負(fù)數(shù)運(yùn)算,所以計(jì)算過(guò)程都是補(bǔ)碼進(jìn)行運(yùn)算,計(jì)算結(jié)果再由補(bǔ)碼轉(zhuǎn)回原碼,數(shù)碼管顯示模塊和常用的數(shù)碼管模塊不同的地方就是它具有消“0”的功能,輸入的時(shí)候每輸入一位數(shù)據(jù)顯示一位,對(duì)于沒(méi)有輸入的位數(shù)是不能顯示“0”的,輸出計(jì)算結(jié)果的時(shí)候也是一樣,對(duì)于沒(méi)有數(shù)值的位,是不能顯示“0”的。
下面先總結(jié)以下矩陣鍵盤模塊,使用矩陣鍵盤的原因就不多說(shuō)了,就是為了節(jié)約IO口。矩陣鍵盤掃描的原理我簡(jiǎn)單介紹一下吧:
以4x4的矩陣鍵盤為例,同一行按鍵的一段被接到同一根先上,4行分別被接到4根,我們命名row0-row3;列同理,命名col0-col3。同時(shí)我們給row端接上上拉電阻,那么沒(méi)有按鍵按下的時(shí)候row端是高電平,我們把4根row接到FPGA作為輸入端,把col接到FPGA作為輸出端。我們?cè)诔跏紶顟B(tài)下給col全部賦0輸出,如果某一個(gè)按鍵按下,那么就會(huì)有一個(gè)col和一個(gè)row線被聯(lián)通了,那么被聯(lián)通的那根row就會(huì)給FPGA輸入0,此時(shí)row是輸入,我們可以很容易判斷是哪根row被聯(lián)通了,但是每一根row上連上了4根col,我們還不能知道具體是哪一個(gè)col,所以我們這時(shí)用到中學(xué)物理時(shí)學(xué)到的控制變量法,我們讓col每次只有一根輸出低電平(注意原來(lái)是4個(gè)全是低電平,在檢測(cè)到有鍵按下后,變成只有一根輸出低電平),依次掃描,知道檢測(cè)到row端不全為1時(shí),說(shuō)明此時(shí)的row和col就是按下按鍵的坐標(biāo)了。
最后例化的消抖模塊是上次數(shù)字鐘的消抖模塊,略微做了一點(diǎn)修改,所以將設(shè)計(jì)模塊化還是有很大幫助的。
里面的flag_pos是為了檢測(cè)按鍵的邊沿,按鍵按下會(huì)有一個(gè)flag標(biāo)志拉高,這里檢測(cè)的其實(shí)是flag的下降沿,也就是按鍵彈起來(lái)的時(shí)候,一開始我是檢測(cè)上升沿的,但是會(huì)存在一點(diǎn)時(shí)序問(wèn)題,因?yàn)檫@個(gè)flag_pos只有一個(gè)時(shí)鐘周期,我如果檢測(cè)上升沿輸出,在flag拉高的這一刻,key_value其實(shí)還沒(méi)有被賦值好,所以會(huì)導(dǎo)致,我按第一個(gè)按鍵的時(shí)候沒(méi)有數(shù)據(jù)顯示,按第二個(gè)的時(shí)候顯示第一個(gè)按鍵的值,但是檢測(cè)按鍵彈起的時(shí)刻(也就是flag的下降沿)就能有效避免這種情況。
矩陣鍵盤掃描的原理基本就是這樣,但是實(shí)現(xiàn)的方法有很多種,我覺(jué)得這種方法是比較簡(jiǎn)單明了,適合新手理解的。當(dāng)然我自己也還是新手,嘻嘻......加油!
以上就是關(guān)于pos機(jī)數(shù)字鍵盤價(jià)格,精品博文基于FPGA的計(jì)算器設(shè)計(jì)一的知識(shí),后面我們會(huì)繼續(xù)為大家整理關(guān)于pos機(jī)數(shù)字鍵盤價(jià)格的知識(shí),希望能夠幫助到大家!
