課程設(shè)計(論文)基于89C51的液晶顯示系統(tǒng)設(shè)計_第1頁
課程設(shè)計(論文)基于89C51的液晶顯示系統(tǒng)設(shè)計_第2頁
課程設(shè)計(論文)基于89C51的液晶顯示系統(tǒng)設(shè)計_第3頁
課程設(shè)計(論文)基于89C51的液晶顯示系統(tǒng)設(shè)計_第4頁
課程設(shè)計(論文)基于89C51的液晶顯示系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、課程設(shè)計(論文) 題 目 名 稱 基于89c51的液晶顯示系統(tǒng)設(shè)計 課 程 名 稱 c51應(yīng)用技術(shù) 學(xué) 生 姓 名 學(xué) 號 系 、專 業(yè) 電氣工程系、12電本一班 指 導(dǎo) 教 師 朱群峰 2014年6月27日陽學(xué)院課程設(shè)計(論文)任務(wù)書年級專業(yè)12電本一班學(xué)生姓名學(xué) 號題目名稱基于89c51的液晶顯示系統(tǒng)設(shè)計設(shè)計時間2014年6月16日2014年6月27日課程名稱c51應(yīng)用技術(shù)課程編號121200105設(shè)計地點數(shù)字控制與plc實驗室創(chuàng)新實驗室(214)(305)一、 課程設(shè)計(論文)目的課程設(shè)計是在校學(xué)生素質(zhì)教育的重要環(huán)節(jié),是理論與實踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計,要求學(xué)生更多的完成軟硬

2、結(jié)合的動手實踐方案,解決目前學(xué)生課程設(shè)計過程中普遍存在的缺乏動手能力的現(xiàn)象. c51應(yīng)用技術(shù)課程設(shè)計是繼電子技術(shù)、和c51應(yīng)用技術(shù)課程之后開出的實踐環(huán)節(jié)課程,其目的和任務(wù)是訓(xùn)練學(xué)生綜合運用已學(xué)課程“電子技術(shù)基礎(chǔ)”、“c51應(yīng)用技術(shù)”的基本知識,獨立進(jìn)行單片機(jī)應(yīng)用技術(shù)和開發(fā)工作,掌握單片機(jī)程序設(shè)計、調(diào)試和應(yīng)用電路設(shè)計、分析及調(diào)試檢測。二、已知技術(shù)參數(shù)和條件1、液晶顯示功能見第三項“任務(wù)和要求”具體參數(shù)1、89c51系列單片機(jī);2、keil 軟件;wave軟件、protuse軟件3、thkscm-1型單片機(jī)實驗系統(tǒng)。三、 任務(wù)和要求利用89c51驅(qū)動液晶顯示器工作,液晶顯示器的型號自己確定(可以用

3、1602或者12864)要求顯示出自己的基本信息(英文或者中文,內(nèi)容自定)。1、要求設(shè)計出硬件系統(tǒng)的電氣原理圖;2、要求設(shè)計出程序流程圖和程序;3、要求設(shè)計出實物或者仿真調(diào)試。注:1此表由指導(dǎo)教師填寫,經(jīng)系、教研室審批,指導(dǎo)教師、學(xué)生簽字后生效; 2此表1式3份,學(xué)生、指導(dǎo)教師、教研室各1份。四、參考資料和現(xiàn)有基礎(chǔ)條件(包括實驗室、主要儀器設(shè)備等)1、單片機(jī)課程設(shè)計指導(dǎo),北京航空航天大學(xué)出版社,樓然苗等2007年7月2、單片機(jī)實驗與實踐教程,北京航空航天大學(xué)出版社,何立民等2004年7月3、thkscm-1型單片機(jī)實驗系統(tǒng)實驗指導(dǎo)書、keil 軟件,wave 軟件4、數(shù)字控制與plc實驗室”t

4、hkscm-1型單片機(jī)實驗系統(tǒng)”。五、進(jìn)度安排2014年6月16日-17日:收集和課程設(shè)計有關(guān)的資料,熟悉課題任務(wù)何要求總體方案設(shè)計2014年6月18日-19日:硬件電路設(shè)計2014年6月20日-21日:軟件設(shè)計2014年6月22日-24日:系統(tǒng)調(diào)試改進(jìn)2014年6月25-26日:整理書寫設(shè)計說明書2014年6月27日:答辯并現(xiàn)場考核六、教研室審批意見設(shè)計目的明確,要求合理,難度適中,符合課程設(shè)計教學(xué)要求。教研室主任(簽名): 年 月 日七|、主管教學(xué)主任意見 符合課程設(shè)計要求 主管主任(簽名): 年 月 日八、備注指導(dǎo)教師(簽字): 學(xué)生(簽字):邵陽學(xué)院課程設(shè)計(論文)評閱表學(xué)生姓名 學(xué)

