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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 基于C8051F020的液晶顯示控制系統(tǒng)設(shè)計

          基于C8051F020的液晶顯示控制系統(tǒng)設(shè)計

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

          摘要:介紹了在電解質(zhì)分析儀的開發(fā)中,電解質(zhì)分析儀的總體結(jié)構(gòu)以及液晶顯示部分的設(shè)計情況。其中包括電解質(zhì)分析儀的總體設(shè)計、液晶顯示模塊YXD—12864A2的組成、功能以及與單片機的接口設(shè)計,并給出了相應的顯示軟件,另外對按鍵系統(tǒng)的設(shè)計和如何消除抖動等問題也做了詳細的說明。同時有效解決了漢字與字符混合顯示的問題,系統(tǒng)實現(xiàn)了菜單顯示,取得了良好的顯示效果,為各種便攜式系統(tǒng)顯示前端的設(shè)計提供參考。

          本文引用地址:http://www.ex-cimer.com/article/235488.htm

          0 引言

          在單片機系統(tǒng)設(shè)計中,LCM(液晶顯示模塊)人機交互界面的設(shè)計往往是很重要的一個環(huán)節(jié)。LCM可以用于智能儀器上的顯示設(shè)定參數(shù)、狀態(tài)提示符、檢測結(jié)果和待輸入?yún)?shù)等功能。本文結(jié)合電解質(zhì)分析儀的設(shè)計要求,采用深圳市燁新達實業(yè)有限公司生產(chǎn)的YXD—12864A2LCM,研究并實現(xiàn)了以為基礎(chǔ)的液晶顯示的接口電路和程序設(shè)計,添加了按鍵系統(tǒng),從而達到方便用戶使用的目的。

          1 電解質(zhì)分析儀簡介

          本系統(tǒng)所設(shè)計的電解質(zhì)分析儀(Electrolyte Analyzer)是一種具有高分辨率和高精度的儀器,可以與多種離子選擇電極配套使用,可用自動方法測定樣品中鉀、鈉、氯、鈣離子的濃度和pH值。其結(jié)構(gòu)方框圖如圖1所示。儀器采用單片機為核心芯片進行設(shè)計,在測量室內(nèi)由化學傳感器采集電解質(zhì)的電位信號傳送給信號調(diào)理電路,經(jīng)過信號調(diào)節(jié)后送給主電路板進行A/D轉(zhuǎn)換,然后輸出顯示到LCM上,LCM參數(shù)、測量結(jié)果的顯示等都可由鍵盤操作。與上位機的通信上,采用RS 232通信方式傳輸數(shù)據(jù)。本儀器的特點是可以單機使用、也可以與上位機連接使用,與上位機連接后通過界面操作可以幫助用戶完成病人信息的查詢、存儲、儀器工作情況的實時檢測等功能。

           

           

          系統(tǒng)顯示部分采用圖形液晶顯示模塊YXD-12864A2LCM,安裝在儀器的表面,用來顯示參數(shù)設(shè)置、測量結(jié)果、定標、質(zhì)控等的情況。界面顯示與參數(shù)設(shè)定及翻頁等功能通過按鍵的控制來實現(xiàn)。

          2 YXD-12864A2LCM

          2.1 模塊介紹

          YXD-12864A2LCM是由深圳市燁新達實業(yè)有限公司生產(chǎn)的,是一種圖形點陣液晶顯示模塊,它主要由行驅(qū)動器、列驅(qū)動器及128x64全點陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示4x8個(16×16點陣)漢字。YXD-12864A2模塊共有20個引腳。其中,第1腳VSS接系統(tǒng)地;第2腳VDD接電源電壓;第3腳V0接液晶顯示器驅(qū)動電源;第4腳D/I接數(shù)據(jù)指令選擇信號;第5腳R/W接讀寫選擇信號;第6腳接讀寫使能信號,E為高時,數(shù)據(jù)被讀出,而在E的下降沿到來時,數(shù)據(jù)被鎖存到DB0~DB7;第7~14腳接三態(tài)數(shù)據(jù)總線;第15、16腳接片選信號;第17腳

           

          接復位信號;第18腳Vout接內(nèi)部負壓發(fā)生器輸出電壓端;第19腳接LED背光電源正極;第20腳接LED背光電源負極。

          2.2 接口電路

          接口電路圖和原理圖如圖2,圖3所示,C8051F020的P3口作為數(shù)據(jù)口與液晶模塊DB口相連;P2.0為復位引腳

           

          控制端;P2.1、P2.4、P2.5作為普通的I/O口使用,分別接液晶模塊的使能端E、寄存器選擇引腳D/I、讀寫引腳R/W;P2.2、P2.3分別接片選信號左或者右,對顯示進行定位。

           

           

          圖2的電路圖中,R28和R41為上拉電阻,因為它每個端口是與單片機相連的,對于顯示器而言工作電壓是5 V,而C8051F020工作電壓是3.3 V,要使C8051F020輸出能更好地驅(qū)動5 V輸入的LCM,就要將每個端口通過一個上拉電阻接到5 V電源,這樣就可以保證C8051F020的邏輯“1”輸出能被提升到5 V。

           

           

          2.3 軟件設(shè)計

          顯示字符:從屏幕指定的位置開始顯示指定的字符串。此LCM是128x64位的液晶顯示屏,每個字符所占用的點陣是8x8。顯示位置由兩個坐標參數(shù)據(jù)決定,橫坐標x表示“行”,取值范圍為0~7;第0行對應屏幕最上邊的一行,第7行對應最下面一行。縱坐標y表示“列”,取值范圍為0~15,第0列對應屏幕最左邊的一列,第15列對應屏幕最右邊的一列。

          假設(shè)要從第4行第8列的位置顯示字符“K”,則程序段如下:

           

           

          漢字的顯示與字符類似,只是漢字所占的點陣為16×16的形式,因此在本LCM中,漢字只可以顯示4行8列。第一行漢字的坐標為00H~07H,第二、三、四行坐標依次為10H~17H、20H~27H、30H~37H。漢字的顯示要先將漢字的坐標起始位置作為命令寫入,把漢字的字模作為數(shù)據(jù)寫入,連續(xù)寫入多個漢字可用查表法。

          3 按鍵系統(tǒng)

          按鍵系統(tǒng)的硬件設(shè)計可以采用獨立方式和矩陣方式兩種。

          (1)獨立式中每一個鍵單獨占用一根I/O口線,每一根I/O口線上的按鍵工作狀態(tài)不會影響其他I/O口線上的狀態(tài),一般應用于按鍵數(shù)量較少的場合;

          (2)矩陣式的按鍵排列為行列式矩陣結(jié)構(gòu),4行4列共16個鍵,只占用8根I/O口線,因此當按鍵數(shù)目較多時,可以使用這種方式節(jié)省I/O口線。

          本儀器共定義了8個按鍵,考慮到C8051F020上的I/O接口非常豐富,因此采用了獨立式。在儀器上共設(shè)計了“Yes”、“No”、“↑(上)”、“↓(下)”、“←(左)”、“→(右)”、“復位”和“打印”8個按鍵,除“復位”鍵(其按下后直接復位)不通過鍵盤信息處理程序處理外,其余的7個鍵的按下處理均由鍵盤信息處理程序在主循環(huán)程序中完成。對于獨立式按鍵,CPU可以通過直接讀取I/O口的狀態(tài)來獲取按鍵的直接狀態(tài)編碼值,根據(jù)這個值可直接進行按鍵識別。每個鍵的編碼值如表1所示。

          led顯示器相關(guān)文章:led顯示器原理


          負離子發(fā)生器相關(guān)文章:負離子發(fā)生器原理
          上拉電阻相關(guān)文章:上拉電阻原理
          離子色譜儀相關(guān)文章:離子色譜儀原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: C8051F020 YXD—12864A2

          評論


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