版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p> 基于單片機的LCD顯示器的設(shè)計</p><p> 專 業(yè): 電子信息技術(shù)與科學(xué) </p><p> 指導(dǎo)教師: </p><p> 學(xué)生姓名:
2、 </p><p> 學(xué)生學(xué)號: </p><p><b> 目錄</b></p><p><b> 摘要II</b></p><p> AbstractIII</p><p><b> 第一章 緒論1
3、</b></p><p> 1.1 歷史背景及應(yīng)用領(lǐng)域1</p><p> 1.2 課題意義2</p><p> 第二章 單片機的結(jié)構(gòu)及應(yīng)用3</p><p> 2.1 單片機3</p><p> 2.2 單片機應(yīng)用領(lǐng)域4</p><p> 2.3
4、AT89C51簡介4</p><p> 2.4 最小系統(tǒng)與晶振/復(fù)位電路7</p><p> 第三章 控制系統(tǒng)硬件設(shè)計11</p><p> 3.1 系統(tǒng)框圖11</p><p> 3.2 原理電路圖11</p><p> 3.3 LCD功能及接口簡介12</p><
5、p> 3.4 漢字字庫的生成13</p><p> 第四章 程序與系統(tǒng)仿真14</p><p> 4.1 主程序清單:14</p><p> 4.2 系統(tǒng)仿真17</p><p> 第五章 總結(jié)致謝19</p><p><b> 參考文獻20</b><
6、/p><p> 基于單片機的LCD顯示器的設(shè)計</p><p><b> 摘要</b></p><p> 當(dāng)今高度發(fā)展的信息時代,設(shè)計半導(dǎo)體技術(shù)光電器件、電子電路、集成電路、信息圖像處理、信息傳輸、計算機網(wǎng)絡(luò)以及電子產(chǎn)品制造和電子產(chǎn)品安裝工程等相關(guān)技術(shù)的LCD顯示屏在信息領(lǐng)域顯得尤為活躍,在各行業(yè)的應(yīng)用及普及方面也取得了長足的進步。本文設(shè)計了
7、一種有單片機控制的LCD顯示器。并介紹了顯示器工作原理,討論了硬件電路中各個模塊的實現(xiàn)方法,進行了嚴(yán)格的理論邏輯推敲和實驗測試,以達到設(shè)計要求。該系統(tǒng)以 AT89C51為核心,該顯示器能長期、連續(xù)、可靠、穩(wěn)定的工作;同時還具有體積小、功耗低等特點,便于攜帶,使用方便。系統(tǒng)軟件設(shè)計包括單片機計算機兩部分的編程。計算機軟件編程主要實現(xiàn)參數(shù)設(shè)置、串行口數(shù)據(jù)接收、指令發(fā)送以及數(shù)據(jù)的顯示和存儲。單片機軟件編程主要實現(xiàn)液晶顯示,采用C語言編程。點陣
8、式LCD以其功耗低,接口方便,能夠顯示圖形和漢字等特點而受到儀器儀表設(shè)計人員的普遍關(guān)注,特別是能夠顯示漢字的特點,會使儀器儀表的人機界面更加友好。但點陣式LCD沒有直接顯示漢字的功能,如果要顯示漢字,則需通過對LCD的DRAM寫入相應(yīng)的數(shù)據(jù)來實現(xiàn)。本設(shè)計介紹了如何在DM-162LCD上顯示漢字及字符。以AT89S51單片</p><p> 關(guān)鍵詞:單片機;LCD;C語言</p><p>
9、 LCD Display Based on the Design of Single Chip</p><p><b> Abstract</b></p><p> The development of today's information age, height, design semiconductor optoelectronic devices
10、, electronic circuits, integrated circuits, information processing,information transmission, computer networks and electronic products, electronic products manufacturing and installation of related technologies such as L
11、CD display is particularly active in the field of information in the application and popularization of various industries has also made great progress. This paper designs a LCD display </p><p> Keywords: Mi
12、crocontroller, LCD, C Language</p><p><b> 第一章 緒論</b></p><p> 1.1 歷史背景及應(yīng)用領(lǐng)域</p><p> LCD( Liquid Crystal Display),早在19世紀(jì)末,奧地利植物學(xué)家就發(fā)現(xiàn)了液晶,即液態(tài)的晶體,意思就是一種物質(zhì)同時具備了液體的流動性和類似晶
13、體的某種排列特性。在電場的作用下,液態(tài)晶體分子的排列會產(chǎn)生變化。從而影響到它的光學(xué)性質(zhì),這種現(xiàn)象叫做電光效應(yīng)。利用液晶的電光效應(yīng),英國科學(xué)家在上世紀(jì)制造了第一塊液晶顯示器即LCD。今天的液晶顯示器中廣泛采用的是定線狀液晶,如果我們微觀去看它,會發(fā)現(xiàn)它特象棉花棒。與傳統(tǒng)的CRT相比,LCD不但體積小,厚度?。壳?4.1英寸的整機厚度可做到只有5厘米),重量輕、耗能少(1到10 微瓦/平方厘米)、工作電壓低(1.5到6V)且無輻射,無閃爍
14、并能直接與CMOS集成電路匹配。由于優(yōu)點眾多,LCD從1998年開始進入臺式機應(yīng)用領(lǐng)域。 </p><p> 第一臺可操作的LCD基于動態(tài)散射模式(Dynamic Scattering Mode,DSM),RCA公司喬治·海爾曼帶領(lǐng)的小組開發(fā)了這種LCD。海爾曼創(chuàng)建了奧普泰公司,這個公司開發(fā)了一系列基于這種技術(shù)的的LCD。 1970年12月,液晶的旋轉(zhuǎn)向列場效應(yīng)在瑞士中央實驗室注冊為專利。 1969年
15、,詹姆士·福格森在美國發(fā)現(xiàn)了液晶的旋轉(zhuǎn)向列場效應(yīng)并于1971年2月在美國注冊了相同的專利。1971年他的公司(ILIXCO)生產(chǎn)了第一臺基于這種特性的LCD,很快的替代了性能較差的DSM型LCD。在1985年之后,這一發(fā)現(xiàn)才產(chǎn)生了商業(yè)價值,1973年日本的聲寶公司首次將它運用于制作電子計算器的數(shù)字顯示?,F(xiàn)在,LCD是筆記本電腦和掌上計算機的主要顯示設(shè)備,在投影儀中,它也扮演著非常重要的角色,而且它開始逐漸滲入到桌面顯示器市場中
16、。</p><p> LCD領(lǐng)域隨著技術(shù)的突破不斷拓展,70年代LCD產(chǎn)品主要用于電子手表、計算器、數(shù)字化儀表游戲機等產(chǎn)品。80年代實現(xiàn)了筆記本電腦VGA顯示。90年代薄膜晶體管產(chǎn)品面試,分辨率由CGA(320*200)提高到UXGA(1600*1200)目前已由第一代發(fā)展到第四代。應(yīng)用領(lǐng)域還抱愧臺式PC液晶顯示器、車載設(shè)備、工業(yè)監(jiān)視器、PDA、車載導(dǎo)航系統(tǒng)、攝像機監(jiān)視器、數(shù)字照相機、投影顯示器、游戲機、移動電
17、話,另外在大型商用領(lǐng)域,如股市信息交互系統(tǒng)、銀行匯兌系統(tǒng)也得到了廣泛應(yīng)用。LCD產(chǎn)業(yè)可以說是隨著Notebook而發(fā)展起來的[1]。最新的LCD已做到省電、大型化與寬視角、再加上節(jié)省空間、無輻射、無閃爍等特征,均是未來顯示器發(fā)展的新方向。</p><p> LCD為兩塊平整的噴涂了一層氧化錫或氧化銦透明電導(dǎo)層的玻璃。LCD的發(fā)光原理是兩極板間未加電壓時,液晶分子排列整齊,對外界入射光無散射作用,液晶透明不顯示。
18、如加上電壓,液晶中的離子在電場的作用下定向運動與液晶分子碰撞,使分子產(chǎn)生偏移,其排列變成無規(guī)則的紊亂狀態(tài),對外來光產(chǎn)生散射作用,使透明的液晶變成乳白色,于是施加電壓的電極顯示出字段來。當(dāng)所加電極電壓去除后,經(jīng)短暫延遲,液晶重新恢復(fù)原來的整齊排列,字形便消失[2]。</p><p><b> 1.2 課題意義</b></p><p> 液晶顯示器(LCD)是本世紀(jì)
19、末最后活力的電子產(chǎn)品之一。由于LCD具有低工作電壓、微功耗、體積輕薄、適于LSI驅(qū)動、易于實現(xiàn)大畫面顯示、全色顯示性能優(yōu)良等特點已被公認(rèn)是多媒體時代的關(guān)鍵器件[3]。</p><p> 顯示質(zhì)量高 由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不象陰 極射線管顯示器(CRT)那樣需要不斷刷新亮點。因此,液晶顯示器畫質(zhì)高而且絕對不會閃爍,把 眼睛疲勞降到最低。沒有電磁輻射,液晶顯示器在防
20、止輻射 方面具有先天的優(yōu)勢,因為它根本就不存在輻射??梢暶娣e大 對于相同尺寸的顯示器來說,液晶顯示器的可視面積要更大一些。應(yīng)用范圍廣 最初的液晶顯示器由于無法顯示細(xì)膩的字符,通常應(yīng)用在電子表、計算器上。隨著液晶顯 示技術(shù)的不斷發(fā)展和進步,字符顯示開始細(xì)膩起來,同時也支持基本的彩色顯示,并逐步用于液晶 電視、攝像機的液晶顯示器、掌上游戲機上。畫面效果好與傳統(tǒng)顯示器相比,液晶顯示器一開始就使用純平面的玻璃板,其顯示效果是平面直角的, 讓人有
21、一種耳目一新的感覺。數(shù)字式接口 液晶顯示器都是數(shù)字式的,不像陰極射線管彩顯采用模擬接口?!吧聿摹眲蚍Q小巧,液晶顯示器通過顯示屏上的電極控制液晶分子 狀態(tài)來達到顯示目的,即使屏幕加大,它的體積也不會成正比的增加,而且在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。功率消耗小液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動IC上,因而耗電量比</p><p> 第二章 單片機的結(jié)構(gòu)及應(yīng)用</p><p
22、><b> 2.1 單片機</b></p><p> 什么是單片機?隨著大規(guī)模集成電路技術(shù)的發(fā)展,可以將CPU、RAM、ROM、定時器/計數(shù)器以及輸入/輸出(I/O)接口電路等主要計算機部件集成在一塊集成電路芯片上。這樣所組成的芯片級的微型計算機稱為單片微型計算機(Single Chip Microcomputer),直譯為單片微機或單片機。雖然單片機只是一個芯片,但從組成和功能
23、上看,它已具有了微機系統(tǒng)的含義[6]。在單片機芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。單片機即微控制器( MCU) 自1976 年由Intel 公司推出MCS-48 開始, 迄今已有二十多年了。由于M CU 集成度高、功能強、可靠性高、體積小、功耗低、使用方便、價格低廉等一系列優(yōu)點, 目前它已滲入到人們工作和生活
24、的各個角落, 幾乎是“無處不在, 無所不為” [7]。</p><p> 單片機自動完成賦予它的任務(wù)的過程,也就是單片機執(zhí)行程序的過程,即一條條執(zhí)行的指令的過程,所謂指令就是把要求單片機執(zhí)行的各種操作用的命令的形式寫下來,這是在設(shè)計人員賦予它的指令系統(tǒng)所決定的,一條指令對應(yīng)著一種基本操作;單片機所能執(zhí)行的全部指令,就是該單片機的指令系統(tǒng),不同種類的單片機,其指令系統(tǒng)亦不同。為使單片機能自動完成某一特定任務(wù),必須
25、把要解決的問題編成一系列指令(這些指令必須是選定單片機能識別和執(zhí)行的指令),這一系列指令的集合就成為程序,程序需要預(yù)先存放在具有存儲功能的部件——存儲器中。存儲器由許多存儲單元(最小的存儲單位)組成,就像大樓房有許多房間組成一樣,指令就存放在這些單元里,單元里的指令取出并執(zhí)行就像大樓房的每個房間的被分配到了唯一一個房間號一樣,每一個存儲單元也必須被分配到唯一的地址號,該地址號稱為存儲單元的地址,這樣只要知道了存儲單元的地址,就可以找到這
26、個存儲單元,其中存儲的指令就可以被取出,然后再被執(zhí)行。 </p><p> 程序通常是順序執(zhí)行的,所以程序中的指令也是一條條順序存放的,單片機在執(zhí)行程序時要能把這些指令一條條取出并加以執(zhí)行,必須有一個部件能追蹤指令所在的地址,這一部件就是程序計數(shù)器PC(包含在CPU中),在開始執(zhí)行程序時,給PC賦以程序中第一條指令所在的地址,然后取得每一條要執(zhí)行的命令,PC在中的內(nèi)容就會自動增加,增加量由本條指令長度決定,可能
27、是1、2或3,以指向下一條指令的起始地址,保證指令順序執(zhí)行。目前,單片機有兩種基本的結(jié)構(gòu)形式: 1.將程序存儲器和數(shù)據(jù)存儲器合用一個的結(jié)構(gòu),存儲空間的結(jié)構(gòu),稱為普林斯頓結(jié) 統(tǒng)一編址);構(gòu)(統(tǒng)一編址);2.將程序存儲器和數(shù)據(jù)存儲器截然分開而分別尋址的結(jié)構(gòu),稱為哈佛結(jié)構(gòu)。而分別尋址的結(jié)構(gòu),稱為哈佛結(jié)構(gòu)。內(nèi)部數(shù)據(jù)總線的寬度一般分為:16位及32位及32 分為:4位、8位、16位及32位 等。單片機內(nèi)部均有豐富的指令系統(tǒng),能夠?qū)崿F(xiàn)各種復(fù)雜的令系
28、統(tǒng),計算與控制。有多種接口方式可以適合各種需求。單片機功能強大、體積小、價格低、I/O線多 單片機功能強大、體積小、價格低、I/O線多,指令豐富,邏輯操作能力強。</p><p> 2.2 單片機應(yīng)用領(lǐng)域</p><p> 目前單片極滲透到我們生活的各個領(lǐng)域主要包括:辦公自動化設(shè)備:單片機在機電—體化中的應(yīng)用;在實時過程控制中的應(yīng)用;單片機在日常生活及家 用電器領(lǐng)域的應(yīng)用:在各類儀器
29、儀表中引入單片機,使儀器儀表智能 化,提高測試的自動化程度和精度,簡化儀器儀表的硬件結(jié)構(gòu)提高其性能價格比;在計算機網(wǎng)絡(luò)和通信領(lǐng)域中的應(yīng)用;商業(yè)營銷設(shè)備;單片機在醫(yī)用設(shè)備領(lǐng)域中的應(yīng)用;騎車電子產(chǎn)品;航空航天系統(tǒng)和國防軍事、尖端武器等領(lǐng)域,單片機的應(yīng)用更是不言而喻。</p><p> 2.3 AT89C51簡介</p><p> AT89C51的主要特性:</p><
30、p> 與MCS-51 兼容 </p><p> 4K字節(jié)可編程FLASH存儲器 </p><p> 壽命:1000寫/擦循環(huán) </p><p> 數(shù)據(jù)保留時間:10年 </p><p> 全靜態(tài)工作:0Hz-24MHz </p><p> 三級程序存儲器鎖定 </p><p>
31、 128×8位內(nèi)部RAM </p><p> 32可編程I/O線 </p><p> 兩個16位定時器/計數(shù)器 </p><p><b> 5個中斷源 </b></p><p><b> 可編程串行通道 </b></p><p> 低功耗的閑置和掉電模式
32、 </p><p> 片內(nèi)振蕩器和時鐘電路</p><p> AT89C51管腳說明:</p><p> VCC:供電電壓。 </p><p><b> GND:接地。 </b></p><p> P0口:P0口為一個8位漏級開路雙向I/O口。每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一
33、次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 </p><p> P1口:P1口是一個帶有內(nèi)部上拉電阻的8位準(zhǔn)雙向I/O口。P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)
34、部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口。P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出
35、地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 </p><p> P3口:P3口是一個帶有上拉電阻的8位準(zhǔn)雙向I/O口。可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故[8]。
36、</p><p> P3口也可作為AT89C51的一些特殊功能口, 口管腳備選功能: </p><p> P3.0 RXD(串行輸入口) </p><p> P3.1 TXD(串行輸出口) </p><p> P3.2 /INT0(外部中斷0) </p><p> P3.3 /INT1(外部中斷1) <
37、/p><p> P3.4 T0(記時器0外部輸入) </p><p> P3.5 T1(記時器1外部輸入) </p><p> P3.6 /WR(外部數(shù)據(jù)存儲器寫選通) </p><p> P3.7 /RD(外部數(shù)據(jù)存儲器讀選通) </p><p> P3口同時為閃爍編程和編程校驗接收一些控制信號。 </p
38、><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。 </p><p> ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)
39、據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 </p><p> PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。 </p&g
40、t;<p> EA/VPP:當(dāng)EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 </p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 </p><p&g
41、t; XTAL2:來自反向振蕩器的輸出[5]。AT89C51芯片如圖2.1所示,實物圖如2.2所示。</p><p> 圖2.1 AT89C51芯片</p><p> 圖2.2 AT89C51實物圖</p><p> 2.4 最小系統(tǒng)與晶振/復(fù)位電路</p><p> 單片機的最小系統(tǒng)是指單片機能正常工作所必須的外圍元件,主要
42、可分為時鐘電路和外圍電路。最小系統(tǒng)如圖2.3所示。</p><p> 圖2.3 最小系統(tǒng)</p><p> 晶振電路:在單片機系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片接的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達百萬分之五十。高
43、級的精度更高。有些晶振還可以由外加電壓在一定范圍內(nèi)調(diào)整頻率,稱為壓控振蕩 器(VCO)。晶振用一種能把電能和機械能相互轉(zhuǎn)化的晶體在共振的狀態(tài)下工作,以提供穩(wěn)定,精確的單頻振蕩。單片機晶振的作用是為系統(tǒng)提供基本的時鐘信號。通常一個系統(tǒng)共用一個晶振,便于各部分保持同步。有些通訊系統(tǒng)的基頻和射頻使用不同的晶振,而通過電子調(diào)整頻率的方法保持同步。晶振通常與鎖相環(huán)電路配合使用,以提供系統(tǒng)所需的時鐘頻率。如果不同子系統(tǒng)需要不同頻率的時鐘信號,可以用
44、與同一個晶振相連的不同鎖相環(huán)來提供。</p><p> AT89C51單片機芯片內(nèi)部設(shè)有一個由反向放大器構(gòu)成的振蕩器,XTAL1 和 XTAL2 分別為振蕩電路的的輸入端和輸出端,時鐘可有內(nèi)部或外部生成,在 XTAL1 和 XTAL2 引腳上外接定時元件,內(nèi)部振蕩電路就會產(chǎn)生自激振蕩。系統(tǒng) 采用的定時元件為石英晶體和電容組成的并聯(lián)諧振回路。如圖2.4所示。</p><p> 圖2.4
45、 并聯(lián)諧振回路</p><p> 復(fù)位電路:基本功能是系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定以后撤銷復(fù)位信號。AT89C51單片機復(fù)位電路如圖2.5, 圖2.6所示。</p><p> 圖2.5 復(fù)位電路</p><p> 圖2.6 復(fù)位電路</p><p> 簡單地說,單片機的復(fù)位就和計算機的重起是一樣的概念,任何單片機在工作
46、之前都要有個復(fù)位的過程,復(fù)位對單片機來說,是程序還沒有開始執(zhí)行,是在做準(zhǔn)備工作【8】。AT89C51單片機在啟動運行時或者出死機時需要復(fù)位,使CPU以及其他功能部件處于一個確定的初始狀態(tài)。</p><p> 如何進行復(fù)位呢?只要在單片機的RET引腳上加上高電平就可以了。按上面所說時間不少于5ms。為了達到這個要求,需要在外部設(shè)計復(fù)位電路。復(fù)位電路的實現(xiàn)可以用很多種方法.但是從功能上一般分為兩種:一種是電源源位,
47、即外部的復(fù)位電路在系統(tǒng)通上電源之后直接使單片機工作,單片機的起停通過電源控制;另一種方法是在復(fù)位電路中設(shè)計按鍵開關(guān)。通過按鍵開關(guān)觸發(fā)復(fù)位電平,控制單片機的復(fù)位。</p><p> 第三章 控制系統(tǒng)硬件設(shè)計</p><p><b> 3.1 系統(tǒng)框圖</b></p><p> 整體系統(tǒng)框圖如圖3.1所示。</p><
48、p><b> 圖</b></p><p> 圖3.1 系統(tǒng)框圖</p><p> 3.2 原理電路圖</p><p><b> 說明:</b></p><p> 單片機的P0口作為數(shù)據(jù)口接1062的D0~D7口;</p><p> 單片機的P2.0作為控
49、制數(shù)據(jù)/命令選擇端接1062的RS;</p><p> 單片機的P2.1作為控制讀/寫選擇端接1062的R/W端;</p><p> 單片機的P2.2作為控制使能信號端接1062的E端。</p><p> 1062通過1KΩ的電阻及5V電源驅(qū)動</p><p> 單片機晶振選擇12MHz晶振。原理電路圖如3.2所示。</p>
50、;<p> 圖3.2 原理電路圖</p><p> 3.3 LCD功能及接口簡介</p><p> 字符型DM-162LCD是一種用5x7點陣圖形來顯示字符的液晶顯示器,根據(jù)顯示的容量可以分為1行16個字、2行16個字、2行20個字等等,這里以常用的2行16個字的DM-162液晶模塊來介紹。如表3.1所示。 </p><p> 表3.1
51、主要技術(shù)參數(shù)</p><p> 接口信號說明[9]如表3.2所示:</p><p> 表3.2 接口信號說明</p><p><b> 控制器接口說明:</b></p><p> 讀狀態(tài):輸入:RS=L,RW=H,E=H, 輸出:D0~D7=狀態(tài)字</p>&
52、lt;p> 寫指令:輸入:RS=L,RW=L,E=高脈沖, D0~D7=指令碼 輸出:無</p><p> 讀數(shù)據(jù):輸入:RS=H,RW=H,E=H 輸出:D0~D7=數(shù)據(jù)</p><p> 寫數(shù)據(jù):輸入:RS=H,RW=L,E=高脈沖, D0~D7=數(shù)據(jù) 輸出:無</p><p> DM-162液晶模塊內(nèi)
53、部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼是01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就能看到字母“A” </p><p> 液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的忙標(biāo)志為低電平,表示不忙
54、,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,如圖3.3所示是DM-162的內(nèi)部顯示地址。</p><p> 圖3.3 DM-162內(nèi)部顯示地址</p><p> 3.4 漢字字庫的生成</p><p> 由于1062內(nèi)部的字符發(fā)生存儲器(CGROM)只含有阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號、和日文假名等字符的代碼
55、,而沒有漢字的代碼。所以,要顯示漢字必須自造漢字字庫。然后將漢字字庫讀入LCD的DRAM才能實現(xiàn)。我們借助“取模”軟件進行造字。漢字的顯示一般采用圖形方式,要事先從微機中提取要顯示的漢字的點陣碼,每個漢字占32B,分左右兩半部,各占16B,左邊為1、3、5……右邊2、4、6……,根據(jù)在LCD上開始顯示的行列號及每行的列數(shù)可找到顯示RAM對應(yīng)的地址,設(shè)立光標(biāo),送上要顯示的漢字的一字節(jié),光標(biāo)位置加1,送第二字節(jié),按行按列對齊,送第三字節(jié)……
56、,直到32B顯示完就可在LCD顯示一個完整漢字[10]。</p><p> 第四章 程序與系統(tǒng)仿真</p><p> 4.1 主程序清單:</p><p> #include<reg51.h></p><p> #define uchar unsigned char </p><p> #de
57、fine uint unsigned int</p><p> sbit lcdrs=P2^0;</p><p> sbit lcden=P2^2;</p><p> sbit lcdwr=P2^1;</p><p><b> //</b></p><p> uchar CGCODE[]
58、={0x08,0x0F,0x12,0x0F,0x0A,0x1F,0x02,0x02,//"年"代碼 0x00</p><p> 0x0F,0x09,0x0F,0x09,0x0F,0x09,0x13,0x00,//"月"代碼 0x01</p><p> 0x0F,0x09,0x09,0x0F,0x09,0x09,0x0F,0x00,//"
59、日"代碼 0x02</p><p> 0x1f,0x04,0x04,0x1f,0x04,0x04,0x1f,0x00,//"王"代碼 0x03</p><p> 0x00,0x1f,0x04,0x1f,0x04,0x0a,0x11,0x00,//"天"代碼 0x04</p><p> 0x00,0x1f,
60、0x0a,0x1f,0x0a,0x0a,0x0a,0x00,//"開"代碼 0x05</p><p> 0x00,0x0c,0x19,0x18,0x09,0x0f,0x00,0x00,//"心"代碼 0x06</p><p> 0x00,0x04,0x0a,0x00,0x00,0x02,0x01,0x00,//“笑臉”的左代碼 0x07&l
61、t;/p><p> 0x00,0x04,0x0a,0x00,0x00,0x08,0x10,0x00, //“笑臉”的右代碼 0x08</p><p><b> } ; </b></p><p><b> //</b></p><p> uchar tab1[]={'H',
62、9;e','l','l','o',',','e','v','e','r','y','o','n','e','!'};//顯示“hello,everyone!”</p><p> uchar tab
63、2[]={ '2','0','1','1',0x00,'0','5',0x01,'0','9',0x02};//顯示"2011年05月09日"</p><p> void delay(uint t)//延時函數(shù)</p><p><b&g
64、t; {</b></p><p><b> uint x,y;</b></p><p> for(x=0;x<t;x++)</p><p> for(y=0;y<110;y++);</p><p><b> }</b></p><p> v
65、oid write_com(uchar com)//向1602寫指令</p><p><b> {</b></p><p><b> lcdrs=0;</b></p><p><b> P0=com;</b></p><p><b> delay(5);<
66、;/b></p><p><b> lcden=1;</b></p><p><b> delay(5);</b></p><p><b> lcden=0;</b></p><p><b> }</b></p><p&g
67、t; void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測</p><p><b> {</b></p><p> uint LCM_Data,LCM_RS,LCM_RW,LCM_E,i;</p><p> if (BuysC) </p><p
68、> ReadStatusLCM(); //根據(jù)需要檢測忙</p><p> LCM_Data = WCLCM;</p><p> LCM_RS = 0;</p><p> LCM_RW = 0; </p><p> LCM_E = 1;</p><p> LCM_E = 0;</p>&
69、lt;p> for(i=0;i<100;i++);</p><p> LCM_E = 1; </p><p><b> }</b></p><p> void write_date(uchar dat)//向1602寫數(shù)據(jù)</p><p><b> {</b></p>
70、;<p><b> lcdrs=1;</b></p><p><b> P0=dat;</b></p><p><b> delay(5);</b></p><p><b> lcden=1;</b></p><p><b>
71、; delay(5);</b></p><p><b> lcden=0;</b></p><p><b> }</b></p><p> void init()//程序初始化</p><p><b> {</b></p><p>
72、<b> lcdwr=0;</b></p><p><b> lcden=0; </b></p><p> write_com(0x38);</p><p> write_com(0x0c);</p><p> write_com(0x06);</p><p>
73、write_com(0x01);</p><p><b> }</b></p><p> void main()//主函數(shù)</p><p><b> {</b></p><p><b> int i;</b></p><p><b>
74、 init();</b></p><p><b> lcdrs=0;</b></p><p><b> lcdwr=0;</b></p><p> write_com(0x40);//將自定義字符寫入CGRAM</p><p> for(i=0;i<72;i++)//循環(huán)6
75、4次寫入</p><p><b> {</b></p><p> write_date(CGCODE[i]); </p><p><b> }</b></p><p><b> while(1) </b></p><p> {write_c
76、om(0x80);//寫入初始地址</p><p> for(i=0;i<15;i++)</p><p><b> {</b></p><p> write_date(tab1[i]);</p><p><b> } </b></p><p> write_c
77、om(0x80+0x40);//寫入初始地址</p><p> for(i=0;i<11;i++)</p><p><b> {</b></p><p> write_date(tab2[i]);</p><p><b> } </b></p><p> de
78、lay(6000); //延時</p><p> write_com(0x01);//清屏</p><p> delay(400);</p><p> write_com(0x80);//設(shè)定顯示位置為第一行第一列</p><p> write_date(0x03);//顯示“王”</p><p> writ
79、e_date(0x04);//顯示“天”</p><p> write_date(0x04); //顯示“天”</p><p> write_date(0x05);//顯示“開”</p><p> write_date(0x06);//顯示“心”</p><p> write_date(0x07);//顯示笑臉的左半部分</p&
80、gt;<p> write_date(0x08);//顯示笑臉的右半部分</p><p> delay(6000);</p><p> write_com(0x01); //清屏</p><p> delay(400);//延時</p><p><b> }}</b></p><
81、;p><b> 4.2 系統(tǒng)仿真</b></p><p> 本設(shè)計由Keil C與Proteus軟件相結(jié)合來實現(xiàn)LCD顯示器的仿真實現(xiàn)過程。電路核心是單片機AT89C51.仿真結(jié)果如圖4.1-4.2所示:</p><p> 圖4.1 仿真結(jié)果圖</p><p> 圖4.2 仿真結(jié)果圖</p><p>
82、<b> 第五章 總結(jié)致謝</b></p><p> 本設(shè)計是基于單片機的LCD顯示器的設(shè)計。主要做了以下工作:一、通過查閱大量的相關(guān)資料,LCD顯示屏 的原理,了解了LCD的現(xiàn)狀,清楚地了解了LCD顯示屏與其它顯示屏相比較有 那些優(yōu)點,明確了研究目標(biāo)。并且通過對單片機資料的查閱和應(yīng)用,更進一步 增加了對單片機知識的理解和運用能力。二,本文設(shè)計的 LCD 顯示屏可顯示字母和文字且穩(wěn)定、
83、清晰無串?dāng)_。三,本文列出了系統(tǒng)具體的硬件設(shè)計方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和 具體C語言程序設(shè)計與調(diào)試等方面。 四,在這次課程設(shè)計的過程中學(xué)會了 PROTEUS 的基本使用,感到 PROTEUS 對電子專業(yè)的同學(xué)來說是一個很有用的軟件。在運用 PROTEUS 時可以運用一些 快捷的標(biāo)號,總線的方法畫圖,這樣既能使電路圖清晰,簡單,更能大大提高 畫圖速度 五,通過這次課程設(shè)計,重新復(fù)習(xí)并進一步增強了動手的能力,學(xué)以致用, 把只是運用到實
84、際生活中才是根本目的。 六,存在問題:沒有考慮仿真軟件是一個理想的仿真環(huán)境,而實際連接的 電路板會由于譬如連接不當(dāng),相鄰器件間的干擾等等的問題導(dǎo)致在仿真軟件中 能良好運行的程序,出現(xiàn)顯示問題,經(jīng)過排查和合理的器件擺放焊接,問題</p><p><b> 參考文獻</b></p><p> [1]張薔. LCD的發(fā)展潮流[J]. 世界電子元器件,1997,(08):
85、56~58.</p><p> [2]四川,李林榫. 液晶顯示器LCD簡介[N],電子報,2001,(05). </p><p> [3]萬博全,張百哲,高鴻錦等.國內(nèi)外LCD發(fā)展動向[J].光電子技術(shù),1988,(01):23~38.</p><p> [4]三大關(guān)鍵詞揭示LCD顯示器[N].中國電子報,2005,(006):1~1.</p>
86、<p> [5]李子健.基于51單片機的漢字LCD智能顯示模塊設(shè)計[J].電子元器件應(yīng)用,2006,(09):76~77.</p><p> [6]張俊謨.單片機的發(fā)展及應(yīng)用現(xiàn)狀[J].電子世界,2001,(07):31~31.[7]張俊謨,袁濤.提高單片機應(yīng)用水平拓展應(yīng)用領(lǐng)域[J].電子技術(shù)應(yīng)用,1998,(12):6~7.</p><p> [8]蔡美琴,張為民,何金
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的lcd顯示器的設(shè)計
- 畢業(yè)論文-基于單片機的led點陣顯示屏設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的電子門鈴設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的數(shù)字秒表設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機倒車系統(tǒng)設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的數(shù)字鐘設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的密碼鎖設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的音樂流水燈設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機的電子時鐘設(shè)計【精校排版】
- 畢業(yè)論文-基于單片機數(shù)據(jù)采集系統(tǒng)設(shè)計【精校排版】
- 基于單片機的LCD顯示器的設(shè)計1.doc
- 畢業(yè)論文-基于單片機的溫度計的設(shè)計【精校排版】
- 基于單片機的LCD顯示器的設(shè)計3.doc
- 畢業(yè)論文-基于單片機的八路搶答器設(shè)計【精校排版】
- 畢業(yè)論文-單片機開發(fā)板設(shè)計【精校排版】
- 基于單片機的LCD顯示器的設(shè)計2.doc
- 畢業(yè)論文-基于單片機的多功能電子跑表設(shè)計【精校排版】
- 基于51單片機的數(shù)字lcd顯示畢業(yè)論文
- 基于單片機led滾動漢字顯示器設(shè)計畢業(yè)論文
- 基于單片機的lcd顯示器的設(shè)計【電子信息科學(xué)與技術(shù)畢業(yè)論文】
評論
0/150
提交評論