5、號 系 電氣工程系 專業(yè)班級 12電本一班 題目名稱 基于89c51的液晶顯示系統(tǒng)設(shè)計 課程名稱 c51應(yīng)用技術(shù) 一、學(xué)生自我總結(jié)經(jīng)過這次課程設(shè)計的學(xué)習(xí),我懂得了許多關(guān)于電子技術(shù)的相關(guān)知識,學(xué)習(xí)到了如何通過89c51設(shè)計出液晶顯示系統(tǒng)。并且在小組共同合作的過程中,了解到了團(tuán)隊合作的意義,而在老師的指點關(guān)照下,了解了以前未接觸到的領(lǐng)域,豐富了我的視野,極大的幫助到了我在未來單片機(jī)的學(xué)習(xí),在電氣專業(yè)知識上的理解與掌握。接下來我會更加努力在專研的道路上前行。 學(xué)生簽名: 年 月 日二、指導(dǎo)教師評定評分項目平時成績論文答辯綜合成績權(quán) 重304030單項成績指導(dǎo)教師評語: 指導(dǎo)教師(簽名): 年 月 日

6、注:1、本表是學(xué)生課程設(shè)計(論文)成績評定的依據(jù),裝訂在設(shè)計說明書(或論文)的“任務(wù)書”頁后面; 2、表中的“評分項目”及“權(quán)重”根據(jù)各系的考核細(xì)則和評分標(biāo)準(zhǔn)確定。摘要人類生存離不開信息,人生活于社會,每時每刻都通過眼、耳、口、鼻、身從外部獲得信息,其中視覺信息占70%,而且眼睛獲取的信息數(shù)量大,最準(zhǔn)確和可靠。液晶顯示已經(jīng)是人機(jī)界面的關(guān)鍵技術(shù)。本文對基于單片機(jī)的lcd液晶顯示器控制系統(tǒng)進(jìn)行了研究。本文研制一種基于51單片機(jī)實時控制的lcd液晶顯示屏控制系統(tǒng)。硬件系統(tǒng)由單片機(jī)最小系統(tǒng)和液晶顯示系統(tǒng)組成,pc機(jī)進(jìn)行顯示內(nèi)容的編輯和字模數(shù)據(jù)的提取;液晶顯示系統(tǒng)由主控模塊t6963c和lcd液晶顯示模

7、塊接口電路組成,主控模塊負(fù)責(zé)接收單片機(jī)字模數(shù)據(jù)并控制各顯示模塊工作,顯示模塊以t6963c主控制器為核心,控制lcd液晶顯示屏顯示,為了方便系統(tǒng)擴(kuò)展,各模塊之間的連接采用接插式結(jié)構(gòu),單片機(jī)與pc機(jī)之間采用rs232標(biāo)準(zhǔn)接口進(jìn)行數(shù)據(jù)和命令的串行通信。本文不僅從總體上對系統(tǒng)進(jìn)行了整體規(guī)劃,還以其中一個實例詳細(xì)介紹了pc機(jī)字模的提取、字模數(shù)據(jù)的發(fā)送、單片機(jī)串行接收數(shù)據(jù)、液晶顯示屏的顯示等部分的軟硬件設(shè)計及實現(xiàn)過程。本系統(tǒng)的設(shè)計優(yōu)點硬件電路簡單,軟件功能完善,控制系統(tǒng)可靠,性價比較高等特點,具有一定的使用和參考價值。關(guān)鍵詞:液晶顯示器89c51串行通信單片機(jī)目 錄摘要.i1.概述.11.1 設(shè)計目的和

8、意義.22. 方案設(shè)計.32.1字模數(shù)據(jù)的儲.32.2通信電路.43.硬件電路.53.1 89c51系統(tǒng).53.2復(fù)位和晶振電路模塊.73.3 lcd1602 簡介.84.系統(tǒng)軟件設(shè)計.134.1系統(tǒng)框圖.134.2 參考程序.145. 仿真結(jié)果和分析.165.1 proteus仿真實驗.17總結(jié).18參考文獻(xiàn).19致謝.201 概述 本實驗系統(tǒng)分為單片機(jī)最小系統(tǒng)板和液晶顯示屏兩部分。單片機(jī)最小系統(tǒng)負(fù)責(zé)接收個人計算機(jī)所編輯的文本及內(nèi)容,通過rs232串行接口通信完成單片機(jī)與pc機(jī)之間的數(shù)據(jù)傳送,而個人計算機(jī)(即pc機(jī)),主要完成顯示內(nèi)容的編輯、字符碼的查找、字符數(shù)據(jù)的發(fā)送等工作?;趙indo

