999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單片機和FPGA的人機交互系統的設計

2010-06-05 10:47:44鹿璇,曉,
電子設計工程 2010年9期
關鍵詞:單片機界面系統

鹿 璇, 宋 曉, 杜 沖

(武漢大學 電子信息學院,湖北 武漢 430079)

在現代各類儀器的開發中,人機交互功能正起著無可替代的作用。人機交互界面友好的儀器將更容易操作和使用,從而提高工作效率。液晶顯示器(LCD)具有功耗低、價格低、壽命長、接口控制方便等特點,在科研與設計領域正發揮著越來越大的作用。FPGA作為單片機外設的接口芯片,可以大大簡化接口電路,通過對FPGA進行編程,可以實現常用的譯碼、地址選通等功能。

本文以C8051F020單片機與FPGA互連系統為控制核心,以液晶顯示控制器T6963C為例,結合行掃描鍵盤,簡述了一種人機交互功能的設計。

1 系統設計方案

FPGA可在很大程度上擴展單片機的資源,然而人機交互功能仍應盡量減少對單片機及FPGA的資源消耗,以便將更多的片內資源用于其他功能的擴展。采用FPGA掃描鍵盤可以節省單片機的資源,同時也能靈活地實現鍵盤的擴展。而考慮到液晶控制較復雜,依然采用單片機控制LCD,使LCD的各種功能得到最大程度的利用,其系統框圖如圖 1所示[1]。

圖1 系統總體框圖Fig.1 Block diagram of system

2 硬件電路及FPGA接口設計

2.1 總線接口設計

這里采用單片機C8051F020與CycloneⅡFPGA互連的系統。C8051F020器件是完全集成的混合信號系統級MCU芯片,具有64個數字I/O引腳,與8051完全兼容,而且速度得到了極大提高,70%的指令執行時間為1或2個系統時鐘周期,只有4條指令的執行時間大于4個系統時鐘周期。此外,C8051F020系列MCU對CIP-51內核和外設有幾項關鍵性的改進,提高了整體性能,更易于在最終應用中使用。如提供22個中斷源、7個復位源、可編程交叉開關、8位A/D轉換器、12位D/A轉換器等[2]。

CycloneⅡ系列FPGA將低功耗FPGA的密度規模擴展至68 416個邏輯單元,并提供高達622個可用的I/O接口以及高達1.1 Mb的片內存儲單元[3]。CycloneⅡ系列成功實現了高效與低功耗的結合,可用于自動化、通信、視頻播放等領域。為兼顧成本問題,本系統采用性價比較高的EP2C8型FPGA作為接口器件。

為使單片機的資源可以得到最大的開發,將單片機的高端口,即P4~P7接入FPGA,并通過FPGA對外部設備進行訪問。在FPGA中通過Verilog HDL語言編程實現了3-8譯碼器,從而實現了對單片機地址總線的擴展。該3-8譯碼器對LCD以及鍵盤的鍵值讀取提供使能信號,如圖2所示。

圖2 總線模塊Fig.2 Bus module

2.2 T6963C及其接口設計

T6963C液晶顯示控制器多用于小規模的液晶顯示器件,常被裝配在圖形液晶顯示模塊上,以內藏控制器型圖形液晶顯示模塊的形式出現[4]。

單片機對T6963C有2種訪問方式:直接訪問與間接訪問。直接訪問利用三總線以I/O設備訪問形式進行控制;間接訪問則由單片機提供并行接口,以程序控制時序的方式進行控制。為簡化程序,這里采用直接訪問方式。

該LCM的FS1引腳用于控制顯示字符的字體。FS1為高時,LCD顯示6×8字符;FS1為低時,LCD顯示8×8字符。經實踐,在顯示英文與數字時,6×8字符更為美觀;在顯示中文字符時,8×8字符更為方便。一般系統采用將FS1接地或接高的方式來固定字體,而本系統采用P2.1對FS進行控制,通過改變地址實現改變字體的功能,使得界面的顯示更靈活。

2.3 鍵盤電路設計

鍵盤是常用的單片機輸入設備,分為編碼鍵盤和非編碼鍵盤。鍵盤上閉合鍵的識別由專用硬件譯碼器實現,并產生鍵編號或鍵值的稱為編碼鍵盤;靠軟件識別的稱為非編碼鍵盤。在單片機組成的測控系統及智能化儀器中使用最多的是非編碼鍵盤,本系統設計在FPGA中編程實現3×6鍵盤的行掃描。

由于按鍵的機械特性,在閉合和斷開的瞬間會伴隨著一連串的抖動,鍵抖動會引起一次按鍵被誤讀多次,所以必須進行去抖處理,常用的方法為延時去抖動。FPGA產生鍵值之后向單片機發送中斷,并等待單片機讀取鍵值。由于人腦反應時間相對較長,鍵盤中斷可以處于相對較低的優先級,因此本文將鍵盤中斷接于外部中斷7。

