<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 用于NIOS II 嵌入式處理器系統(tǒng)的鼠標(biāo)控制器設(shè)計(jì)

          用于NIOS II 嵌入式處理器系統(tǒng)的鼠標(biāo)控制器設(shè)計(jì)

          作者: 時(shí)間:2009-03-26 來源:網(wǎng)絡(luò) 收藏

          q是從鼠標(biāo)收到的數(shù)據(jù),它的q[0],q[11]等是起始位,應(yīng)為邏輯0;q[10],q[21]等是停止位,應(yīng)是邏輯1;q[9],q[20]等為奇偶校驗(yàn)位。在驗(yàn)證數(shù)據(jù)幀狀態(tài)下根據(jù)測(cè)試得到的packet_good信號(hào)值確定是跳轉(zhuǎn)到等待狀態(tài)還是輸出數(shù)據(jù)幀狀態(tài)。

          該鼠標(biāo)控制器缺省狀態(tài)為標(biāo)準(zhǔn)PS/2模式,要進(jìn)入微軟的Intellimouse只需向鼠標(biāo)發(fā)送前文(見1.2)所提到的命令序列,并將msmode置為邏輯1即可。

          2、鼠標(biāo)控制器的驗(yàn)證

          我們?cè)谝粋€(gè)使用Altera公司的Cyclone系列[5]的 EP1C6Q240C8 芯片的開發(fā)板上對(duì)該設(shè)計(jì)進(jìn)行了驗(yàn)證。在Nios IDE集成開發(fā)環(huán)境[6]中我們編寫了一個(gè)測(cè)試程序。其部分代碼如下所示,它的作用是等待鼠標(biāo)事件的發(fā)生并打印鼠標(biāo)事件信息。

          while (wait_rx_ready(0,PS2_READY,PS2_MOUSEDATA,data) 0);
          if ((data PS2_RBUTTON)){
          printf(RBUTTON......n);}
          else if ((data PS2_LBUTTON)) {
          printf(LBUTTON......n);}
          else if((data PS2_MBUTTON)) {
          printf(MBUTTON......n);}
          else {
          xdata = (data PS2_XMASK) >> PS2_XSHIFT;
          ydata = (data PS2_YMASK) >> PS2_YSHIFT;
          zdata = (data PS2_ZMASK) >> PS2_ZSHIFT;
          printf(x: %d, y: %d, z: %dn, xdata, ydata, zdata);
          }

          我們測(cè)試了一個(gè)帶滾輪的雙飛燕光電鼠標(biāo)和一個(gè)不帶滾輪的飛利浦的機(jī)械鼠標(biāo)。測(cè)試中,當(dāng)我們分別按下鼠標(biāo)左鍵,右鍵,及中鍵;或在水平方向,豎直方向移動(dòng)鼠標(biāo);或者轉(zhuǎn)動(dòng)滾輪時(shí),程序都會(huì)在Nios IDE的Console窗口連續(xù)的打印出相應(yīng)的信息。滿足了我們支持標(biāo)準(zhǔn)PS/2(IBM PS/2)和微軟的Intellimouse兩種模式的要求。結(jié)果證明,本文所提出的設(shè)計(jì)是成功的。

          3、結(jié)束語

          本文介紹了一個(gè)用于Nios 的鼠標(biāo)控制器的設(shè)計(jì),支持標(biāo)準(zhǔn)PS/2 鼠標(biāo)和微軟的Intellimouse。相比于其他系統(tǒng)中采用另外增加一個(gè)單片機(jī)(如一般采用的Intel8042或AT89C51[7]等)作為鼠標(biāo)控制器來說,減少了系統(tǒng)成本,也減少硬件布板布線的復(fù)雜性,可以在Nios II中廣泛使用。

          該設(shè)計(jì)最大的創(chuàng)新點(diǎn)在于增加了讀取鼠標(biāo)響應(yīng)的功能,并實(shí)現(xiàn)了主機(jī)向鼠標(biāo)發(fā)送命令,在此基礎(chǔ)上實(shí)現(xiàn)了對(duì)微軟的Intellimouse的支持,相比參考文獻(xiàn)[8]中提到的2D鼠標(biāo)控制器有較大的改進(jìn)。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();