新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)與液晶顯示器的接口應(yīng)用介紹

單片機(jī)與液晶顯示器的接口應(yīng)用介紹

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

引言

本文引用地址:http://m.butianyuan.cn/article/172654.htm

  器(LCD)具有工作電壓低、微功耗、顯示信息量大和方便等優(yōu)點(diǎn),現(xiàn)在已被廣泛于計(jì)算機(jī)和數(shù)字式儀表等領(lǐng)域,成為測量結(jié)果顯示和人機(jī)對話的重要工具。器按其功能可分為三類:筆段式器、字符點(diǎn)陣式液晶顯示器和圖形點(diǎn)陣式液晶顯示器。前兩種可顯示數(shù)字、字符和符號等,而圖形點(diǎn)陣式液晶顯示器還可以顯示漢字和任意圖形,達(dá)到圖文并茂的效果,其越來越廣泛。

  GTG240128液晶顯示模塊:

 ?。薄∧K特點(diǎn)

  GTG240128圖形點(diǎn)陣式液晶顯示器的點(diǎn)陣的大小為240×128,帶背光功能。內(nèi)置1片T6963C液晶顯示控制器和5片KS0086驅(qū)動器。該液晶顯示模塊具有如下特點(diǎn)。

  ●?。肝徊⑿锌偩€,能直接與80系列的微處理器相連;

  ● 可以顯示數(shù)字、字母、漢字和圖形等;

  ● 具有128種5×8點(diǎn)陣的ASCI字符字模庫CGROM;

  ● 具有64kb的顯示存儲器(可被劃分為文本顯示區(qū)、圖形顯示區(qū)、文本屬性區(qū)和自定義字符庫區(qū)),并允許MCU隨時訪問;

  ● 可用圖形方式、文本方式以及圖形和文本合成方式顯示。

  2 模塊引腳功能

 ?。牵裕牵玻矗埃保玻敢壕э@示模塊與微處理器的接口共有21個引腳,各引腳功能如表1所示。

  3 模塊指令集簡介

 ?。牵裕牵玻矗埃保玻敢壕э@示模塊使用了硬件初始化設(shè)置,使得其指令功能集中于顯示功能的設(shè)置上,從而加強(qiáng)了顯示能力。該模塊的指令可帶一個或兩個參數(shù),也可不帶參數(shù)。若指令中含有參數(shù),則參數(shù)必須在指令之前輸入。在每次數(shù)據(jù)或指令的寫入操作和數(shù)據(jù)的讀取操作之前都要進(jìn)行狀態(tài)字檢測,只有在不“忙”的狀態(tài)下,MCU對模塊的操作才有效。其狀態(tài)位由低位到高位的含義如表2所示。

  在MCU寫指令或一次讀/寫數(shù)據(jù)時,S0和S1要同時有效;當(dāng)MCU使用自動讀/寫功能時,S2和S3將取代S0和S1作為忙標(biāo)志位,此時MCU就要判別它是否有效;S6是考察T6963C屏讀或屏拷貝指令執(zhí)行情況的標(biāo)志位;S5和S7表示模塊內(nèi)部的運(yùn)行狀態(tài),一般不用。

  與AT89C55的接口電路

 ?。牵裕牵玻矗埃保玻概cAT89C55的接口有直接訪問和間接訪問兩種方式。直接訪問方式就是把顯示器模塊作為存儲器或I/O設(shè)備直接掛在總線上;間接訪問方式就是把顯示器模塊與的某個I/O接口連接,通過對該I/O口的操作間接實(shí)現(xiàn)對模塊的控制。本文采用直接訪問方式,硬件連接電路如圖1所示。

  液晶顯示器模塊的數(shù)據(jù)線接在AT89C55的數(shù)據(jù)總線上,片選信號由地址線A7和A0提供,寄存器選擇信號由地址線A7和A1提供(指令通道地址為0xf1,數(shù)據(jù)通道地址為0xf3),讀和寫操作由AT89C55的讀寫操作信號控制;模塊Vo端所接的電位器用來調(diào)節(jié)液晶顯示器的對比度。

  軟件設(shè)計(jì)

  軟件采用Keil?。茫担闭Z言開發(fā),主要包括三個部分:第一部分是寫指令和寫數(shù)據(jù)等面向液晶顯示模塊硬件的驅(qū)動程序;第二部分包括液晶顯示模塊初始化和清屏等通用子程序;第三部分是漢字、字符和圖形的顯示程序。

 ?。薄懼噶睢憯?shù)據(jù)子程序

  這部分是液晶顯示模塊的驅(qū)動程序,所有對液晶顯示模塊的操作都是通過調(diào)用這部分程序?qū)崿F(xiàn)的。液晶顯示模塊的指令通道地址為0xf1,數(shù)據(jù)通道的地址為0xf3,具體驅(qū)動程序如下。

 ?。#洌澹妫椋睿濉。蹋茫模撸茫恚洹。埃妫薄。K指令通道地址

 ?。#洌澹妫椋睿濉。蹋茫模撸模幔簦帷。埃妫场。K數(shù)據(jù)通道地址

  //寫指令子程序

 ?。觯铮椋洹。祝颍椋簦澹撸蹋茫模撸茫恚洌ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。悖恚洌?/p>

 ?。?/p>

 ?。鳎瑁椋欤濉。ǎǎ校拢伲裕牛郏蹋茫模撸茫恚洌荩Γ常。剑常?;

 ?。校拢伲裕牛郏蹋茫模撸茫恚洌荩剑悖恚?;

 ?。?/p>

 ?。瘜憯?shù)據(jù)子程序

 ?。觯铮椋洹。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。洌幔簦?/p>

 ?。?/p>

 ?。鳎瑁椋欤濉。ǎǎ校拢伲裕牛郏蹋茫模撸茫恚洌荩Γ常。剑常?;

 ?。校拢伲裕牛郏蹋茫模撸模幔簦幔荩剑洌幔簦?/p>

 ?。?/p>

  2 初始化子程序

  這部分程序是液晶顯示模塊進(jìn)行顯示之前的必要工作,包括設(shè)置文本頁首地址、圖形頁首地址、文本頁地址、圖形頁地址、初始化和清屏等子程序。本文中把液晶顯示模塊的顯示存儲器分為16個文本頁和6個圖形頁。文本頁的起止地址為0x0000~0x1fff;圖形頁的起止地址為0x2000~0x7fff。

 ?。O(shè)定文本頁首地址子程序

 ?。觯铮椋洹。裕澹簦撸龋铮恚澹撸粒洌洌颍澹螅螅ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。簦穑幔纾澹?/p>

  {

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ埃?;

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ簦穑幔纾澹埃埃玻?;

 ?。祝颍椋簦澹撸蹋茫模撸茫恚洌ǎ埃矗埃?; }

 ?。O(shè)定圖形頁首地址子程序

  void?。牵颍幔穑瑁撸龋铮恚澹撸粒洌洌颍澹螅螅ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。纾穑幔纾澹?/p>

 ?。?/p>

 ?。纾穑幔纾澹健。?;

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ埃?/p>

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ纾穑幔纾澹埃保埃?;

  Write_LCD_Cmd(0x42); }

  //設(shè)定文本頁地址子程序

 ?。觯铮椋洹。裕澹簦撸粒洌洌颍澹螅螅ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。。酰睿螅椋纾睿澹洹。悖瑁幔颉。?/p>

 ?。?/p>

 ?。澹簦澹颍睢。酰睿螅椋纾睿澹洹。悖瑁幔颉。簦澹簦穑幔纾?;

  unsigned?。椋睿簟。?/p>

 ?。剑常玻簦澹簦穑幔纾澹埃埃玻埃?;

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎΓ埃妫妫?/p>

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎ玻担叮?/p>

 ?。祝颍椋簦澹撸蹋茫模撸茫恚洌ǎ埃玻矗?/p>

 ?。?/span>


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

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

關(guān)閉