版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、廣西科技大學(xué)實驗報告專用紙 Proteus實驗報告 課程題目:基于Proteus仿真的12864液晶的顯示班 級:XXX姓 名:XXX學(xué) 號:XXX完成時間:XXX 目錄一、 概述31、1 LCD簡介31、2 LCD引腳說明31、3 LCD原理簡圖.41、4 LCD主要功能介紹.41、5 指令說明.6二、 液晶顯示原理82.1漢字和英文顯示原理82.2圖形顯示9三、軟件仿真103.1漢字顯示103.2向上滾動顯示113.3PCB圖11四、部分實驗代碼12五、總結(jié)18一、 概述1、 LCD簡介在Protues仿真軟件中,AMPIRE12864是一種圖形點陣液晶顯示器。它主要采用動態(tài)驅(qū)動原理由行驅(qū)
2、動控制器和列驅(qū)動器兩部分組成了128(列)×64(行)的全點陣液晶顯示。軟件中不提供中文字庫,但可完成圖形顯示,也可以通過漢字取模軟件顯示8×4個(16×16點陣)漢字。2、 LCD引腳說明管腳名稱LEVER管腳功能描述3VSS0電源地4VDD+5.0V電源電壓5V0-液晶顯示器驅(qū)動電壓6D/I(RS)H/LD/I=“H”,表示DB7DB0為顯示數(shù)據(jù)D/I=“L”,表示DB7DB0為顯示指令數(shù)據(jù)7R/WH/LR/W=“H”,E=“H”數(shù)據(jù)被讀到DB7DB0R/W=“L”,E=“HL”數(shù)據(jù)被寫到IR或DR8EH/LR/W=“L”,E信號下降沿鎖存DB7DB0R/W=
3、“H”,E=“H”DDRAM數(shù)據(jù)讀到DB7DB09DB0H/L數(shù)據(jù)線10DB1H/L數(shù)據(jù)線11DB2H/L數(shù)據(jù)線12DB3H/L數(shù)據(jù)線13DB4H/L數(shù)據(jù)線14DB5H/L數(shù)據(jù)線15DB6H/L數(shù)據(jù)線16DB7H/L數(shù)據(jù)線1CS1H/LH:選擇芯片(右半屏)信號2CS2H/LH:選擇芯片(左半屏)信號17RETH/L復(fù)位信號,低電平復(fù)位18VOUT-10VLCD驅(qū)動負(fù)電壓19LED+-LED背光板電源20LED-LED背光板電源3、 LCD原理簡圖4、 LCD主要功能介紹1)顯示數(shù)據(jù)RAM(DDRAM) DDRAM(64×8×8 bits)是存儲圖形顯示數(shù)據(jù)的。此RAM的每
4、一位數(shù)據(jù)對應(yīng)顯示面板上一個點的顯示(數(shù)據(jù)為H)與不顯示(數(shù)據(jù)為L)。DDRAM的地址與顯示位置關(guān)系對照圖(見附錄一) 2)I/O緩沖器(DB0DB7) I/O緩沖器為雙向三態(tài)數(shù)據(jù)緩沖器。是LCM(液晶顯示模塊)內(nèi)部總線與MPU總線的結(jié)合部。其作用是將兩個不同時鐘下工作的系統(tǒng)連接起來,實現(xiàn)通訊。I/O緩沖器在片選信號/CS有效狀態(tài)下,I/O緩沖器開放,實現(xiàn)LCM(液晶顯示模塊)與MPU之間的數(shù)據(jù)傳遞。當(dāng)片選信號為無效狀態(tài)時,I/O緩沖器將中斷LCM(液晶顯示模塊)內(nèi)部總線與MPU數(shù)據(jù)總線的聯(lián)系,對外總線呈高阻狀態(tài),從而不影響MPU的其他數(shù)據(jù)操作功能。3)輸入寄存器 輸入寄存器用于接收在MPU運行
5、速度下傳送給LCM(液晶顯示模塊)的數(shù)據(jù)并將其鎖存在輸入寄存器內(nèi),其輸出將在LCM(液晶顯示模塊)內(nèi)部工作時鐘的運作下將數(shù)據(jù)寫入指令寄存器或顯示存儲器內(nèi)。 4)輸出寄存器 輸出寄存器用于暫存從顯示存儲器讀出的數(shù)據(jù),在MPU讀操作時,輸出寄存器將當(dāng)前鎖存的數(shù)據(jù)通過I/O緩沖器送入MPU數(shù)據(jù)總線上。 5)指令寄存器指令寄存器用于接收MPU發(fā)來的指令代碼,通過譯碼將指令代碼置入相關(guān)的寄存器或觸發(fā)器內(nèi)。6)狀態(tài)字寄存器 狀態(tài)字寄存器是LCM(液晶顯示模塊)與MPU通訊時唯一的“握手”信號。狀態(tài)字寄存器向MPU表示了LCM(液晶顯示模塊)當(dāng)前的工作狀態(tài)。尤其是狀態(tài)字中的“忙”標(biāo)志位是MPU在每次對LCM
6、(液晶顯示模塊)訪問時必須要讀出判別的狀態(tài)位。當(dāng)處于“忙”標(biāo)志位時,I/O緩沖器被封鎖,此時MPU對LCM(液晶顯示模塊)的任何操作(除讀狀態(tài)字操作外)都將是無效的。 7)X地址寄存器 X地址寄存器是一個三位頁地址寄存器,其輸出控制著DDRAM中8個頁面的選擇,也是控制著數(shù)據(jù)傳輸通道的八選一選擇器。X地址寄存器可以由MPU以指令形式設(shè)置。X地址寄存器沒有自動修改功能,所以要想轉(zhuǎn)換頁面需要重新設(shè)置X地址寄存器的內(nèi)容。 8)Y地址計數(shù)器 Y地址計數(shù)器是一個6位循環(huán)加一計數(shù)器。它管理某一頁面上的64個單元。Y地址計數(shù)器可以由MPU以指令形式設(shè)置,它和頁地址指針結(jié)合唯一選通顯示存儲器的一個單元,Y地址
7、計數(shù)器具有自動加一功能。在顯示存儲器讀/寫操作后Y地址計數(shù)將自動加一。當(dāng)計數(shù)器加至3FH后循環(huán)歸零再繼續(xù)加一。9)Z地址計數(shù)器 Z地址計數(shù)器是一個6位地址計數(shù)器,用于確定當(dāng)前顯示行的掃描地址。Z地址計數(shù)器具有自動加一功能。它與行驅(qū)動器的行掃描輸出同步,選擇相應(yīng)的列驅(qū)動的數(shù)據(jù)輸出。 10)顯示起始行寄存器 顯示起始行寄存器是一個6位寄存器,它規(guī)定了顯示存儲器所對應(yīng)顯示屏上第一行的行號。該行的數(shù)據(jù)將作為顯示屏上第一行顯示狀態(tài)的控制信號。11)顯示開/關(guān)觸發(fā)器顯示開/關(guān)觸發(fā)器的作用就是控制顯示驅(qū)動輸出的電平以控制顯示屏的開關(guān)。在觸發(fā)器輸出為“關(guān)”電平時,顯示數(shù)據(jù)鎖存器的輸入被封鎖并將輸出置“0”,從
8、而使顯示驅(qū)動輸出全部為非選擇波形,顯示屏呈不顯示狀態(tài)。在觸發(fā)器輸出為“開”電平時,顯示數(shù)據(jù)鎖存器被控制,顯示驅(qū)動輸出受顯示驅(qū)動數(shù)據(jù)總線上數(shù)據(jù)控制,顯示屏將呈顯示狀態(tài)。12)復(fù)位端/RES 復(fù)位端/RES用于在LCM(液晶顯示模塊)上電時或需要時實現(xiàn)硬件電路對LCM(液晶顯示模塊)的復(fù)位。該復(fù)位功能將實現(xiàn): A設(shè)置顯示狀態(tài)為關(guān)顯示狀態(tài) B顯示起始寄存器清零。顯示RAM第一行對應(yīng)顯示屏上的第一行。C在復(fù)位期間狀態(tài)字中RESET位置1。5、 指令說明1.指令表指 令 名 稱 控制信號控 制 代 碼 RS R/WD7 D6D5 D4 D3D2 D1 D0 顯示開關(guān)設(shè)置 0 0 0 0 1 1 11 1
9、 D 顯示起始行設(shè)置 0 0 1 1 L5 L4 L3L2 L1 L0 頁面地址設(shè)置0 0 1 0 1 1 1P2 P1 P0 列地址設(shè)置 0 0 0 1 C5 C4 C3C2 C1 C0 讀取狀態(tài)字 0 1 BUSY0 ON/OFFRESET 00 0 0 寫顯示數(shù)據(jù) 1 0 數(shù) 據(jù) 讀顯示數(shù)據(jù)1 1 數(shù) 據(jù) 詳細(xì)解釋各個指令功能 1) 讀狀態(tài)字格式 BUSY 0 ON/OFFRESET0 0 0 0 狀態(tài)字是MPU了解LCM(液晶顯示模塊)當(dāng)前狀態(tài),或LCM向MPU提供其內(nèi)部狀態(tài)的唯一的信息渠道。BUSY 表示當(dāng)前LCM接口控制電路運行狀態(tài)。BUSY=1表示LCM正在處理MPU發(fā)過來的指令
10、或數(shù)據(jù)。此時接口電路被封鎖,不能接受除讀狀態(tài)字以外的任何操作。BUSY=0表示LCM接口控制電路已外于“準(zhǔn)備好”狀態(tài),等待MPU的訪問。 ON/OFF 表示當(dāng)前的顯示狀態(tài)。ON/OFF=1表示關(guān)顯示狀態(tài),ON/OFF=0表示開顯示狀態(tài)。 RESET 表示當(dāng)前LCM的工作狀態(tài),即反映/RES端的電平狀態(tài)。當(dāng)/RES為低電平狀態(tài)時,LCM處于復(fù)位工作狀態(tài),標(biāo)志位RESET=1。當(dāng)/REST為高電平狀態(tài)時,LCM為正常工作狀態(tài),標(biāo)志位RESET=0。 在指令設(shè)置和數(shù)據(jù)讀寫時要注意狀態(tài)字中的BUSY標(biāo)志。只有在BUSY=0時,MPU對LCM的操作才能有效。因此MPU在每次對LCM操作之前,都要讀出狀態(tài)
11、字判斷BUSY是否為“0”。若不為“0”,則MPU需要等待,直至BUSY=0為止。 2)顯示開關(guān)設(shè)置格式 0 0 1 1 1 1 1 D 該指令設(shè)置顯示開/關(guān)觸發(fā)器的狀態(tài),由此控制顯示數(shù)據(jù)鎖存器的工作方式,從而控制顯示屏上的顯示狀態(tài)。D位為顯示開/關(guān)的控制位。當(dāng)D=1為開顯示設(shè)置,顯示數(shù)據(jù)鎖存器正常工作,顯示屏上呈現(xiàn)所需的顯示效果。此時在狀態(tài)字中ON/OFF=0。當(dāng)D=0為關(guān)顯示設(shè)置,顯示數(shù)據(jù)鎖存器被置零,顯示屏呈不顯示狀態(tài),但顯示存儲器并沒有被破壞,在狀態(tài)字中ON/OFF=1。3)顯示起始行設(shè)置格式 1 1 L5 L4 L3 L2 L1 L0 該指令設(shè)置了顯示起始行寄存器的內(nèi)容。LCM通過/
12、CS的選擇分別具有64行顯示的管理能力,該指令中L5L0為顯示起始行的地址,取值在03FH(164行)范圍內(nèi),它規(guī)定了顯示屏上最頂一行所對應(yīng)的顯示存儲器的行地址。如果定時間隔地,等間距地修改(如加一或減一)顯示起始行寄存器的內(nèi)容,則顯示屏將呈現(xiàn)顯示內(nèi)容向上或向下平滑滾動的顯示效果。4)頁面地址設(shè)置格式 1 0 1 1 1 P2 P1 P0 該指令設(shè)置了頁面地址X地址寄存器的內(nèi)容。LCM將顯示存儲器分成8頁,指令代碼中P2P0就是要確定當(dāng)前所要選擇的頁面地址,取值范圍為07H ,代表第18頁。該指令規(guī)定了以后的讀/寫操作將在哪一個頁面上進行。5)列地址設(shè)置格式 0 1 C5 C4 C3 C2 C
13、1 C0 該指令設(shè)置了Y地址數(shù)計數(shù)器的內(nèi)容,LCM通過/CS的選擇分別具有64列顯示的管理能力,C50=3FH(164)代表某一頁面上的某一單元地址,隨后的一次讀或?qū)憯?shù)據(jù)將在這個單元上進行。Y地址計數(shù)器具有自動加一功能,在每一次讀/寫數(shù)據(jù)后它將自動加一,所以在連續(xù)進行讀/寫數(shù)據(jù)時,Y地址計數(shù)器不必每次都設(shè)置一次。 頁面地址的設(shè)置和列地址的設(shè)置將顯示存儲器單元唯一地確定下來,為后來的顯示數(shù)據(jù)的讀/寫作了地址的選通。6)寫顯示數(shù)據(jù)格式 數(shù) 據(jù) 該操作將8位數(shù)據(jù)寫入先前已確定的顯示存儲器的單元內(nèi)。操作完成后列地址計數(shù)器自動加一。7)讀顯示數(shù)據(jù)格式 數(shù) 據(jù) 該操作將LCM接口部的輸出寄存器內(nèi)容讀出,然
14、后列地址計數(shù)器自動加一。二、 液晶顯示原理1漢字和英文顯示原理 在數(shù)字電路中,所有的數(shù)據(jù)都是以0和1保存的,對LCD控制器進行不同的數(shù)據(jù)操作,可以得到不同的結(jié)果。對于顯示英文操作,由于英文字母種類很少,只需要8位(一字節(jié))即可。而對于中文,常用卻有6000以上,于是我們的DOS前輩想了一個辦法,就是將ASCII表的高128個很少用到的數(shù)值以兩個為一組來表示漢字,即漢字的內(nèi)碼。而剩下的低128位則留給英文字符使用,即英文的內(nèi)碼。 那么,得到了漢字的內(nèi)碼后,還僅是一組數(shù)字,那又如何在屏幕上去顯示呢?這就涉及到文字的字模,字模雖然也是一組數(shù)字,但它的
15、意義卻與數(shù)字的意義有了根本的變化,它是用數(shù)字的各位信息來記載英文或漢字的形狀,如英文的'A'在字模的記載方式如圖1所示:圖1 “A”字模圖 而中文的“你”在字模中的記載卻如圖2所示:圖2 “你”字模圖根據(jù)芯片的不同取模的方式不同,有多種取模方式:單色點陣液晶字模,橫向取模,字節(jié)正序,單色點陣液晶字模,橫向取模,字節(jié)倒序,單色點陣液晶字模,縱向取模,字節(jié)正序,單色點陣液晶字模,縱向取模,字節(jié)倒序等等。而PROTUES中的AMPIRE12684為縱向取模,字節(jié)倒序液晶。2.2圖形顯示 先設(shè)頁地址再設(shè)列地址頁地址范圍 0xb80
16、xbf列平地址范圍 0x400x7f繪圖RAM 的地址計數(shù)器(AC)只對列地址自動加一,當(dāng)列地址=0x7F時會重新設(shè)為0DDRAM的坐標(biāo)地址與資料排列順序如下圖:三、 軟件仿真1漢字顯示在Protues軟件中選擇所需元件,搭建的電路圖如圖1所示。將編寫的代碼燒寫到單片機里,運行液晶顯示正常2向上滾動顯示 3、PCB圖四、部分實驗代碼(向上滾動顯示)20#include <reg52.h>#define uchar unsigned char#define uint unsigned int#define LCDLCDDisp_Off 0x3e #define LCDLCDDisp_
17、On 0x3f#define Page_Add 0xb8/頁地址#define LCDCol_Add 0x40/列地址#define Start_Line 0xC0/行地址/*液晶顯示器的端口定義*/#define data_ora P0 /*液晶數(shù)據(jù)總線*/sbit LCDMcs=P21 ; /*片選1*/sbit LCDScs=P22 ; /*片選2*/sbit RESET=P23 ; /*復(fù)位信號*/sbit LCDDi=P24 ; /*數(shù)據(jù)/指令 選擇*/sbit LCDRW=P25 ; /*讀/寫 選擇*/sbit LCDEnable=P26 ; /*讀/寫 使能*/uchar co
18、de Hz_guang= /*- 文字: 廣 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x00,0xF8,0x08,0x08,0x08,0x08,0x09,0x0E,0x08,0x08,0x08,0x08,0x08,0x00,0x00,0x80,0x60,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar code Hz_xi= /*- 文字: 西 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x02,0x02,0xE2,0x
19、22,0x22,0xFE,0x22,0x22,0x22,0xFE,0x22,0x22,0xE2,0x02,0x02,0x00,0x00,0x00,0xFF,0x48,0x44,0x43,0x40,0x40,0x40,0x43,0x44,0x44,0xFF,0x00,0x00,0x00 ;uchar code Hz_ke=/*- 文字: 科 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x24,0x24,0xA4,0xFE,0xA3,0x22,0x00,0x22,0xCC,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x08,0x06,0x0
20、1,0xFF,0x00,0x01,0x04,0x04,0x04,0x04,0x04,0xFF,0x02,0x02,0x02,0x00; uchar code Hz_ji=/*- 文字: 技 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x10,0x10,0x10,0xFF,0x10,0x90,0x08,0x88,0x88,0x88,0xFF,0x88,0x88,0x88,0x08,0x00,0x04,0x44,0x82,0x7F,0x01,0x80,0x80,0x40,0x43,0x2C,0x10,0x28,0x46,0x81,0x80,0x00;uchar cod
21、e Hz_da=/*- 文字: 大 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x20,0x20,0x20,0x20,0x20,0x20,0x20,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x80,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x03,0x0C,0x10,0x20,0x40,0x80,0x80,0x00;uchar code Hz_xue=/*- 文字: 學(xué) -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x40,0x30,0x11,0x96,0x
22、90,0x90,0x91,0x96,0x90,0x90,0x98,0x14,0x13,0x50,0x30,0x00,0x04,0x04,0x04,0x04,0x04,0x44,0x84,0x7E,0x06,0x05,0x04,0x04,0x04,0x04,0x04,0x00;uchar code Hz_chen=/*- 文字: 陳 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0xFE,0x22,0x5A,0x86,0x08,0x88,0x68,0x18,0x0F,0xE8,0x08,0x08,0x08,0x08,0x00,0x00,0xFF,0x04,0x
23、08,0x07,0x20,0x11,0x0D,0x41,0x81,0x7F,0x01,0x05,0x09,0x30,0x00;uchar code Hz_jing=/*- 文字: 競 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x20,0x20,0x24,0xA4,0xAC,0xB4,0xA5,0xA6,0xA4,0xB4,0xAC,0xA4,0x24,0x20,0x20,0x00,0x80,0x80,0x40,0x47,0x24,0x1C,0x04,0x04,0x04,0x7C,0x84,0x87,0x80,0x80,0xE0,0x00;uchar code H
24、z_xiong=/*- 文字: 雄 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x08,0xC8,0x38,0x8F,0x08,0x28,0x10,0xFC,0x4B,0x48,0xF9,0x4A,0x48,0x08,0x00,0x04,0x23,0x70,0x2C,0x23,0x28,0x70,0x00,0xFF,0x22,0x22,0x3F,0x22,0x22,0x20,0x00;uchar code Hz_tong=/*- 文字: 通 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x40,0x42,0xCC,0x00,0
25、x00,0xE2,0x22,0x2A,0x2A,0xF2,0x2A,0x26,0x22,0xE0,0x00,0x00,0x80,0x40,0x3F,0x40,0x80,0xFF,0x89,0x89,0x89,0xBF,0x89,0xA9,0xC9,0xBF,0x80,0x00;uchar code Hz_xin=/*- 文字: 信 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x80,0x60,0xF8,0x07,0x00,0x04,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x04,0x00,0x01,0x00,0x00,0x
26、FF,0x00,0x00,0x00,0xF9,0x49,0x49,0x49,0x49,0x49,0xF9,0x00,0x00;uchar code Hz_1=/*- 文字: 1 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar code Hz_0
27、=/*- 文字: 0 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar code Hz_ban=/*- 文字: 班 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x84,0x84,0xFC,0x84,0x84,0x00
28、,0xF8,0x00,0xFF,0x00,0x84,0x84,0xFC,0x84,0x84,0x00,0x10,0x30,0x1F,0x08,0x88,0x42,0x21,0x18,0x07,0x00,0x20,0x20,0x3F,0x20,0x20,0x00;uchar code Hz_wo=/*- 文字: 我 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20,0x00,0x00,0x08,0x48,0x84,0x7F,0
29、x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0x00;uchar code Hz_ai=/*- 文字: 愛 -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x80,0x64,0x2C,0x34,0x24,0x24,0xEC,0x32,0x22,0x22,0x32,0x2E,0x23,0xA2,0x60,0x00,0x00,0x41,0x21,0x91,0x89,0x87,0x4D,0x55,0x25,0x25,0x55,0x4D,0x81,0x80,0x80,0x00;uchar code Hz_m=/*- 文字:
30、 M -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x08,0xF8,0xF8,0x00,0xF8,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x3F,0x00,0x3F,0x00,0x3F,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar code Hz_c=/*- 文字: C -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0xC0,0x30,0x08,0x08,0x08,0x08,0x38,0x00
31、,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x18,0x20,0x20,0x20,0x10,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;uchar code Hz_u=/*- 文字: U -*/*- 宋體12; 此字體下對應(yīng)的點陣為:寬x高=16x16 -*/0x08,0xF8,0x08,0x00,0x00,0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x20,0x20,0x20,0x20,0x1F,0x
32、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*函數(shù)功能:LCD延時程序入口參數(shù):t出口參數(shù):*/void LCDdelay(unsigned int t)unsigned int i,j;for(i=0;i<t;i+);for(j=0;j<10;j+);/*狀態(tài)檢查,LCD是否忙*/void CheckState() unsigned char dat,DATA;/狀態(tài)信息(判斷是否忙) LCDDi=0; / 數(shù)據(jù)指令選擇,D/I(RS)="L" ,表示 DB7DB0 為顯示指令數(shù)據(jù) LCDRW=1; /R/W=&qu
33、ot;H" ,E="H"數(shù)據(jù)被讀到DB7DB0 do DATA=0x00; LCDEnable=1;/EN下降源 LCDdelay(2);/延時 dat=DATA; LCDEnable=0; dat=0x80 & dat; /僅當(dāng)?shù)?位為0時才可操作(判別busy信號) while(!(dat=0x00);/*函數(shù)功能:寫命令到LCD程序,RS(DI)=L,RW=L,EN=H,即來一個脈沖寫一次入口參數(shù):cmdcode出口參數(shù):*/void write_com(unsigned char cmdcode) CheckState();/檢測LCD是否忙LCD
34、Di=0;LCDRW=0;P0=cmdcode;LCDdelay(2);LCDEnable=1;LCDdelay(2);LCDEnable=0;/*函數(shù)功能:LCD初始化程序入口參數(shù):出口參數(shù):*/void init_lcd()LCDdelay(100);LCDMcs=1;/剛開始關(guān)閉兩屏LCDScs=1;LCDdelay(100);write_com(LCDLCDDisp_Off); /寫初始化命令write_com(Page_Add+0);write_com(Start_Line+0);write_com(LCDCol_Add+0);write_com(LCDLCDDisp_On);/*函
35、數(shù)功能:寫數(shù)據(jù)到LCD程序,RS(DI)=H,RW=L,EN=H,即來一個脈沖寫一次入口參數(shù):LCDDispdata出口參數(shù):*/void write_data(unsigned char LCDDispdata) CheckState();/檢測LCD是否忙LCDDi=1;LCDRW=0;P0=LCDDispdata;LCDdelay(2);LCDEnable=1;LCDdelay(2);LCDEnable=0;/*函數(shù)功能:清除LCD內(nèi)存程序入口參數(shù):pag,col,hzk出口參數(shù):*/void Clr_Scr()unsigned char j,k;LCDMcs=0; /左、右屏均開顯示L
36、CDScs=0; write_com(Page_Add+0); write_com(LCDCol_Add+0); for(k=0;k<8;k+)/控制頁數(shù)0-7,共8頁 write_com(Page_Add+k); /每頁每頁進行寫 for(j=0;j<64;j+) /每頁最多可寫32個中文文字或64個ASCII字符 write_com(LCDCol_Add+j);write_data(0x00);/控制列數(shù)0-63,共64列,寫點內(nèi)容,列地址自動加1/*函數(shù)功能:指定位置顯示漢字16*16程序入口參數(shù):page,column,hzk出口參數(shù):*/void hz_LCDDisp16
37、(unsigned char page,unsigned char column, unsigned char code *hzk)unsigned char j=0,i=0;for(j=0;j<2;j+)write_com(Page_Add+page+j);write_com(LCDCol_Add+column);for(i=0;i<16;i+) write_data(hzk16*j+i);void dis_gxkjdx() LCDMcs=0; /左屏開顯示LCDScs=1;hz_LCDDisp16(0,16,Hz_guang);/ Hz_Wo為某個漢字的首地址hz_LCDDis
38、p16(0,32,Hz_xi);hz_LCDDisp16(0,48,Hz_ke); LCDMcs=1; /右屏開顯示 LCDScs=0; hz_LCDDisp16(0,0,Hz_ji);hz_LCDDisp16(0,16,Hz_da);hz_LCDDisp16(0,32,Hz_xue); void dis_txb() LCDMcs=0; /左屏開顯示LCDScs=1; hz_LCDDisp16(2,16,Hz_tong);/ Hz_Wo為某個漢字的首地址hz_LCDDisp16(2,32,Hz_xin);hz_LCDDisp16(2,48,Hz_1); LCDMcs=1; /右屏開顯示 LCDScs=0; hz_LCDDisp16(2,0,Hz_0);hz_LCDDisp16(2,16,Hz_1);hz_LCDDisp16(2,32,Hz_ban); void dis_cjx() LCDMcs=0; /左屏開顯示 LCDScs=1; hz_LCDDisp16(4,16,Hz_chen);/ Hz_Wo為某個漢字的首地址hz_LCDDisp16(4,48,Hz_jing); LCDMcs=1; /右屏開顯示 LCDScs=0; hz_LCDDisp16(4,16,Hz_xiong); void dis_wa_mcu() LCDMcs=0; /左屏開顯示 LCDScs=1; hz_L
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 25763-2024滾動軸承汽車變速箱用滾針軸承
- GB/T 44637-2024能源互聯(lián)網(wǎng)系統(tǒng)智能電網(wǎng)與熱、氣、水、交通系統(tǒng)的交互
- GB/T 44562-2024航空用鈦合金100°沉頭大底腳螺紋抽芯鉚釘
- 公用工程題庫練習(xí)試題及答案
- 高考數(shù)學(xué)復(fù)習(xí)解答題提高第一輪專題復(fù)習(xí)專題10數(shù)列求和(插入新數(shù)列混合求和)(典型題型歸類訓(xùn)練)(學(xué)生版+解析)
- 語文統(tǒng)編版(2024)一年級上冊語文園地5 教案
- 高中英語語法第一講定語從句
- 第2章 心理的生理基礎(chǔ)課件
- 會計數(shù)據(jù)分析 課件 第3章 模型建立與評估
- 班主任家長會課件
- 修山合同模板
- 2024年教育質(zhì)量檢測反饋問題及整改方案
- 2024中小學(xué)學(xué)校疫苗接種工作應(yīng)急預(yù)案
- 入團志愿書(2016版本)(可編輯打印標(biāo)準(zhǔn)A4) (1)
- 芝麻黑石材檢測報告14001855
- 《特種加工》課程實踐調(diào)查報告(共6頁)
- 關(guān)于城市運營的詮釋
- 房地產(chǎn)廣告公司招標(biāo)書
- 儲罐安裝施工方案(完整版)
- 《指南》背景下幼兒園自主性游戲指導(dǎo)策略探究
- 律師庭審筆錄(民事)
評論
0/150
提交評論