www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]引言  液晶顯示器(LCD)具有工作電壓低、微功耗、顯示信息量大和接口方便等優(yōu)點(diǎn),現(xiàn)在已被廣泛應(yīng)用于計(jì)算機(jī)和數(shù)字式儀表等領(lǐng)域,成為測(cè)量結(jié)果顯示和人機(jī)對(duì)話的重要工具。液晶顯示器按其功能可分為三類:筆段式

引言

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

 ?。牵裕牵玻矗埃保玻?strong>液晶顯示模塊:

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

 ?。牵裕牵玻矗埃保玻笀D形點(diǎn)陣式液晶顯示器的點(diǎn)陣的大小為240×128,帶背光功能。內(nèi)置1片T6963C液晶顯示控制器和5片KS0086驅(qū)動(dòng)器。該液晶顯示模塊具有如下特點(diǎn)。

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

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

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

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

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

  2 模塊接口引腳功能

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

  3 模塊指令集簡(jiǎn)介

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

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

  與AT89C55的接口電路

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

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

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

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

 ?。薄?xiě)指令、寫(xiě)數(shù)據(jù)子程序

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

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

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

 ?。瘜?xiě)指令子程序

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

 ?。?/span>

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

  PBYTE[LCD_Cmd]=cmd;

 ?。?/span>

 ?。瘜?xiě)數(shù)據(jù)子程序

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

 ?。?/span>

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

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

 ?。?/span>

  2 初始化子程序

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

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

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

 ?。?/span>

  Write_LCD_Data(0);

  Write_LCD_Data(tpage*0x02);

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

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

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

 ?。?/span>

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

  Write_LCD_Data(0);

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

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

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

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

 ?。?/span>

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

 ?。酰睿螅椋纾睿澹洹。椋睿簟。?/span>

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

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎΓ埃妫妫?;

  Write_LCD_Data(xy/256);

  Write_LCD_Cmd(0x24);

 ?。?br />

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

 ?。觯铮椋洹。牵颍幔穑瑁撸粒洌洌颍澹螅螅ǎ酰睿螅椋纾睿澹洹。悖瑁幔颉。?,

 ?。酰睿螅椋纾睿澹洹。悖瑁幔颉。?/p>

  {

 ?。澹簦澹颍睢。酰睿螅椋纾睿澹洹。悖瑁幔颉。纾颍幔穑瑁穑幔纾?;?。酰睿螅椋纾睿澹洹。椋睿簟。?/p>

 ?。纾颍幔穑瑁穑幔纾澹剑?;

  xy=y*32+x+graphpage*0x1000;

 ?。祝颍椋簦澹撸蹋茫模撸模幔簦幔ǎΓ埃妫妫?;

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

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

 ?。?/p>

  //初始化子程序

 ?。觯铮椋洹。桑睿椋簦撸蹋茫模ǎ觯铮椋洌?/p>

  {

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

  Write_LCD_Data(0x20);

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

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

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

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

  Write_LCD_Cmd(0x43);

  Write_LCD_Cmd(0x89);

  Write_LCD_Cmd(0xa1);

  Write_LCD_Data(0x0F);

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

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

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

  }

3 漢字、字符和圖形的顯示程序

 

  通過(guò)調(diào)用前面編寫(xiě)的驅(qū)動(dòng)、初始化和清屏程序就可以方便的實(shí)現(xiàn)漢字、字符和圖形的顯示。本文以漢字顯示為例介紹顯示程序的編制。漢字既可以以文本方式顯示也可以以圖形方式顯示。以文本方式顯示時(shí),每次開(kāi)機(jī)都要先把漢字字模寫(xiě)進(jìn)液晶顯示模塊的CGRAM,浪費(fèi)了時(shí)間,而且由于CGRAM的容量只有2kb,顯示的漢字有限,所以一般用圖形方式顯示漢字。以圖形方式顯示時(shí)先把漢字字模寫(xiě)在Flash存儲(chǔ)器中,顯示時(shí)再?gòu)模疲欤幔螅璐鎯?chǔ)器中取出來(lái),這樣不用每次開(kāi)機(jī)時(shí)都寫(xiě)漢字字模,節(jié)約時(shí)間,而且顯示的漢字?jǐn)?shù)量多。下面給出以圖形方式顯示漢字的通用子程序。漢字字模存儲(chǔ)在Flash存儲(chǔ)器中。

 ?。觯铮椋洹。穑酰簦撸瑁幔睿椤。ǎ悖瑁幔颉。悖?/p>

 ?。?/p>

 ?。酰睿螅椋纾睿澹洹。悖瑁幔颉。耄耄剑?;

 ?。酰睿螅椋纾睿澹洹。椋睿簟。铮颍洌澹?;

  unsigned?。椋睿簟。幔幔?;

 ?。螅簦幔簦椋恪。酰睿螅椋纾睿澹洹。悖瑁幔颉。穑颍澹觯椋铮酰螅剑埃埃?;

 ?。椋妫ǎ穑颍澹觯椋铮酰螅剑剑埃。穑颍澹觯椋铮酰螅剑?;

 ?。澹欤螅?/p>

  {

 ?。铮颍洌澹颍剑ǎǎ酰睿螅椋纾睿澹洹。椋睿簦?/p>

 ?。ǎ穑颍澹觯椋铮酰螅埃幔保梗矗耄耄埃幔保?/p>

 ?。穑颍澹觯椋铮酰螅剑铮颍洌澹颍ィ福?/p>

 ?。幔幔幔剑常玻穑颍澹觯椋铮酰?;

  order=order/8;

 ?。樱茫希危剑?;

  SBUF=concode[0x52];
kk=order/128;

 ?。鳎瑁椋欤澹ǎ。裕桑?;

 ?。樱茫希危剑?;

 ?。樱拢眨疲剑悖铮睿悖铮洌澹郏耄耄?;?。耄耄剑铮颍洌澹颍ィ保玻福?/p>

 ?。耄耄迹迹剑保?/p>

 ?。鳎瑁椋欤澹ǎ。裕桑?/p>

 ?。樱茫希危剑?;

 ?。樱拢眨疲剑悖铮睿悖铮洌澹郏耄耄?;?。耄耄剑幔幔幔ィ玻担?;

  while(?。裕桑?/p>

 ?。樱茫希危剑埃?/p>

 ?。樱拢眨疲剑悖铮睿悖铮洌澹郏耄耄荩弧。妫铮颍ǎ耄耄剑?;kk<4;kk++)

 ?。?/p>

 ?。鳎瑁椋欤澹ǎ。裕桑?/p>

 ?。樱茫希危剑?;

  SBUF=concode[0xff]; }

 ?。鳎瑁椋欤澹ǎ。裕桑?;

  SCON=0x10;

  for?。ǎ耄耄剑埃唬耄耄迹保?;kk++)

  {

 ?。牵颍幔穑瑁撸粒洌洌颍澹螅螅ǎ福耄耄?;

 ?。鳎瑁椋欤澹ǎ。遥桑?;

 ?。穑颍澹觯椋铮酰螅剑樱拢眨?;

 ?。樱茫希危剑埃保?;

 ?。鳎颍椋簦澹撸欤悖洌ǎ悖铮睿悖铮洌澹郏穑颍澹觯椋铮酰螅荩?;

 ?。悖簦颍欤ǎ埃悖埃?;

  while(?。遥桑?/p>

 ?。穑颍澹觯椋铮酰螅剑樱拢眨疲?/p>

 ?。樱茫希危剑埃保埃?/p>

 ?。鳎颍椋簦澹撸欤悖洌ǎ悖铮睿悖铮洌澹郏穑颍澹觯椋铮酰螅荩?/p>

 ?。悖簦颍欤ǎ埃悖埃?/p>

 ?。?/p>

 ?。穑颍澹觯椋铮酰螅剑埃埃埃?/p>

 ?。?/p>

 ?。?/p>

  結(jié)束語(yǔ)

    本文介紹的液晶顯示模塊已成功應(yīng)用在便攜式軌頭斷面激光檢測(cè)儀中,由于其具有與MCU接口方便、顯示功能強(qiáng)和編程簡(jiǎn)單等優(yōu)點(diǎn),具有廣泛的應(yīng)用價(jià)值。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來(lái)的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

關(guān)鍵字: 單片機(jī) 嵌入式 CPU

在嵌入式系統(tǒng)開(kāi)發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開(kāi)發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開(kāi)發(fā)

在嵌入式系統(tǒng)開(kāi)發(fā)中,看門(mén)狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門(mén)狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門(mén)狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開(kāi)發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來(lái)越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問(wèn)題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來(lái)看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)?lái)單片機(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)?lái)單片機(jī)的有關(guān)報(bào)道,通過(guò)閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過(guò)這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來(lái),單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)?lái)單片機(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