9、ws操作系統(tǒng)下的文本編輯軟件有很多種,例如:記事本、micorsoftword、寫字板等,我們可以采用任何一種編輯軟件將要顯示的內(nèi)容(包括漢字、中英文字母、標(biāo)點符號等)編輯成一個文本文件,然后通過已經(jīng)編寫好的應(yīng)用程序在特定的字庫中依次搜索到文本文件中的內(nèi)容,并且取出該字符的字模數(shù)據(jù),此項工作稱為字模數(shù)據(jù)的提取;字模數(shù)據(jù)文件的生成也就是將取出的字模按順序存放到一個十六進(jìn)制文件中;字符數(shù)據(jù)建立好之后將其存放在pc機(jī)的硬盤上,等到需要的時候通過串行通信軟件將字符數(shù)據(jù)文件發(fā)送給液晶顯示系統(tǒng)模塊。 lcd顯示屏包括主控制模塊和lcd液晶顯示模塊。主控制模塊負(fù)責(zé)接收單片機(jī)發(fā)送過來的字模數(shù)據(jù)文件,并且協(xié)調(diào)各

10、個lcd液晶顯示模塊工作,主控制器模塊的核心是t6963c控制器,為了存儲字模數(shù)據(jù)還在主控制器模塊中擴(kuò)展了一片8k存儲器芯片6264;lcd液晶顯示模塊由兩片行驅(qū)動器t6a40和三片列驅(qū)動器t6a39進(jìn)行驅(qū)動,該模塊一邊接收主控制模塊的數(shù)據(jù),一邊將數(shù)據(jù)送lcd液晶顯示屏顯示,為了方便系統(tǒng)的擴(kuò)展,各模塊之間采用串行口接收數(shù)據(jù),并且接到系統(tǒng)串行總線上。 本系統(tǒng)主要是實現(xiàn)單片機(jī)與液晶顯示模塊之間的接口技術(shù),可以采用間接控制方式完成。將液晶顯示模塊接口與單片機(jī)系統(tǒng)板中的某個并行i/o接口連接,計算機(jī)通過對該i/o接口的操作間接的實現(xiàn)對模塊的控制。1.1 設(shè)計目的和意義課程設(shè)計是在校學(xué)生素質(zhì)教育的重要環(huán)

11、節(jié),是理論與實踐相結(jié)合的橋梁和紐帶。單片機(jī)課程設(shè)計,要求學(xué)生更多的完成軟硬結(jié)合的動手實踐方案,解決目前學(xué)生課程設(shè)計過程中普遍存在的缺乏動手能力的現(xiàn)象.熟悉掌握1602液晶,和12862液晶的原理,并會編程實現(xiàn)在液晶上顯示出自己的基本信息。 在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產(chǎn)品的通過器件,如在計算器、萬用表、電子表及很多家用電子產(chǎn)品中都可以看到,顯示的主要是數(shù)字、專用符號和圖形。在單片機(jī)的人機(jī)交流界面中,一般的輸出方式有以下幾種:發(fā)光管、led數(shù)碼管、液晶顯示器。發(fā)光管和led數(shù)碼管比較常用,軟硬件都比較簡單。在單片機(jī)系統(tǒng)中應(yīng)用晶液顯示器作為輸出器件有以下幾個優(yōu)

12、點:(1)顯示質(zhì)量高由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發(fā)光,而不像陰極射線管顯示器(crt)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質(zhì)高且不會閃爍。(2)數(shù)字式接口液晶顯示器都是數(shù)字式的,和單片機(jī)系統(tǒng)的接口更加簡單可靠,操作更加方便。(3)體積小、重量輕液晶顯示器通過顯示屏上的電極控制液晶分子狀態(tài)來達(dá)到顯示的目的,在重量上比相同顯示面積的傳統(tǒng)顯示器要輕得多。(4)功耗低相對而言,液晶顯示器的功耗主要消耗在其內(nèi)部的電極和驅(qū)動ic上,因而耗電量比其它顯示器要少得多。2 方案設(shè)計 此lcd液晶顯示控制系統(tǒng)設(shè)計的關(guān)鍵是要實現(xiàn)lcd的顯示控制。應(yīng)該先從顯示方式的確定入手,

