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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于51單片機和FPGA 的人機交互系統(tǒng)的設(shè)計

          基于51單片機和FPGA 的人機交互系統(tǒng)的設(shè)計

          作者: 時間:2011-11-18 來源:網(wǎng)絡(luò) 收藏

            字符發(fā)生器CGRAM 中總共可存儲32 個漢字,對于需顯示較多漢字的應(yīng)用, 可從需顯示的漢字中選出16 個最常用的漢字,固定存放于CGRAM 中,其余漢字僅在需要使用時動態(tài)寫入CGRAM。這樣, 既提高了顯示效率, 又解決了CGRAM 過小的問題。

          基于51單片機和FPGA 的人機交互系統(tǒng)的設(shè)計


            3.1.3 圖形顯示:

            除使用文本顯示漢字外,還可采用圖形顯示的方式。具體方式是將字模以數(shù)組的方式保存于單片機的代碼段,在需要顯示時將數(shù)據(jù)送入圖形區(qū)即可。此外,利用圖形顯示,還可以編寫描點程序顯示相應(yīng)波形或者編寫繪圖程序繪制簡易表格,使系統(tǒng)顯示結(jié)果更加直觀,便于分析。

            3.1.4 文本特效:

            T6963C 可以設(shè)置文本屬性區(qū),并對文本實現(xiàn)反白、正向閃爍、反向閃爍等特效。使用時僅需將圖形顯示設(shè)置為文本屬性區(qū)即可。此時圖形區(qū)的內(nèi)容將無法顯示,若圖形區(qū)與文本屬性區(qū)劃分在CGRAM 的不同區(qū)域,則圖形區(qū)的內(nèi)容可以得到保存。利用文本特效,可通過反白或閃爍等效果指示可選選項以及當(dāng)前選項,從而使界面更易于操作。

            3.2 人機交互界面設(shè)計:

            除基本的10 個數(shù)字鍵以外,還設(shè)定了上、下、左、右、確定、取消等按鍵。此外,按鍵位置的設(shè)計,更符合人們的按鍵習(xí)慣。在界面中采用分級的菜單, 在一級菜單中選定功能之后將進入下一級菜單對功能進行更詳細的設(shè)定。在人機交互界面中可以使用方向鍵進行功能的選擇,數(shù)字鍵僅用于數(shù)據(jù)的輸入。

            界面充分利用了文本特效,對選項采用反向顯示表示該選項已選定;對選項采用反向閃爍表示用戶可通過方向鍵改變選項。在需要進行數(shù)字輸入的界面中打開光標(biāo),即可向用戶標(biāo)示數(shù)字輸入的地方。此外,必要的警告和出錯界面的設(shè)計將為用戶提供更多信息,使人機交互界面更為友好。

            4 結(jié)束語:

            本系統(tǒng)采用鍵盤+LCD 的輸入輸出設(shè)備, 并且可以通過 實現(xiàn)各種其他外設(shè)的接口電路的設(shè)計, 減少了對單片機資源的占用,使得設(shè)計靈活、方便。同時 還可以為單片機提供存儲器和I/O 口等資源。本文設(shè)計的電路可擴展性強, 在此基礎(chǔ)上可將其擴展成各種擁有友好界面的系統(tǒng),如可控增益放大器、音頻信號分析儀、集成運放分析儀等。經(jīng)實踐,該系統(tǒng)穩(wěn)定易用,實用性強。



          上一頁 1 2 3 下一頁

          評論


          相關(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); })();