3 軟件設計

軟件設計遵循結構化和層次化的設計原則[5]。底層函數直接與硬件溝通,而上層函數直接通過調用底層函數來實現相應功能,從而使上層函數與硬件環境徹底分開。當硬件環境發生變化時,僅修改底層函數便能實現程序的移植。

3.1 液晶驅動模塊的編程設計

本模塊的底層函數需要實現寫控制字、寫參數、查忙等功能。由于采用直接訪問,寫控制字與寫參數的函數只需向控制口或數據口的地址送數即可。由于LCD是慢速器件,因此在每次寫控制字及寫參數之前都需要進行查忙。T6963C的狀態字共有7位有效的狀態位,如表1所示[4]。其中STA1~STA3最為常用,一般情況下可以不需要對STA5~STA7進行查忙的程序。

表1 T6963C的狀態字Tab.1 Status word of T6963C

3.1.1 液晶驅動模塊的初始化

T6963C的最大特點是具有獨特的硬件初始值設置功能,顯示驅動所需的參數如占空比系數。驅動傳輸的字節數/行及字符的字體選擇等均由引腳電平設置,這樣T6963C的初始化在上電時就已經基本設置完成,軟件操作的重心就可以全部用于顯示畫面的設計上[6]。因此,初始化時僅需根據實際情況設置文本區域和圖形區域的首地址和寬度,以及CGRAM偏置地址、合成方式、光標形狀等即可正常使用。

液晶驅動模塊的初始化函數如下:

3.1.2 英文及漢字的文本顯示

由于英文及數字等常用字符的字模已經固化在CGROM中,因此進行英文的顯示時,只需指定顯示的地址,再輸入該字符對應的標號即可。漢字的顯示與英文的顯示類似。然而出于其復雜性,一個漢字需要使用4組點陣才能完整顯示。在初始化后將漢字的4部分字模順序輸入CGRAM中,在使用時僅需計算好每一部分的顯示地址即可對漢字進行完美顯示。

對于一串英文字符的輸入,可以利用字符串的特性進行操作。通過檢測‘

主站蜘蛛池模板: 狠狠色噜噜狠狠狠狠色综合久| 色成人亚洲| jizz国产视频| 久久久亚洲色| 精品第一国产综合精品Aⅴ| 91丝袜乱伦| 高清码无在线看| 国产新AV天堂| 国产第二十一页| 久夜色精品国产噜噜| 久久国产精品麻豆系列| 国产99精品视频| 精品1区2区3区| 欧美日韩第二页| 精品国产电影久久九九| 91网红精品在线观看| 超碰免费91| 久久久久九九精品影院| 亚洲中文字幕精品| 亚洲三级影院| 国产高清国内精品福利| 欧美人在线一区二区三区| 精品亚洲欧美中文字幕在线看 | 亚洲人成网站在线播放2019| 欧美亚洲一区二区三区在线| 欧美成人综合视频| 久久香蕉国产线看精品| 中文字幕第4页| 国产99久久亚洲综合精品西瓜tv| 欧美日韩国产在线播放| 一本大道视频精品人妻| 亚洲色图欧美激情| 香蕉色综合| 毛片最新网址| 欧美福利在线| 一级毛片免费高清视频| 99视频在线免费看| 国产xxxxx免费视频| 免费观看亚洲人成网站| 999国产精品| 亚洲天堂视频在线观看| a欧美在线| 伊人蕉久影院| 狠狠做深爱婷婷久久一区| 国产一级二级三级毛片| 天天做天天爱夜夜爽毛片毛片| 久久a级片| 国产欧美日韩精品第二区| 国产三级国产精品国产普男人| 91精品在线视频观看| 国产精品成人啪精品视频| 亚洲精品777| 青草国产在线视频| 日韩AV无码免费一二三区 | 国产乱人伦AV在线A| 亚洲大尺度在线| 国产视频一区二区在线观看| 国产日韩欧美在线视频免费观看| 无码乱人伦一区二区亚洲一| 日本高清在线看免费观看| 99久久99视频| 潮喷在线无码白浆| 伦精品一区二区三区视频| 亚洲欧洲综合| 亚洲三级成人| 最新国语自产精品视频在| 亚洲AV成人一区国产精品| 国产第三区| 在线va视频| 无码福利视频| 四虎影院国产| 欧美乱妇高清无乱码免费| 欧美精品在线免费| 成年女人18毛片毛片免费| 拍国产真实乱人偷精品| 亚洲成人在线免费观看| 欧美另类精品一区二区三区| 国产成人免费观看在线视频| 内射人妻无码色AV天堂| 日本尹人综合香蕉在线观看| 国产精品视频观看裸模| 日本午夜精品一本在线观看|