13、接下來設(shè)計相應(yīng)顯示方式的電路,要實現(xiàn)顯示內(nèi)容的實時更新,就必須考慮字模數(shù)據(jù)的存儲及通信電路的設(shè)計。下面從這兩個方面逐個論證不同的方案。2.1字模數(shù)據(jù)的存儲 由于89c51單片機(jī)內(nèi)部程序存儲器(rom)只有4k空間,本設(shè)計采用1616點陣顯示一個漢字,每一行需要兩個字節(jié)數(shù)據(jù),一個漢字占16232字節(jié),漢字一共有6000多個,不可能將龐大的漢字字庫存入在單片機(jī)內(nèi)部,即使將預(yù)先要顯示的內(nèi)容存入rom中,也不便于實時控制,所以只有考慮擴(kuò)展外部數(shù)據(jù)存儲器。 方案一:采用標(biāo)準(zhǔn)字庫,制作一個專用硬字庫。這種方法仿效中文dos的辦法,將一個標(biāo)準(zhǔn)的漢字庫裝入rom存儲器,再根據(jù)漢字的機(jī)內(nèi)碼在字庫中尋址,找到對應(yīng)

14、的字模,提取后送到顯示器顯示。因為采用了和pc機(jī)相同的編碼(機(jī)內(nèi)碼),軟件的開發(fā)和維護(hù)非常簡單,基本上與寫pc機(jī)軟件差不多。而對單片機(jī)系統(tǒng)自身的要求則相對高多了,1616點陣的字庫需要256k字節(jié),但是一般8位單片機(jī)的尋址能力只有64k字節(jié),要進(jìn)行存儲器擴(kuò)充,除增加很大一部分硬件成本外,還因為要進(jìn)行存儲器分頁管理、地址切換,顯示速度明顯受影響。方案二:利用windows自帶的字庫(即使用軟字庫)。通過軟件編程直接在字庫中找到需要顯示字符的區(qū)位碼并讀出其字符碼,存于一個文本文件中,待所有顯示內(nèi)容的字符碼查詢完畢后,將存放所有字符碼的文本文件通過串行通信發(fā)送給單片機(jī),單片機(jī)將接收到的數(shù)據(jù)存放在外部

15、擴(kuò)展的數(shù)據(jù)存儲器中,數(shù)據(jù)接收完畢后,單片機(jī)就從存儲器中依次讀出每一個字符的字符碼并送到lcd顯示屏顯示。該方案與方案一相比,雖然通信過程占整個顯示周期的比例相對較大,但是硬件電路設(shè)計簡單,成本較低,減少了單片機(jī)查詢硬件字庫所需要的時間,提高了單片機(jī)動態(tài)掃描的速度,字符顯示的穩(wěn)定度較高。從設(shè)計成本、顯示內(nèi)容的穩(wěn)定性、硬件電路設(shè)計的簡易程度等方面綜合考慮,第二種方案明顯優(yōu)于第一方案,所以采用第二種方案解決字模的問題。2.2通信電路方案一:串行通信串行通信是指一個數(shù)據(jù)的所有位按一定的順序和方式,一位一位地通過串行輸入/輸出口進(jìn)行傳送。由于串行通信是數(shù)據(jù)的逐位順序傳送,在進(jìn)行串行通信時,只需一根傳輸線

16、,其傳送的數(shù)據(jù)位多且通信距離長。串行通信方式如 : 圖2.1串行通信方式 圖2.2并行通信式 方案二:并行通信采用并行傳送方式在微機(jī)與外部設(shè)備之間進(jìn)行數(shù)據(jù)傳送的接口叫并行接口。主要特點:一是同時并行傳送的二進(jìn)位數(shù)就是數(shù)據(jù)寬度;二是在計算機(jī)與外設(shè)間采用應(yīng)答式的聯(lián)絡(luò)信號來協(xié)調(diào)雙方的數(shù)據(jù)操作。傳送的數(shù)據(jù)位1-128位,一般為8位。單片機(jī)與外部設(shè)備之間也通常采用8位并行i/o接口進(jìn)行短距離的通信。其傳輸距離近,傳送方式單一,每次傳送一個字或一個字節(jié)。并行通信方式如圖2-2:計算機(jī)與單片機(jī)的數(shù)據(jù)通信,采用串行通信,與并行通信相比,串行通信具有傳輸距離遠(yuǎn),接口電路與軟件編程簡單等特點,所以本系統(tǒng)選用方案一

