基于51單片機(jī)的液晶顯示屏控制系統(tǒng)設(shè)計(jì)[共28頁(yè)]
《基于51單片機(jī)的液晶顯示屏控制系統(tǒng)設(shè)計(jì)[共28頁(yè)]》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于51單片機(jī)的液晶顯示屏控制系統(tǒng)設(shè)計(jì)[共28頁(yè)](28頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、液晶顯示屏控制系統(tǒng)的設(shè)計(jì) 基于51單片機(jī)的液晶顯示屏控制系統(tǒng)設(shè)計(jì) 1 概述 1.1系統(tǒng)背景 液晶顯示器件在中國(guó)已有二十余年的發(fā)展歷史。二十余年來(lái),液晶顯示器件從實(shí)驗(yàn)室走向大規(guī)模生產(chǎn)集團(tuán),形成了獨(dú)立的產(chǎn)業(yè)部門(mén)?,F(xiàn)在,液晶顯示幾乎已經(jīng)應(yīng)用于生產(chǎn),生活的各個(gè)領(lǐng)域,人們幾乎時(shí)時(shí)處處都要與這一神奇而又普通的面孔打交道。 液晶顯示是集單片機(jī)技術(shù)、微電子技術(shù)、信息處理于一體的新型顯示方式。由于液晶顯示器具有低壓低功耗,顯示信息量大易于彩色化,無(wú)電磁輻射,長(zhǎng)壽命,無(wú)污染等特點(diǎn)。LCD是目前顯示產(chǎn)業(yè)中發(fā)展速度最快,市場(chǎng)應(yīng)用最廣的顯示器件,成為眾多顯示媒體中的佼佼者,在越來(lái)越多的領(lǐng)域中發(fā)揮作用,
2、是目前顯示器件中一個(gè)理想的選擇。 LCD在監(jiān)控系統(tǒng)中的應(yīng)用:目前大多數(shù)監(jiān)控系統(tǒng)自帶的顯示系統(tǒng)為L(zhǎng)ED數(shù)碼管顯示,這樣顯示效果比較單一,只能顯示監(jiān)控系統(tǒng)的測(cè)量值。而LCD液晶顯示器不僅可以顯示數(shù)值、漢字等,并且可以顯示文本和圖形。利用LCD和鍵盤(pán)實(shí)現(xiàn)人機(jī)交互,使監(jiān)控系統(tǒng)獨(dú)立工作成為可能。通過(guò)監(jiān)控系統(tǒng)對(duì)現(xiàn)場(chǎng)的單回路控制器進(jìn)行參數(shù)設(shè)置,對(duì)各個(gè)單回路控制器的工作進(jìn)行監(jiān)控。 LCD在時(shí)鐘中的應(yīng)用:在日常生活中我們會(huì)經(jīng)??吹綍r(shí)間的顯示,這些顯示大都是采用液晶顯示器來(lái)顯示的,而對(duì)其中的漢字無(wú)法用顯示來(lái)解決。我們利用LCD液晶模塊制成的小屏幕實(shí)現(xiàn)了時(shí)間的顯示,顯示格式為“時(shí)時(shí):分分:秒秒”。另外,可以增
3、加鬧鐘功能,時(shí)間到了則產(chǎn)生音樂(lè)聲;還可以增加萬(wàn)年歷顯示“年月日”等多項(xiàng)功能。 LCD在大屏幕顯示中的應(yīng)用:大屏幕顯示的應(yīng)用范圍極廣,隨著社會(huì)發(fā)展,公眾生活的加強(qiáng),人們對(duì)能夠面向廣大公眾傳遞信息的顯示裝置越來(lái)越感到必需。使用液晶投影顯示大屏幕,不僅有投影儀,指揮用大屏幕,還有液晶投影彩色電視。它可以用一個(gè)體積很小的系統(tǒng)裝置,實(shí)現(xiàn)100英寸以上的非常漂亮的大屏幕電視顯示。它與傳統(tǒng)的顯示媒體相比,具有分辨率極高,透過(guò)性好,顯示內(nèi)容豐富,彩色易于控制等優(yōu)點(diǎn)。 隨著計(jì)算機(jī)技術(shù)及電子通信技術(shù)的發(fā)展,LCD顯示屏作為一種新的傳媒工具,現(xiàn)已經(jīng)應(yīng)用到商業(yè)、軍事、車站、賓館、體育、新聞、金融、證券、廣告以及交
4、通運(yùn)輸?shù)仍S多行業(yè),大到幾十平方米的大屏幕,小到家庭影院用的圖文顯示屏,以及政府部門(mén)應(yīng)用的電子黑板,證券、銀行等部門(mén)用的信息數(shù)字混合屏。LCD顯示屏帶來(lái)廣泛的社會(huì)效益和經(jīng)濟(jì)效益,具有良好的發(fā)展前景。 1.2 系統(tǒng)概述 本實(shí)驗(yàn)系統(tǒng)分為單片機(jī)最小系統(tǒng)板和液晶顯示屏兩部分。單片機(jī)最小系統(tǒng)負(fù)責(zé)接收個(gè)人計(jì)算機(jī)所編輯的文本及內(nèi)容,通過(guò)RS232串行接口通信完成單片機(jī)與PC機(jī)之間的數(shù)據(jù)傳送,而個(gè)人計(jì)算機(jī)(即PC機(jī)),主要完成顯示內(nèi)容的編輯、字符碼的查找、字符數(shù)據(jù)的發(fā)送等工作?;赪indows操作系統(tǒng)下的文本編輯軟件有很多種,例如:記事本、Micorsoft Word、寫(xiě)字板等,我們可以采用任何一種編輯
5、軟件將要顯示的內(nèi)容(包括漢字、中英文字母、標(biāo)點(diǎn)符號(hào)等)編輯成一個(gè)文本文件,然后通過(guò)已經(jīng)編寫(xiě)好的應(yīng)用程序在特定的字庫(kù)中依次搜索到文本文件中的內(nèi)容,并且取出該字符的字模數(shù)據(jù),此項(xiàng)工作稱為字模數(shù)據(jù)的提?。蛔帜?shù)據(jù)文件的生成也就是將取出的字模按順序存放到一個(gè)十六進(jìn)制文件中;字符數(shù)據(jù)建立好之后將其存放在PC機(jī)的硬盤(pán)上,等到需要的時(shí)候通過(guò)串行通信軟件將字符數(shù)據(jù)文件發(fā)送給液晶顯示系統(tǒng)模塊。 LCD顯示屏包括主控制模塊和LCD液晶顯示模塊。主控制模塊負(fù)責(zé)接收單片機(jī)發(fā)送過(guò)來(lái)的字模數(shù)據(jù)文件,并且協(xié)調(diào)各個(gè)LCD液晶顯示模塊工作,主控制器模塊的核心是T6963C控制器,為了存儲(chǔ)字模數(shù)據(jù)還在主控制器模塊中擴(kuò)展了一片8
6、K存儲(chǔ)器芯片6264;LCD液晶顯示模塊由兩片行驅(qū)動(dòng)器T6A40和三片列驅(qū)動(dòng)器T6A39進(jìn)行驅(qū)動(dòng),該模塊一邊接收主控制模塊的數(shù)據(jù),一邊將數(shù)據(jù)送LCD液晶顯示屏顯示,為了方便系統(tǒng)的擴(kuò)展,各模塊之間采用串行口接收數(shù)據(jù),并且接到系統(tǒng)串行總線上。 本系統(tǒng)主要是實(shí)現(xiàn)單片機(jī)與液晶顯示模塊之間的接口技術(shù),可以采用間接控制方式完成。將液晶顯示模塊接口與單片機(jī)系統(tǒng)板中的某個(gè)并行I/O接口連接,計(jì)算機(jī)通過(guò)對(duì)該I/O接口的操作間接的實(shí)現(xiàn)對(duì)模塊的控制。 2 系統(tǒng)設(shè)計(jì)方案 此LCD液晶顯示控制系統(tǒng)設(shè)計(jì)的關(guān)鍵是要實(shí)現(xiàn)LCD的顯示控制。應(yīng)該先從顯示方式的確定入手,
7、接下來(lái)設(shè)計(jì)相應(yīng)顯示方式的電路,要實(shí)現(xiàn)顯示內(nèi)容的實(shí)時(shí)更新,就必須考慮字模數(shù)據(jù)的存儲(chǔ)及通信電路的設(shè)計(jì)。 2.1字模數(shù)據(jù)的存儲(chǔ) 由于89C51單片機(jī)內(nèi)部程序存儲(chǔ)器(ROM)只有4K空間,本設(shè)計(jì)采用1616點(diǎn)陣顯示一個(gè)漢字,每一行需要兩個(gè)字節(jié)數(shù)據(jù),一個(gè)漢字占162=32字節(jié),漢字一共有6000多個(gè),不可能將龐大的漢字字庫(kù)存入在單片機(jī)內(nèi)部,即使將預(yù)先要顯示的內(nèi)容存入ROM中,也不便于實(shí)時(shí)控制,所以只有考慮擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。 利用Windows自帶的字庫(kù)(即使用軟字庫(kù))的方式擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。通過(guò)軟件編程直接在字庫(kù)中找到需要顯示字符的區(qū)位碼并讀出其字符碼,存于一個(gè)文本文件中,待所有顯示內(nèi)容的字符
8、碼查詢完畢后,將存放所有字符碼的文本文件通過(guò)串行通信發(fā)送給單片機(jī),單片機(jī)將接收到的數(shù)據(jù)存放在外部擴(kuò)展的數(shù)據(jù)存儲(chǔ)器中,數(shù)據(jù)接收完畢后,單片機(jī)就從存儲(chǔ)器中依次讀出每一個(gè)字符的字符碼并送到LCD顯示屏顯示。該方案與方案一相比,雖然通信過(guò)程占整個(gè)顯示周期的比例相對(duì)較大,但是硬件電路設(shè)計(jì)簡(jiǎn)單,成本較低,減少了單片機(jī)查詢硬件字庫(kù)所需要的時(shí)間,提高了單片機(jī)動(dòng)態(tài)掃描的速度,字符顯示的穩(wěn)定度較高。 2.2 通信電路 串行通信是指一個(gè)數(shù)據(jù)的所有位按一定的順序和方式,一位一位地通過(guò)串行輸入/輸出口進(jìn)行傳送。由于串行通信是數(shù)據(jù)的逐位順序傳送,在進(jìn)行串行通信時(shí),只需一根傳輸線,其傳送的數(shù)據(jù)位多且通信距離長(zhǎng)。串行通信
9、方式如圖2-1。 計(jì)算機(jī)與單片機(jī)的數(shù)據(jù)通信,采用串行通信,與并行通信相比,串行通信具有傳輸距離遠(yuǎn),接口電路與軟件編程簡(jiǎn)單等特點(diǎn),所以本系統(tǒng)選用串行通信。串行通信接口電路見(jiàn)后面的硬件電路設(shè)計(jì)。 RXD TXD 89C51 GND GND TXD RXD 外 部 設(shè) 備 GND GND 圖2-1 串行通信方式 3 液晶顯示模塊簡(jiǎn)介 液晶顯示模塊單元電路主要包括顯示控制器、行驅(qū)動(dòng)器、列驅(qū)動(dòng)器、電源偏置電路、顯示存儲(chǔ)器、液晶顯示屏、液晶顯示模塊接口。 (1) 顯示控制器 主要由控制器T6963C組成,
10、可提供與外部MCU的數(shù)據(jù)接口及對(duì)顯示存儲(chǔ)器的讀寫(xiě)操作;并可控制行,列驅(qū)動(dòng)器的時(shí)序電路,數(shù)據(jù)格式和顯示格式等。 (2) 行驅(qū)動(dòng)器 由行驅(qū)動(dòng)器T6A40組成,用于把控制器的串行數(shù)據(jù)轉(zhuǎn)換成LCD屏所需要的并行行數(shù)據(jù)。 (3) 列驅(qū)動(dòng)器 由列驅(qū)動(dòng)器T6A39組成,可接受控制器的串行數(shù)據(jù)并將其轉(zhuǎn)換成LCD屏所需要的并行列數(shù)據(jù)。 (4) 電源偏置電路 主要為行、列驅(qū)動(dòng)器提供LCD所需的各種偏置電壓。 (5) 顯示存儲(chǔ)器 由一塊32K的隨機(jī)存儲(chǔ)器(RAM)組成,可為液晶顯示模塊提供顯示數(shù)據(jù)的存儲(chǔ)空間。 (6) 液晶顯示屏(LCD) 提供128行、240列的點(diǎn)陣顯示屏幕。 (7) 液晶顯示模塊
11、接口 用于提供與單片機(jī)的接口。 液晶顯示模塊的原理框圖如圖3-1。 行 驅(qū) 動(dòng) 器 行 驅(qū) 動(dòng) 器 顯 示 控 制 器 液 晶 顯 示 屏 240*128 DOTS 列 驅(qū) 動(dòng) 器 列 驅(qū) 動(dòng) 器 列 驅(qū) 動(dòng) 器 顯 示 存 儲(chǔ) 器 電 源 偏 置 液 晶 顯 示 模 塊 接 口 圖3-1 液晶顯示模塊原理框圖 3.1 顯示控制器 顯示控制器主要由T6963C組成,它由振蕩器、時(shí)序控制電路、工作方式設(shè)置寄存器及電路,內(nèi)部字符庫(kù)C
12、GROM及光標(biāo)控制電路,顯示存儲(chǔ)器管理電路以及運(yùn)算電路和各種功能電路組成??刂撇客ㄟ^(guò)振蕩器外接晶體振蕩器產(chǎn)生振蕩脈沖,經(jīng)時(shí)序控制電路調(diào)制產(chǎn)生T6963C的工作時(shí)鐘脈沖系列,根據(jù)工作方式設(shè)置電路生成各路控制及驅(qū)動(dòng)時(shí)序脈沖,從而實(shí)現(xiàn)T6963C的工作控制。其引腳圖如圖3-2。 圖3-2 T6963C引腳圖 控制部提供了使用引腳電平設(shè)置內(nèi)部工作狀態(tài)的功能,使T6963C上電后就開(kāi)始對(duì)所連接的液晶顯示驅(qū)動(dòng)系統(tǒng)進(jìn)行正常的控制及驅(qū)動(dòng)。這將避免因上電控制器尚未進(jìn)行初始化而使液晶顯示驅(qū)動(dòng)系統(tǒng)不能正常工作,導(dǎo)致液晶顯示屏上出現(xiàn)不希望的顯示狀態(tài)。 3.2驅(qū)動(dòng)方式的設(shè)置 驅(qū)動(dòng)方式是指T6963C向液晶
13、顯示驅(qū)動(dòng)系統(tǒng)傳輸顯示數(shù)據(jù)的格式。他根據(jù)所要控制的液晶顯示驅(qū)動(dòng)系統(tǒng)的數(shù)據(jù)傳輸格式的要求而定。T6963C可以實(shí)現(xiàn)四種數(shù)據(jù)傳輸格式,它由引腳和SDSEL的電平狀態(tài)設(shè)置。 : 液晶顯示器件電極排列形式的設(shè)置。 當(dāng)=1時(shí),液晶顯示器件為單屏結(jié)構(gòu);當(dāng)=0時(shí),液晶顯示器件為雙屏結(jié)構(gòu)。 SDSEL: 數(shù)據(jù)傳輸格式設(shè)置。 當(dāng)SDSEL=1時(shí),數(shù)據(jù)傳輸格式為2位并行同步傳輸;當(dāng)SDSEL=0時(shí),數(shù)據(jù)傳輸格式為1位串行傳輸。 這兩個(gè)設(shè)置引腳的電平組合確定了驅(qū)動(dòng)部中數(shù)據(jù)傳輸?shù)妮敵龆?。如?-1: SDSEL 上半屏數(shù)據(jù)傳輸線
14、 下半屏數(shù)據(jù)傳輸線 1 1 HOD,ED — 1 0 ED — 0 1 HOD,ED LOD,ED 0 0 ED ED 表3-1 3.2.1顯示窗口長(zhǎng)度設(shè)置 顯示窗口長(zhǎng)度是指T6963C所要控制的液晶顯示器件水平方向最大的像素點(diǎn)數(shù)。顯示窗口長(zhǎng)度的設(shè)置將確定了驅(qū)動(dòng)部向液晶顯示驅(qū)動(dòng)系統(tǒng)發(fā)送的顯示數(shù)據(jù)的個(gè)數(shù),不管實(shí)際控制的顯示屏的點(diǎn)陣數(shù)如何,他已固定了驅(qū)動(dòng)信號(hào)的時(shí)序關(guān)系。該設(shè)置由引腳MD3和MD2(顯示數(shù)據(jù)傳輸量設(shè)置端)的電平組合實(shí)現(xiàn),如表3-2: MD3 MD2 像素點(diǎn)數(shù) 字符數(shù) 1 1 256 32 1 0 320 40
15、0 1 512 64 0 0 640 80 表3-2 3.2.2顯示窗口寬度設(shè)置 顯示窗口寬度是指T6963C所要控制的液晶顯示器件垂直方向最大的像素點(diǎn)數(shù)。顯示窗口寬度的設(shè)置將確定了驅(qū)動(dòng)部向液晶顯示驅(qū)動(dòng)系統(tǒng)發(fā)送的幀信號(hào)時(shí)序和占空比系數(shù)。該設(shè)置由引腳MDS,MD1和MD0(顯示幀信號(hào)設(shè)置端)與設(shè)置端組合實(shí)現(xiàn),如表3-3: MDS MD1 MD0 像素點(diǎn)行數(shù) 占空比系數(shù) 1/0 0 1 1 16/32 16 1/0 0 1 0 32/64 32 1/0 0 0 1 48/96 48 1/0 0 0 0 64/128
16、64 1/0 1 1 1 80/160 80 1/0 1 1 0 96/192 96 1/0 1 0 1 112/224 112 1/0 1 0 0 128/256 128 表3-3 3.2.3顯示字符的字體設(shè)置 顯示字符的字體選擇實(shí)際上是選擇字符間距。T6963C內(nèi)部字符庫(kù)是5*8點(diǎn)陣字符字模,在垂直方向字模數(shù)據(jù)中留有一行的間距,是不可變動(dòng)的;但在水平方向字模數(shù)據(jù)將一字節(jié)的高三位作為字間距處理,即字間距可以為一點(diǎn)距,兩點(diǎn)距或三點(diǎn)距,也可以沒(méi)有。T6963C可以根據(jù)需要通過(guò)引腳FS1和FS0(字體選擇端)的電平組合來(lái)設(shè)置字符間距,這里表示為
17、字符的字體。組合設(shè)置如表3-4: FS1 1 1 0 0 FS0 1 0 1 0 字體 5*8 6*8 7*8 8*8 表3-4 字體選擇的實(shí)現(xiàn)是在顯示數(shù)據(jù)傳輸過(guò)程中將一字節(jié)的8位字模數(shù)據(jù)有選擇地傳輸幾位。比如僅取8位數(shù)據(jù)中低5位作為顯示數(shù)據(jù)傳輸而舍棄高3位,那么顯示為5*8點(diǎn)陣字體的字符;或取8位數(shù)據(jù)中低六位作為顯示數(shù)據(jù)傳輸而舍棄高2位,那么顯示為6*8點(diǎn)陣字體的字符;再或取8位數(shù)據(jù)中低7位作為顯示數(shù)據(jù)傳輸而舍棄高1位,那么顯示為7*8點(diǎn)陣字體的字符;如果8位數(shù)據(jù)全部作為顯示數(shù)據(jù)傳輸,那么顯示位8*8點(diǎn)陣字體的字符。這是在文本顯示方式下。在圖形顯示方式下
18、,則將是取舍圖形數(shù)據(jù)有效位的問(wèn)題了。 振蕩器的晶體振蕩器的選擇 振蕩器時(shí)鐘與控制器所控制的液晶顯示驅(qū)動(dòng)系統(tǒng)的驅(qū)動(dòng)幀頻(行數(shù))和數(shù)據(jù)傳輸量(列數(shù))有關(guān)。晶體的頻率F可以由下列公式計(jì)算得來(lái): F=2F=2*(8M*8N*Fr) 其中F——驅(qū)動(dòng)位移時(shí)鐘頻率,即HSCP(LSCP)的脈沖頻率; M——字符數(shù)/行,8M即最大驅(qū)動(dòng)的像素?cái)?shù)/行; N——字符行數(shù)/幀,8N即最大驅(qū)動(dòng)的像素行數(shù); Fr——液晶顯示器件所需的掃描頻率,通常為60或70Hz。 控制部的引腳設(shè)置功能使得T6963C能夠上電就能正常工作,但也給
19、T6963C通用性帶來(lái)不便,因而T6963C內(nèi)置液晶顯示模塊上。 T6963C不僅具備基本的文本顯示和圖形顯示功能,而且還具備文本屬性顯示功能,這是T6963C控制器的獨(dú)特的功能。文本屬性顯示功能是將文本顯示由通常的單字節(jié)數(shù)據(jù)處理擴(kuò)大成雙字節(jié)數(shù)據(jù)處理。在這種功能下把顯示存儲(chǔ)器區(qū)劃分為文本代碼區(qū)和文本屬性區(qū)。文本代碼區(qū)是用與存儲(chǔ)作為字符顯示的字符代碼;文本屬性區(qū)是用與存儲(chǔ)作為相應(yīng)字符顯示的字符屬性,這種屬性由文本屬性區(qū)單元中一個(gè)字節(jié)數(shù)據(jù)的低4位表示,有6種屬性。如表3-5: 文本屬性碼 字符顯示效果 d3 d2 d1 d0 0
20、 0 0 0 正向顯示,不閃爍 0 1 0 1 負(fù)向顯示,不閃爍 1 0 0 0 正向顯示,閃爍 1 1 0 1 負(fù)向顯示,閃爍 * 0 1 1 禁止顯示(正向) * 1 * 0 禁止顯示(負(fù)向) 表3-5 文本屬性區(qū)的單元與文本顯示區(qū)對(duì)應(yīng)單元組合在一起控制顯示屏上對(duì)應(yīng)的字符塊的顯示效果。例如: 文本屬性數(shù)據(jù)
21、為05H,則對(duì)應(yīng)的字符顯示效果是一個(gè)負(fù)向顯示的“0”。 字符代碼為21H,文本屬性數(shù)據(jù)為08H,則對(duì)應(yīng)的字符顯示效果是一個(gè)正向閃爍顯示的“A”。 T6963C的文本屬性功能的實(shí)現(xiàn)是以犧牲圖形顯示功能為代價(jià)的。T6963C將圖形地址指針計(jì)數(shù)器用作文本屬性區(qū)的尋址。所以文本屬性功能不能與圖形顯示功能并存。 T6963C具有顯示合成功能。它可以將文本顯示與圖形顯示通過(guò)某種合成邏輯同時(shí)在顯示屏上顯示。這種合成邏輯有邏輯“與”,邏輯“或”以及邏輯“異或”等,是通過(guò)選擇器實(shí)現(xiàn)的。T6963C還可以將顯示屏上顯示內(nèi)容“屏讀”或“屏拷貝”,這也是T6963C所獨(dú)特的功能。T6963C將傳送給液晶顯示驅(qū)動(dòng)
22、系統(tǒng)的合成數(shù)據(jù)反饋給復(fù)制電路,再由其送到數(shù)據(jù)?;驁D形顯示區(qū)。 T6963C還具有光標(biāo)控制器和光標(biāo)指針寄存器。它用與在文本顯示方式下光標(biāo)的顯示控制。光標(biāo)數(shù)據(jù)是在文本數(shù)據(jù)鎖存器處與文本字符數(shù)據(jù)合成后一起送入液晶顯示驅(qū)動(dòng)系統(tǒng)的。 T6963C控制部具有管理顯示存儲(chǔ)器和字符發(fā)生器的能力。T6963C內(nèi)置有128種5*8點(diǎn)陣的ASCI字符字模庫(kù)CGROM,字符代碼為00H~7FH。并允許在顯示存儲(chǔ)器內(nèi)開(kāi)辟一個(gè)用戶自定義字符8*8點(diǎn)陣字模庫(kù)CGROM。在使用內(nèi)部CGROM同時(shí),T6963C也可以支持CGRAM,字符代碼定義在80H~FFH。T6963C可以管理64K的顯示存儲(chǔ)器。它可以把顯示存儲(chǔ)器分為
23、文本顯示區(qū),圖形顯示區(qū),文本屬性區(qū)或自定義字符庫(kù)區(qū)等。 T6963C管理顯示存儲(chǔ)器的引腳有: ad15~ad0 輸出 16位地址總線。 d7~d0 三態(tài) 8位數(shù)據(jù)總線。 r/w 輸出 讀寫(xiě)選擇控制線。r/w=1為讀操作;r/w=0為寫(xiě)操作。 輸出 存儲(chǔ)器操作使能信號(hào)。低電平有效。 , 輸出 存儲(chǔ)器操作使能信號(hào)。在單屏結(jié)構(gòu)設(shè)置()時(shí)有效。它們的有效地址范圍是: ce0 0000H~07FFH ce1 0800H~0FFFH T6963C多用于單屏結(jié)構(gòu)的液晶顯示驅(qū)動(dòng)
24、系統(tǒng)的控制,但也具備控制雙屏結(jié)構(gòu)液晶顯示驅(qū)動(dòng)系統(tǒng)的能力。在雙屏結(jié)構(gòu)的液晶顯示驅(qū)動(dòng)系統(tǒng)的控制中,T6963C自動(dòng)將ad15地址線作為上下屏的顯示存儲(chǔ)器的分界,ad15=0的部分為上下屏的顯示存儲(chǔ)器區(qū),ad15=1為下半屏的顯示存儲(chǔ)區(qū)。計(jì)算機(jī)設(shè)置的顯示區(qū)域都在上半屏的顯示存儲(chǔ)區(qū)內(nèi),而T6963C將自動(dòng)地從相應(yīng)的下半屏的顯示存儲(chǔ)區(qū)的區(qū)域中提取下半屏的顯示數(shù)據(jù)。這樣的處理對(duì)計(jì)算機(jī)寫(xiě)入顯示數(shù)據(jù)時(shí)是比較麻煩的,這也許是T6963C少用于雙屏結(jié)構(gòu)液晶顯示驅(qū)動(dòng)控制系統(tǒng)的原因。 另外,T6963C保留了四個(gè)測(cè)試引腳,它們是測(cè)試信號(hào)輸入端T1,T2;檢測(cè)信號(hào)輸出端CH1,CH2。在T6963C的應(yīng)用是,這四個(gè)引
25、腳不必考慮。 3.3 列驅(qū)動(dòng)方式 列驅(qū)動(dòng)器T6A39是80路列驅(qū)動(dòng)器,它采用了CMOS工藝,具有低功耗、耐高壓和高速運(yùn)行等特點(diǎn)。 列驅(qū)動(dòng)器T6A39電路由兩路8*5位雙向移位寄存器、串/并轉(zhuǎn)換器及液晶顯示驅(qū)動(dòng)電路和數(shù)據(jù)位選擇寄存器、數(shù)據(jù)方向控制器、驅(qū)動(dòng)時(shí)序控制器、LCD偏壓電路組成。 8*5位雙向移位寄存器的作用是把接收到的串行數(shù)據(jù)轉(zhuǎn)換成符合要求的并行數(shù)據(jù),并傳遞給兩組液晶顯示驅(qū)動(dòng)電路。 液晶顯示驅(qū)動(dòng)電路的作用是在LCD偏壓電路供給的偏置電路下,將得到的80位并行數(shù)據(jù)轉(zhuǎn)換成LCD所需的并行輸出數(shù)據(jù)信號(hào)電平。 T6A39的數(shù)據(jù)輸入端為DI1、DI2、DI3、DI4。T6A39的數(shù)據(jù)接
26、受形式有三種:一位串行、二位并行和四位并行方式。這三種方式通過(guò)設(shè)置端DUAL,DIR和DF1、DF2的電位組合設(shè)置。 T6A39還有兩個(gè)數(shù)據(jù)接收使能信號(hào)EI01、EI02,正脈沖信號(hào)有效,它們中之一作為輸入端啟動(dòng)本片數(shù)據(jù)接收工作,另一個(gè)作為輸出表示本片數(shù)據(jù)接收已滿,停止接收工作,這兩個(gè)信號(hào)作為級(jí)聯(lián)信號(hào)使用,即作為輸入的一端與上一級(jí)的輸出端連接,由上一級(jí)數(shù)據(jù)接收已滿信號(hào)啟動(dòng)本級(jí)工作,作為輸出的一端與下一級(jí)的輸入端連接,本級(jí)數(shù)據(jù)接收已滿,停止接收工作,發(fā)出信號(hào)以啟動(dòng)下一級(jí)的工作。 當(dāng)幾片T6A39級(jí)聯(lián)使用時(shí),第一片T6A39的數(shù)據(jù)接收使能信號(hào)EI01和EI02中作為輸入端的那個(gè)信號(hào)需與T696
27、3C的LP信號(hào)相連。 列驅(qū)動(dòng)器T6A39工作原理如下:首先設(shè)置好數(shù)據(jù)位選擇電路、數(shù)據(jù)方向控制電路、驅(qū)動(dòng)時(shí)序控制電路,當(dāng)數(shù)據(jù)由數(shù)據(jù)輸入端DI1、DI2、DI3、DI4輸入到串/并轉(zhuǎn)換器后,該電路將等待接收滿8位后把數(shù)據(jù)并行地移入8*5位雙向移位寄存器內(nèi),然后在LP與FR信號(hào)的作用下通過(guò)液晶顯示驅(qū)動(dòng)電路將數(shù)據(jù)輸出。 3.4 行驅(qū)動(dòng)方式 行驅(qū)動(dòng)器T6A40是68路行驅(qū)動(dòng)器,它采用CMOS工藝,具有低功耗、耐高壓和高速運(yùn)行等特點(diǎn) 行驅(qū)動(dòng)器T6A40電路由兩路34位雙向移位寄存器、數(shù)據(jù)方向控制器、SCP極性控制器、液晶顯示驅(qū)動(dòng)電路及LCD偏壓電路組成。 行驅(qū)動(dòng)器T6A40片內(nèi)有兩個(gè)34位雙向移
28、位寄存器,串行數(shù)據(jù)可從DI01和DI02兩個(gè)端子輸入或輸出。 數(shù)據(jù)方向控制器根據(jù)單/雙屏選擇端子DUAL和流向選擇端子DIR邏輯電平產(chǎn)生流向控制信號(hào)。 SCP極性控制器產(chǎn)生SCP信號(hào),由觸發(fā)方式選擇端子TSW來(lái)控制SCP的有效觸發(fā)方式:當(dāng)TSW=0時(shí),數(shù)據(jù)在SCP的上升沿輸出至驅(qū)動(dòng)輸出端;當(dāng)TSW=1時(shí),數(shù)據(jù)在SCP的的下降沿輸出至驅(qū)動(dòng)輸出端。 行驅(qū)動(dòng)器T6A40 工作原理如下:兩個(gè)34位雙向移位寄存器產(chǎn)生的兩個(gè)34位并行數(shù)據(jù)將輸出到兩個(gè)LCD驅(qū)動(dòng)電路中,并在LCD偏壓電路作用下產(chǎn)生68位并行LCD行輸出信號(hào),最后加到LCD屏的行輸入端。
29、 4 硬件設(shè)計(jì) 4.1硬件電路設(shè)計(jì)要求 (1)控制液晶顯示模塊實(shí)現(xiàn)英文、漢字、圖形、及圖像的顯示。 (2)實(shí)現(xiàn)便攜式設(shè)計(jì)。 (3)可提供實(shí)現(xiàn)與計(jì)算機(jī)的數(shù)據(jù)傳輸?shù)慕涌陔娐贰? 4.2 總體電路設(shè)計(jì)構(gòu)架 單片機(jī)系統(tǒng)板主要由單片機(jī)、EPROM、電源電路、RS232接口電路及液晶顯示模塊接口組成。其電路原理框圖如圖4-1: 電 源 電 路 單 片 機(jī) RS232接口電路 EPROM 液晶顯示模塊接口 圖4-1 總電路原理框圖 單片機(jī)系統(tǒng)板的功能是控制液晶顯示模塊進(jìn)行顯
30、示,它的特點(diǎn)是采用了7805整流電源電路為系統(tǒng)板提供5V電壓,可實(shí)現(xiàn)便攜式設(shè)計(jì),另外系統(tǒng)板還配備了一個(gè)RS232接口,可以實(shí)現(xiàn)與計(jì)算機(jī)的數(shù)據(jù)傳輸。 4.3 單片機(jī)與液晶顯示模塊接口 單片機(jī)與液晶顯示模塊接口的通信這里采用間接訪問(wèn)方式。間接控制方式是將內(nèi)置T6963C控制器的液晶顯示模塊與計(jì)算機(jī)系統(tǒng)中某個(gè)并行I/O接口連接,計(jì)算機(jī)通過(guò)對(duì)該I/O接口的間接操作來(lái)實(shí)現(xiàn)對(duì)模塊的控制。間接控制方式在硬件電路上需要一個(gè)8位并行接口與模塊的數(shù)據(jù)線連接,作為數(shù)據(jù)總線,還需要一個(gè)3位并行接口作為時(shí)序控制信號(hào)線如89C51的P3.2作為C/D,P3.3作為WR,以及P3.4作為RD。由于使用了專用的并行接口連
31、接模塊,而且該并行接口自身在計(jì)算機(jī)系統(tǒng)中有相應(yīng)的片選地址,所以模塊的片選信號(hào)可以直接接地作選通態(tài),間接控制方式的接口電路與時(shí)序無(wú)關(guān),時(shí)序完全靠軟件編程實(shí)現(xiàn)。計(jì)算機(jī)間接控制方式下與內(nèi)置T6963C控制器的液晶顯示模塊的實(shí)用接口電路如下所示。模塊的V0端所接的電位器是作為液晶驅(qū)動(dòng)電源的調(diào)節(jié)器,調(diào)節(jié)顯示的對(duì)比度。間接接口電路如圖4-2: 圖4-2 間接接口電路 4.4 單片機(jī)與計(jì)算機(jī)的通信接口 單片機(jī)與計(jì)算機(jī)的通信采用簡(jiǎn)化三線的串行通信方式,即把單片機(jī)的發(fā)送端TXD直接和計(jì)算機(jī)的接收端RXD相連,接收端RXD直接和計(jì)算機(jī)的發(fā)送端TXD相連,但是單片機(jī)的+5V TTL信號(hào)電平與PC機(jī)的10
32、V信號(hào)電平不相容,所以必須進(jìn)行電平轉(zhuǎn)換,本設(shè)計(jì)中采用MAXIM公司生產(chǎn)的MAX232芯片,MAX232包含兩路接收器和驅(qū)動(dòng)器,適用于各種EIA232C和V2.28/V.24的通信接口。MAX232芯片內(nèi)部有一個(gè)電源電壓變換器,可以把輸入的+5V電源電壓變換成為RS-232C輸出電平所需的10V電壓,所以,采用此芯片接口的串行通信系統(tǒng)只需要單一的+5V電源就可以了。不像傳統(tǒng)的RS232電平轉(zhuǎn)換器發(fā)送器MC1488和接收器MC1489那樣必須提供額外的+12V和-12V電源。MAX232芯片引腳圖如圖4-3: 圖4-3 MAX232引腳圖 圖4-4 MAX232串
33、行接口電路 此通信接口電路,只用了MAX232芯片中的一路接收器和驅(qū)動(dòng)器,接至PC機(jī)串口的接口使用RS-232標(biāo)準(zhǔn)的DB9芯接插座。MAX232CPE接線也非常簡(jiǎn)單,只需要-5V電源,外接四只電容,即可產(chǎn)生+12V和-12V電壓,輸出標(biāo)準(zhǔn)的RS232接口信號(hào)。而且MAX232CPE的價(jià)格不貴,所以采用MAX232CPE接口芯片實(shí)現(xiàn)RS232接口電路。其接口電路如圖4-4。 4.5 電源電路 電源電路是由電源變壓器,整流,濾波和穩(wěn)壓電路等四部分組成。電源變壓器是將交流電網(wǎng)220V的電壓變?yōu)樗枰碾妷褐?然后通過(guò)整流電路交流電壓變?yōu)槊}動(dòng)的直流電壓。由于此脈動(dòng)的直流電壓還含有較大的波紋,必須
34、通過(guò)濾波電路加以濾除,從而得到平滑的直流電壓。但這樣的電壓還隨電網(wǎng)電壓波動(dòng)(一般有10%左右的波動(dòng)),負(fù)載和溫度的變化而變化.因而在整流,濾波之后,還需接穩(wěn)壓電路。穩(wěn)壓電路的作用是當(dāng)電網(wǎng)電壓波動(dòng),負(fù)載和溫度變化是,維持輸出直流電壓穩(wěn)定。電源電路如圖4-5: 圖4-5 電源電路 5 系統(tǒng)軟件設(shè)計(jì) 5.1 內(nèi)置T6963C控制器軟件特性 由于T6963C使用了硬件初始化設(shè)置,所以使得其指令功能集中于顯示功能的設(shè)置上,從而加強(qiáng)了T6963C的顯示控制能力。 指令狀態(tài)啟動(dòng) 狀態(tài)檢查 寫(xiě)參數(shù)1(低8位) 寫(xiě)指令 狀態(tài)檢查 寫(xiě)參數(shù)2(高8位) 狀態(tài)檢查 結(jié) 束 初始化
35、 清 零 定入顯示數(shù)據(jù) 狀態(tài)讀取 狀態(tài)檢測(cè) 寫(xiě)指令(讀數(shù)據(jù)) T6963C模塊的控制指令可帶1個(gè)或2個(gè)參數(shù),或無(wú)參數(shù)。每條指令的執(zhí)行都是先送入?yún)?shù),再送入指令代碼。而且當(dāng)向T6963C中讀、寫(xiě)數(shù)據(jù)或向其中寫(xiě)入命令時(shí),必須嚴(yán)格遵循T6963C的時(shí)序。如果所送參數(shù)多于規(guī)定個(gè)數(shù),以最后送入的有效。每次操作之前必須先進(jìn)行狀態(tài)字檢測(cè)。顯示過(guò)程流程圖如圖5-1: 圖5-1 顯示過(guò)程流程圖 圖5-2 雙參數(shù)指令傳輸流程圖 以上每一步驟又要完成以下流程:對(duì)于無(wú)參數(shù)或自動(dòng)
36、指令,以上過(guò)程只需1次,單參數(shù)指令需兩次,而雙參數(shù)指令則需進(jìn)行3次(前2次傳參數(shù),最后傳指令)。圖5-2以雙參數(shù)指令為例給出其指令傳輸過(guò)程。 液晶顯示模塊指令說(shuō)明如下: (1)讀狀態(tài)字 S7 S6 S5 S4 S3 S2 S1 S0 格式 T6963C的狀態(tài)字由七位標(biāo)志位組成,它們是: S0 指令讀寫(xiě)狀態(tài) 1:準(zhǔn)備好 0:忙 S1 數(shù)據(jù)讀寫(xiě)狀態(tài) 1:準(zhǔn)備好 0:忙 S2 數(shù)據(jù)自動(dòng)讀狀態(tài) 1:準(zhǔn)備好 0:忙 S3 數(shù)據(jù)自動(dòng)寫(xiě)狀態(tài)
37、 1:準(zhǔn)備好 0:忙 S4 未用 S5 控制器運(yùn)行檢測(cè)可能性 1:可能 0:不能 S6 屏讀/屏拷貝出錯(cuò)狀態(tài) 1:出錯(cuò) 0:正確 S7 閃爍狀態(tài)檢測(cè) 1:顯示 0:關(guān)顯示 (2)地址指針設(shè)置 0 0 1 0 0 N2 N1 N0 格式 D1 D2 該指令為雙參數(shù)(D1,D2)指令。指令代碼中的N1,N2,N0取值”1”為有效,”0”為無(wú)效,而且不能同時(shí)為”1”,根據(jù)N的取值,該指令有三種含義,如表5-1:
38、D1 D2 指令代碼 功能 水平位置(低7位有效) 垂直位置(低5位有效) 21H(N0=1) 光標(biāo)地址設(shè)置 偏置地址(低5位有效) 00H 22H(N1=1) CGRAM偏置地址 低字節(jié) 高字節(jié) 24H(N2=1) 顯示地址設(shè)置 表5-1 (3)顯示區(qū)域設(shè)置 0 1 0 0 0 0 N1 N0 格式 D1 D2 該指令是雙參數(shù)指令,它將在顯示存儲(chǔ)器內(nèi)劃分出各顯示區(qū)域的范圍。它是由設(shè)定顯示區(qū)域的首地址和寬度來(lái)確定該顯示區(qū)域的范圍,同時(shí)也確定了顯示存儲(chǔ)器單元與顯示屏上各點(diǎn)像素的對(duì)應(yīng)關(guān)系。該指令中N1
39、,N0有四種組合,每種組合有不同的含義。具體功能參見(jiàn)表5-2: N1 N0 D1 D0 指令代碼 功能 0 0 低字節(jié) 高字節(jié) 40H 文本顯示區(qū)首地址 0 1 字節(jié)數(shù) 00H 41H 文本顯示寬度 1 0 低字節(jié) 高字節(jié) 42H 圖形顯示區(qū)首地址 1 1 字節(jié)數(shù) 00H 43H 圖形顯示區(qū)寬度 表5-2 (4)顯示方式設(shè)置 1 0 0 0 CG N2 N1 N0 格式 該指令為顯示方式的設(shè)置,無(wú)參數(shù)。它的幾個(gè)設(shè)置位功能如下:
40、 CG位 字符發(fā)生器選擇位。 當(dāng)CG=0時(shí),啟用內(nèi)部字符發(fā)生器CGROM,該字符庫(kù)有128種字符,其代碼為00H~7FH;同時(shí)可以建立128種88點(diǎn)陣的自定義字符發(fā)生器CGRAM,其字符代碼規(guī)定在80H~FFH范圍內(nèi); 當(dāng)CG=1時(shí),禁止內(nèi)部CGROM,字符顯示完全取自自定義字符發(fā)生器CGRAM,該字符庫(kù)為2K字節(jié)容量,字符代碼為00H~FFH。 N2,N1,N0位為顯示方式設(shè)置位,它們的組合產(chǎn)生的顯示方式如表5-3: N2 N2 N0 顯示方式 說(shuō)明 0 0 0 邏輯“或” 文本與圖形以邏輯“或”的關(guān)系合成顯示 0
41、 0 1 邏輯“異或” 文本與圖形以邏輯“異或”的關(guān)系合成顯示 0 1 1 邏輯“與” 文本與圖形以邏輯“與”的關(guān)系合成顯示 1 0 0 文本屬性 文本顯示特征以雙字節(jié)表示 表5-3 (5)顯示狀態(tài)設(shè)置 1 0 0 1 N3 N2 N1 N0 格式 該指令設(shè)置了當(dāng)前的顯示狀態(tài),無(wú)參數(shù)。該指令有4個(gè)設(shè)置位,每一位都代表一種顯示狀態(tài)的設(shè)置,它們可以同時(shí)有效,也可以部分有效,也可以都無(wú)效。這4個(gè)設(shè)置位的功能如下: N0 光標(biāo)閃爍設(shè)置開(kāi)關(guān) N0=1為啟用光標(biāo)閃爍;N=0為禁止光標(biāo)閃爍
42、。 N1 光標(biāo)顯示設(shè)置開(kāi)關(guān) N0=1為啟用光標(biāo)顯示;N=0為禁止光標(biāo)顯示。 N2 文本顯示設(shè)置開(kāi)關(guān) N0=1為啟用文本顯示;N=0為禁止文本顯示。 N3 圖形顯示設(shè)置開(kāi)關(guān) N0=1為啟用圖形顯示;N=0為禁止圖形顯示。 (6)數(shù)據(jù)自動(dòng)讀寫(xiě)設(shè)置 1 0 1 1 0 0 N1 N0 格式 使用該指令將進(jìn)入或退出數(shù)據(jù)的自動(dòng)讀或自動(dòng)寫(xiě)方式。在自動(dòng)讀或自動(dòng)寫(xiě)方式中,計(jì)算機(jī)可以連續(xù)的將顯示數(shù)據(jù)寫(xiě)入顯示存儲(chǔ)器中或從顯示存儲(chǔ)器中讀取數(shù)據(jù)。在每次讀或?qū)懙牟僮骱螅@示地址自動(dòng)加一。進(jìn)入自動(dòng)讀方式或自動(dòng)寫(xiě)方式時(shí),狀態(tài)位
43、將由S2(自動(dòng)讀方式)或S3(自動(dòng)寫(xiě)方式)代替S1和S0。在自動(dòng)讀或自動(dòng)寫(xiě)方式完成時(shí)要輸入退出自動(dòng)讀寫(xiě)方式命令。在自動(dòng)讀寫(xiě)方式中寫(xiě)入其他指令都是無(wú)效的。 該指令中有兩位設(shè)置位N1,N0。這兩位將產(chǎn)生三個(gè)子指令,如表5-4: N1 N0 指令代碼 功 能 0 0 B0H 進(jìn)入自動(dòng)寫(xiě)方式 0 1 B1H 進(jìn)入自動(dòng)讀方式 1 * B2H/B3H 進(jìn)入自動(dòng)讀寫(xiě)狀態(tài) 表5-4 (7)數(shù)據(jù)一次讀寫(xiě)設(shè)置 1 1 0 0 0 N2 N1 N0 格式
44、 該指令是一次讀寫(xiě)數(shù)據(jù)操作指令。在每次讀寫(xiě)數(shù)據(jù)操作后,顯示地址都要根據(jù)指令代碼的設(shè)置而修正:加一,減一或不變。該指令在寫(xiě)入數(shù)據(jù)時(shí)所帶的一個(gè)參數(shù)就是所要寫(xiě)入的顯示數(shù)據(jù)。當(dāng)讀數(shù)據(jù)操作時(shí),該指令不帶參數(shù),直接寫(xiě)入指令代碼。該指令有三個(gè)設(shè)置位N2,N1,N0。它們的組合功能如表5-5: 參數(shù)D1 N2 N1 N0 指令代碼 功 能 數(shù)據(jù) 0 0 0 C0H 數(shù)據(jù)寫(xiě),地址加一 — 0 0 1 C1H 數(shù)據(jù)讀,地址加一 數(shù)據(jù) 0 1 0 C2H 數(shù)據(jù)寫(xiě),地址減一 — 0 1 1 C3H 數(shù)據(jù)讀,地址減一
45、 數(shù)據(jù) 1 0 0 C4H 數(shù)據(jù)寫(xiě),地址不變 — 1 0 1 C5H 數(shù)據(jù)讀,地址不變 表5-5 5.2初始化子程序設(shè)計(jì) 初始化部分包括對(duì)液晶顯示模塊的初始化設(shè)置、液晶顯示模塊的顯示RAM清零、單片機(jī)內(nèi)部RAM的清零。其中液晶顯示模塊的初始化設(shè)置包括設(shè)置顯示方式、顯示區(qū)域的首地址及寬度、光標(biāo)形狀設(shè)置。 開(kāi) 始 設(shè)置文本顯示區(qū)首地址 設(shè)置文本顯示區(qū)寬度 設(shè)置圖形顯示區(qū)首地址 設(shè)置文本屬性區(qū)首地址 設(shè)置圖形顯示區(qū)寬度 設(shè)置文本屬性區(qū)寬度 光標(biāo)形狀設(shè)置 顯示方式設(shè)置 顯示開(kāi)關(guān)設(shè)置 結(jié) 束 初始化子程序流程圖如圖5-3:
46、 圖5-3 初始化子程序流程圖 5.3 串行通信子程序設(shè)計(jì) 單片機(jī)與PC機(jī)之間的串行通信主要包括兩個(gè)過(guò)程:由8051傳送數(shù)據(jù)至PC機(jī);8051接收PC機(jī)傳來(lái)的數(shù)據(jù)。 串行通信子程序流程圖如圖5-4: 開(kāi) 始 通信初始化 等待PC機(jī)傳送數(shù)據(jù) 判斷收到的是否是數(shù)據(jù)起始標(biāo)志 開(kāi)始接收數(shù)據(jù),判斷是否結(jié)束標(biāo)志 中斷返回 繼續(xù)接收數(shù)據(jù) Y Y N N 圖5-4 串行通信子程序流程圖 5.4 顯示控制子程序設(shè)計(jì) 顯示應(yīng)用程序部分主要
47、是單獨(dú)的顯示子程序,通過(guò)一個(gè)單獨(dú)的按鍵進(jìn)行控制,按一次按鍵執(zhí)行一個(gè)顯示子程序,顯示完最后一個(gè)顯示子程序,自動(dòng)回到第一個(gè)顯示子程序,實(shí)現(xiàn)循環(huán)顯示。 顯示子程序包括漢字、圖形及圖象的顯示,并且實(shí)現(xiàn)了漢字的平移和圖形的動(dòng)態(tài)顯示。其中漢字的平移是通過(guò)執(zhí)行一個(gè)定時(shí)中斷程序來(lái)不斷改變顯示區(qū)域的首地址實(shí)現(xiàn)的,由于顯示區(qū)域的首地址是與液晶顯示模塊的顯示RAM單元的每一字節(jié)相對(duì)應(yīng)的,首地址加一意味著顯示RAM單元的一個(gè)字節(jié)的改變,在黑白模式下即對(duì)應(yīng)著八個(gè)像素的改變,所以在顯示屏上漢字的平移是跳躍式的,間距為八個(gè)像素點(diǎn);而圖形的平移是通過(guò)顯示控制器T6963C的位操作指令實(shí)現(xiàn)的,該位操作指令可以實(shí)現(xiàn)對(duì)顯示屏每一
48、像素點(diǎn)的亮暗操作,因而可以實(shí)現(xiàn)圖形的平滑移動(dòng)。 顯示的子程序通過(guò)指針從數(shù)據(jù)庫(kù)中逐個(gè)提取數(shù)據(jù)送如液晶顯示模塊的顯示RAM進(jìn)行顯示。數(shù)據(jù)庫(kù)中的數(shù)據(jù)為要顯示的內(nèi)容,此漢字字模提取軟件不僅可以提取漢字字模的十六進(jìn)制數(shù)據(jù),而且可以提取圖象的十六進(jìn)制數(shù)據(jù)。 開(kāi)始 計(jì)算圖形顯示RAM 地址 圖形顯示區(qū)寬度 圖形顯示區(qū)首地址 計(jì)算漢字庫(kù)字符首地址 設(shè)置顯示RAM地址 取字庫(kù)地址指針 取字模數(shù)據(jù) 寫(xiě)入數(shù)據(jù) 結(jié)束 圖5-6 文本顯示圖形流程圖 開(kāi)始 始 計(jì)算顯示RAM地址 文本顯示區(qū)首地址 設(shè)置顯示RAM地址 取漢字代碼 寫(xiě)入漢字代碼 結(jié)束 圖5-5 文本顯
49、示漢字流程圖 6系統(tǒng)調(diào)試 6.1 分步調(diào)試 6.1.1 LCD液晶顯示電路調(diào)試顯示 硬件電路設(shè)計(jì)及軟件設(shè)計(jì)好之后進(jìn)行各模塊的調(diào)試,首先調(diào)試字符顯示部分,單片機(jī)的調(diào)試使用TOPICE52單片機(jī)仿真器。 采用直接查字符碼表顯示的辦法,將要顯示漢字的字符碼直接寫(xiě)在單片機(jī)程序中,編程時(shí)先將程序存貯區(qū)中的字符碼全部轉(zhuǎn)移到系統(tǒng)擴(kuò)展的數(shù)據(jù)存貯器6264中,然后從6264中查找字符碼并輸出顯示。 6.1.2 計(jì)算機(jī)串行口調(diào)試 首先利用“串口精靈”串口調(diào)試軟件,檢查計(jì)算機(jī)串口的數(shù)據(jù)收發(fā)功能是否有效,具體方法是:將
50、從串口接出的DB9芯電纜插頭的第2、3腳短接(即將串口的數(shù)據(jù)發(fā)送和接收端短接),然后打開(kāi)“串口精靈”軟件,在發(fā)送窗口中輸入一串要發(fā)送的字符或數(shù)據(jù),并將這些字符或數(shù)據(jù)發(fā)送出去,在數(shù)據(jù)接收窗口中觀察接受的到的字符或數(shù)據(jù)是否與發(fā)送的一致。 硬件調(diào)試完成后,利用同樣的辦法調(diào)試自己在PC機(jī)上編寫(xiě)的通信程序。 6.1.3 計(jì)算機(jī)與單片機(jī)通信電路調(diào)試 因?yàn)閱纹瑱C(jī)的通信已經(jīng)調(diào)試完成,將計(jì)算機(jī)與單片機(jī)相連之后調(diào)試也就是調(diào)試單片機(jī)的數(shù)據(jù)收發(fā)功能。編制程序使二者之間互相發(fā)送數(shù)據(jù),在TOPICE52仿真軟件的數(shù)據(jù)窗口和計(jì)算機(jī)屏幕中監(jiān)視接收的數(shù)據(jù)。 6.2 系統(tǒng)統(tǒng)一調(diào)試 經(jīng)過(guò)以上每一步的調(diào)試并都成功
51、后,就可以將硬件及軟件結(jié)合起來(lái)進(jìn)行系統(tǒng)的統(tǒng)一調(diào)試。 經(jīng)過(guò)以上步驟調(diào)試,將計(jì)算機(jī)程序燒錄到89C51單片機(jī)內(nèi)部ROM中,用屏蔽線將液晶顯示系統(tǒng)與計(jì)算機(jī)串行口連接起來(lái),就能實(shí)現(xiàn)計(jì)算機(jī)對(duì)LCD顯示屏的實(shí)時(shí)控制,可以實(shí)時(shí)更新顯示內(nèi)容、顯示方式。 6.3仿真及結(jié)果 在C8051F020系統(tǒng)實(shí)驗(yàn)箱上的液晶顯示屏上,我實(shí)現(xiàn)了這些動(dòng)態(tài)顯示功能,特設(shè)計(jì)了以下幾個(gè)顯示場(chǎng)景: (1)場(chǎng)景一: 第一個(gè)場(chǎng)景是在液晶顯示屏上靜態(tài)顯示位圖,如圖6.1所示: 圖6.1 位圖上下滾動(dòng) 在這個(gè)場(chǎng)景中,是對(duì)位圖128*64的模仿上下滾動(dòng)。 (2)場(chǎng)景二
52、 第二個(gè)場(chǎng)景是圖形動(dòng)態(tài)顯示模擬,它們是從左向右推出的,一直移動(dòng)到顯示屏最右端。具體如圖6.2所示: 圖6.2 位圖右移 (3)場(chǎng)景三 第三個(gè)場(chǎng)景是靜態(tài)顯示一幅位圖如圖6.3 圖6.3 位圖顯示 (4)場(chǎng)景四 這個(gè)場(chǎng)景是實(shí)現(xiàn)對(duì)字符的動(dòng)態(tài)顯示如圖6.4。用的是“湖南”與“湘”這三個(gè)漢字來(lái)模仿的。讓“湖南”兩個(gè)字縱向排列,從右向左移動(dòng);“湘”字從上下落到液晶屏的底部。在這些場(chǎng)景中,液晶顯示屏上顯示的漢字,把它當(dāng)作圖形來(lái)顯示的,漢字和圖形的字模我是借助字模軟件取
53、模的,并沒(méi)有自己去設(shè)計(jì)漢字和圖形的字模。當(dāng)然這樣做省了不少的事,就我個(gè)人來(lái)看,把大量的時(shí)間分配在接口的編程上和如何利用C語(yǔ)言實(shí)現(xiàn)接口是更有價(jià)值的。 圖6.4 字符串移動(dòng) 由于這種型號(hào)液晶屏的觀察角度不同,一般采用成45度的角度來(lái)觀察為最好,直視比較黑而且圖像不明顯,所以在系統(tǒng)仿真實(shí)驗(yàn)中,沒(méi)有取到最佳圖形。 心得體會(huì) 本系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,基本達(dá)到了預(yù)期的目的與要求。但是在系統(tǒng)的調(diào)試方面還不夠健全。還存在諸如:顯示內(nèi)容的單一,亮度不夠、動(dòng)態(tài)顯示效果不明顯等問(wèn)題需要再次改進(jìn)。本系統(tǒng)主要應(yīng)用單片機(jī)進(jìn)行控制,利用程序來(lái)實(shí)現(xiàn)漢字的顯示,這就要運(yùn)用到漢字庫(kù),但是在漢字庫(kù)中只
54、是收集了一些常用的漢字,對(duì)于一些生僻的漢字還沒(méi)有收錄,這就意味著如果要顯示一些生僻的漢字就必須自己重新創(chuàng)建漢字庫(kù),這必然就帶來(lái)了一定的難度。在現(xiàn)階段,由于知識(shí)和時(shí)間有限,自己創(chuàng)建漢字庫(kù)就有一定的困難,如何才能更方便快捷的創(chuàng)建漢字庫(kù),這需要繼續(xù)研究和探討。 在整個(gè)過(guò)程中,本人不僅對(duì)LCD控制系統(tǒng)的每一個(gè)細(xì)節(jié)有了比較深入的掌握,而且對(duì)關(guān)于系統(tǒng)擴(kuò)展的相關(guān)知識(shí)有了感性的認(rèn)識(shí),不僅掌握了大量的專業(yè)知識(shí),更學(xué)會(huì)了系統(tǒng)模塊設(shè)計(jì)的基本思想。 在整個(gè)設(shè)計(jì)過(guò)程中誠(chéng)摯的感謝李建英老師的親切指導(dǎo)以及幫助才使我的課程設(shè)計(jì)得以順利的進(jìn)行??傊ㄟ^(guò)本次課題的設(shè)計(jì),本人在理論知識(shí)方面和思想方面都有很大的收獲。
55、 參考文獻(xiàn) [1]李維緹,郭強(qiáng).液晶顯示器件應(yīng)用技術(shù)[M].北京:北京郵電學(xué)院出版社,1993 [2]內(nèi)藏T6963C控制器點(diǎn)陣圖形式液晶顯示模塊使用手冊(cè)[J].南京國(guó)顯電子公司 [3]賴麒文.8051單片機(jī)C語(yǔ)言徹底應(yīng)用[M].北京:科學(xué)出版社,2002 [4]何立民,張俊謨.單片機(jī)中級(jí)教程原理與應(yīng)用[M].北京:航空航天大學(xué)出版社,1999. [5]陳明熒.8051單片機(jī)課程設(shè)計(jì)實(shí)訓(xùn)教材[M].北京:清華大學(xué)出版社,2003. [6]趙志海.液晶顯示器及其應(yīng)用[J].國(guó)際光電與顯示.2001. [7]永勝.LCD模塊用電源電路[J].電訊技術(shù),1995. [8]范志新.
56、液晶器件工藝基礎(chǔ)[M].北京:北京郵電大學(xué)出版社,2000. [9]楊澤民,劉培興等.液晶顯示器原理與應(yīng)用[J].大連東顯電子有限公司 [10]李錦飛.點(diǎn)陣式液晶顯示器圖形程序設(shè)計(jì)[J].電子技術(shù)應(yīng)用,1993 [11]劉復(fù)華.8098單片機(jī)及其應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,1992 [12]高傳善.接口與通信[M].上海:復(fù)旦大學(xué)出版社,1989 [13]李振亭.點(diǎn)陣圖形式液晶顯示控制器T6963C的應(yīng)用[J].電子技術(shù)應(yīng)用,1994 [14] 張毅剛、劉杰主編.《MCS-51單片機(jī)原理及應(yīng)用》[M].黑龍江:哈爾濱工業(yè)大學(xué)出版社,2004.6,第1版. [15]馬
57、忠梅等.單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì).北京:北京航空航天大學(xué)出版社,2001 [16]王建校.51系列單片機(jī)及C51程序設(shè)計(jì)[M].北京:科學(xué)出版社,2002 [17]何立明.《單片機(jī)實(shí)驗(yàn)與實(shí)踐教程(二)》[M].北京:北京航空航天大學(xué)出版社,2001.6. [18] 康華光主編.電子技術(shù)基礎(chǔ)〔M〕,第4版.北京:高等教育出版社,1999 附 錄 參考程序: LCD初始化: void InitLCD(void) //初始化LCD { char i,j; LCD_RST=0; Delay1ms(1); LCD_RST=1; LCD_WriteCommand1
58、(0xc0); LCD_WriteCommand2(0xc0); LCD_WriteCommand1(0x3f); //開(kāi)顯示 LCD_WriteCommand2(0x3f); for (j=0;j<8;j++) //清屏 { LCD_WriteCommand1(0xB8+j); //清左半屏 LCD_WriteCommand1(0x40); for (i=0;i<64;i++) LCD_WriteData1(0x00); LCD_WriteCommand2(0xB8+j); //清右半屏 L
59、CD_WriteCommand2(0x40); for (i=0;i<64;i++) LCD_WriteData2(0x00); } } 單個(gè)漢字顯示: void LCD_Write_A_HZ(char x,char y,char *Dot) //顯示16*16點(diǎn)陣漢字 { char i; for (i=0;i<32;i++) { if ((x+i%16)<64) { LCD_WriteCommand1(0xB8+y+i/16); LCD_WriteCommand1(0x40+x+i%16); LCD_WriteData1(Dot[
60、i]); } else { LCD_WriteCommand2(0xB8+y+i/16); LCD_WriteCommand2(0x40+x-64+i%16); LCD_WriteData2(Dot[i]); } } } 靜態(tài)顯示一幅位圖: void DispBmp(char *buf) //顯示一幅位圖 { int i,j; for (j=0;j<8;j++) //顯示位圖 { LCD_WriteCommand1(0xB8+j);
61、 LCD_WriteCommand1(0x40); for (i=0;i<64;i++) LCD_WriteData1(buf[(j*2)*64+i]); LCD_WriteCommand2(0xB8+j); LCD_WriteCommand2(0x40); for (i=0;i<64;i++) LCD_WriteData2(buf[(j*2+1)*64+i]); } } 位圖上下滾動(dòng)實(shí)現(xiàn): Void DispBm
62、p_Roll(char *buf) { char *Buffer; int i; Buffer=buf; DispBmp(Buffer); for (i=0;i<64;i++) { Delay1ms(50); LCD_WriteCommand1(0xc0+i%64); //設(shè)置起始行,實(shí)現(xiàn)向上滾動(dòng) LCD_WriteCommand2(0xc0+i%64); } } 位圖從左到右移動(dòng)實(shí)現(xiàn): void DispBmp_Move(char *buf) //左右移動(dòng)一幅位
63、圖 { int line,line0,row,eight; //顯示位圖 for (row=0;row<128;row++) { Delay1ms(50); for (eight=0;eight<8;eight++) { if (row<64) { LCD_WriteCommand1(0xB8+eight); LCD_WriteCommand1(0x40+row); for (l
64、ine=0;line+row<64;line++) LCD_WriteData1(buf[(eight*2)*64+line]); LCD_WriteCommand2(0xB8+eight); LCD_WriteCommand2(0x40); for (line0=0;line0+row<64;line0++) LCD_WriteData2(buf[(eight*2)*64+line+line0]); } else { LCD_WriteCommand2(0xB8+eight); LCD_WriteCommand2(0x40+row-64); for (line0=0;line0+row-64<64;line0++) LCD_WriteData2(buf[(eight*2)*64+line0]); } } } }
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案