17、串行通信。串行通信接口電路見后面的硬件電路設(shè)計。3 硬件電路3.1 89c51系統(tǒng)(1)89c51 單片機(jī)的概述該系列單片機(jī)是采用高性能的靜態(tài)80c51設(shè)計由先進(jìn)cmos工藝制造并帶有非易失性flash 程序存儲器全部支持12時鐘和6時鐘操作p89c51x2和p89c52x2/54x2/58x2分別包含128字節(jié)和256字節(jié)ram32條 i/o口線3個16位定時/計數(shù)器6輸入4優(yōu)先級嵌套中斷結(jié)構(gòu)1個串行i/o 口可用于多機(jī)通信i/o擴(kuò)展或全雙工uart以及片內(nèi)振蕩器和時鐘電路。 此外由于器件采用了靜態(tài)設(shè)計可提供很寬的操作頻率范圍頻率可降至0可實現(xiàn)兩個由軟件選擇的節(jié)電模式空閑模式和掉電模式空閑模

18、式凍結(jié)cpu但ram定時器串口和中斷系統(tǒng)仍然工作掉電模式保存ram 的內(nèi)容但是凍結(jié)振蕩器導(dǎo)致所有其它的片內(nèi)功能停止工作由于設(shè)計是靜態(tài)的時鐘可停止而不會丟失用戶數(shù)據(jù)運行可從時鐘停止處恢復(fù)。(2)89c51 單片機(jī)管腳說明vcc:供電電壓。 gnd:接地。工作電壓為5vp0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙

19、向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 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ù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲

20、器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。 p3口也可作為at89c51的一些特殊功能口,如下表所示: 口管腳 備選功能 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口)p3.2 /int0(外部中斷0) p3.3 /int1(外部中斷1) p3.4 t0(記時器0外部輸入) p3.5 t1(記時器1

21、外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高電平時間。 ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, al

22、e只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。 psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的psen信號將不出現(xiàn)。 ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。 xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工

23、作電路的輸入。 xtal2:來自反向振蕩器的輸出。 圖3.1 89c51引腳圖32 復(fù)位和晶振電路模塊89c51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為xtal1,輸出端為xtal2,兩個跨接石英晶體及兩個電容就可以構(gòu)成穩(wěn)定的自激振蕩器。電容器通常取30pf左右,可以穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。下部分為手動復(fù)位和上電自動復(fù)位組合的復(fù)位電路。上電自動復(fù)位是在加電瞬間電容通過充電來實現(xiàn)。在通電間電容通過電阻充電,res端出現(xiàn)正脈沖,用以復(fù)位。只要電源的上升時間不超過1ms,就可以實現(xiàn)自動上電復(fù)位,即接通電源就完成了系統(tǒng)的復(fù)位初始化。所謂手動復(fù)位,是指通過接通一按鈕開

24、關(guān),使單片機(jī)進(jìn)入復(fù)位狀態(tài)。系統(tǒng)上電運行后,若需要復(fù)位,一般是通過手動復(fù)位來實現(xiàn)的。如圖2.5。圖上部分為晶振電路。 圖3.2復(fù)位與晶振電路圖3.3 lcd1602 簡介1602是指顯示的內(nèi)容為16*2,即可以顯示兩行,每行16個字符。目前市面上字符液晶絕大多數(shù)是基于hd44780液晶芯片的,控制原理是完全相同的,因此基于hd44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。當(dāng)我們要寫指令字,設(shè)置lcd1602的工作方式時:需要把rs置為低電平,rw置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口d0d7,最后e引腳一個高脈沖將數(shù)據(jù)寫入。當(dāng)我們要寫入數(shù)據(jù)字,在1602上實現(xiàn)顯示時:需要把rs置為

25、高電平,rw置為低電平,然后將數(shù)據(jù)送到數(shù)據(jù)口d0d7,最后e引腳一個高脈沖將數(shù)據(jù)寫入。下圖為lcd1602的讀操作時序和寫操作時序。圖3.3 lcd1602讀寫時序(1)1602lcd主要技術(shù)參數(shù):顯示容量:162個字符芯片工作電壓:4.55.5v工作電流:2.0ma(5.0v)模塊最佳工作電壓:5.0v字符尺寸:2.954.35(wh)mm(2)引腳功能說明圖3.4 lcd1602引腳圖3.5 引腳圖的功能表lcd1602顯示模指令集清屏功能:清ddrom值和ac值歸位功能:光標(biāo)復(fù)位,光標(biāo)返回到地址00h輸入方式設(shè)置功能:設(shè)置光標(biāo),畫面移動方式。其中:i/d=1:數(shù)據(jù)讀寫操作后,ac 自加一

26、;i/d=0:數(shù)據(jù)讀寫操作后,ac 自減一;s=1:數(shù)據(jù)讀寫操作,畫面平移;s=0:數(shù)據(jù)讀寫操作,畫面不動;顯示開關(guān)控制功能:設(shè)置顯示、光標(biāo)和閃爍開關(guān)。其中:d 表示顯示開關(guān),d=1 為開,d=0 為關(guān);c 表示光標(biāo)開關(guān),c=1 為開,c=0 為關(guān);b 表示閃爍開關(guān),b=1 為開,b=0 為關(guān)。光標(biāo)、畫面位移功能:光標(biāo)、畫面移動。其中:s/c=1 畫面移動一個字符位;s/c=0 光標(biāo)移動一個字符位;r/l=1:右移;r/l=0 左移。功能設(shè)置功能:工作方式設(shè)置(初始化指令)。其中:dl=1,8 位數(shù)據(jù)接口;dl=0,4 位數(shù)據(jù)接口;n=1,兩行顯示;n=0,一行顯示;f=1,5*10 點陣顯示

27、;f=0,5*7 點陣顯示。cgram 地址設(shè)置功能:設(shè)置cgram 地址,a5a0=03fh。ddram 地址設(shè)置功能:設(shè)置ddram 地址。其中:n=0,一行顯示a6a0=04fh;n=1 兩行顯示,首行a6a0=02fh,次行a6a0=4067h。讀bf 及ac 值功能:讀忙bf 和地址計數(shù)器ac 的值。其中:bf=1:忙,bf=0:準(zhǔn)備好。此時ac 值意義為最近一次地址設(shè)置(cgram 或ddram)定義。寫數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫入cgram 或ddram 中。讀數(shù)據(jù)功能:根據(jù)最近設(shè)置的地址性質(zhì),從cgram 或ddram 數(shù)據(jù)讀出。4 軟件設(shè)計4.1 系統(tǒng)框圖 圖4

28、.1系統(tǒng)框圖 4.2參考程序#include ioat89c51.h#include intrinsics.h/ define p3 pins#define data_bus (p0) #define rs (p2_bit.p2_0)#define rw (p2_bit.p2_1) #define e (p2_bit.p2_2)/ define new typestypedef unsigned char uchar;typedef unsigned int uint;/ function prototypesvoid check_busy(void);void write_command(u

29、char com);void write_data(uchar data);void lcd_init(void);void string(uchar ad ,uchar *s);void lcd_test(void);void delay(uint);void main(void) lcd_init(); while(1) string(0x80,have a nice day!); string(0xc0, proteus vsm); delay(100); write_command(0x01); delay(100); /* lcd1602 driver mapped as io pe

30、ripheral*/ / delayvoid delay(uint j) uchar i = 60; for(; j0; j-) while(-i); i = 59; while(-i); i = 60; / test the busy bitvoid check_busy(void) do data_bus = 0xff; e = 0; rs = 0; rw = 1; e = 1; _no_operation(); while(data_bus & 0x80); e = 0; / write a commandvoid write_command(uchar com) check_busy(

31、); e = 0; rs = 0; rw = 0; data_bus = com; e = 1; _no_operation(); e = 0; delay(1); / write datavoid write_data(uchar data) check_busy(); e = 0; rs = 1; rw = 0; data_bus = data; e = 1; _no_operation(); e = 0; delay(1); / initialize lcd controllervoid lcd_init(void) write_command(0x38); write_command(

32、0x0c); / no cursor, no blink, enable display write_command(0x06); / auto-increment on write_command(0x01); / clear screen delay(1); void string(uchar ad, uchar *s) write_command(ad); while(*s0) write_data(*s+); delay(100); 5仿真結(jié)果和分析 本次設(shè)計的主要目的是利用單片機(jī)89c51控制液晶顯示系統(tǒng)。主要進(jìn)行了原理圖的設(shè)計、軟件設(shè)計。 最后的調(diào)試階段可以說是整個設(shè)計的關(guān)鍵,在調(diào)試階段,主要是利用了proteus仿真器進(jìn)行調(diào)試,方便快捷。5.1 proteus調(diào)試與仿真液晶顯示的調(diào)試比較簡單,把編譯好的上述程序指定到proteus中的

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論