基于C5的液晶顯示系統設計_第1頁
基于C5的液晶顯示系統設計_第2頁
基于C5的液晶顯示系統設計_第3頁
基于C5的液晶顯示系統設計_第4頁
基于C5的液晶顯示系統設計_第5頁
已閱讀5頁,還剩25頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計(論文)題 目 名 稱 基于89C51的液晶顯示系統設計 課 程 名 稱 單片機原理及在電氣與測控學科中的應用 學 生 姓 名 學 號 系 、專 業 10電氣工程及其自動化 指 導 教 師 2012年 6 月 1 日邵陽學院課程設計(論文)任務書年級專業電氣工程及其自動化學生姓名學 號題目名稱基于89C51的液晶顯示系統設計設計時間2012年5月21日2012年6月1日課程名稱單片機原理及應在電氣測控學科中的應用課程編號121200105設計地點數字控制與PLC實驗室(305)一、 課程設計(論文)目的課程設計是在校學生素質教育的重要環節,是理論與實踐相結合的橋梁和紐帶。單片機課程設計

2、,要求學生更多的完成軟硬結合的動手實踐方案,解決目前學生課程設計過程中普遍存在的缺乏動手能力的現象. 單片機課程設計是繼電子技術、和單片機原理與應用課程之后開出的實踐環節課程,其目的和任務是訓練學生綜合運用已學課程“電子技術基礎”、“單片機原理及應用”的基本知識,獨立進行單片機應用技術和開發工作,掌握單片機程序設計、調試和應用電路設計、分析及調試檢測。二、已知技術參數和條件1、液晶顯示功能見第三項“任務和要求”具體參數1、89C51系列單片機;2、KEIL 軟件;Wave軟件、protuse軟件3、THKSCM-1型單片機實驗系統。三、 任務和要求利用89C51驅動液晶顯示器工作,液晶顯示器的

3、型號自己確定(可以用1602或者12864)要求顯示出自己的基本信息(英文或者中文,內容自定)。1、要求設計出硬件系統的電氣原理圖;2、要求設計出程序流程圖和程序;3、要求設計出實物或者仿真調試。注:1此表由指導教師填寫,經系、教研室審批,指導教師、學生簽字后生效;2此表1式3份,學生、指導教師、教研室各1份。四、參考資料和現有基礎條件(包括實驗室、主要儀器設備等)1、單片機課程設計指導,北京航空航天大學出版社,樓然苗等2007年7月2、單片機實驗與實踐教程,北京航空航天大學出版社,何立民等2004年7月3、THKSCM-1型單片機實驗系統實驗指導書、KEIL 軟件,WAVE 軟件4、數字控制

4、與PLC實驗室”THKSCM-1型單片機實驗系統”。五、進度安排2012年5月21日-22日:收集和課程設計有關的資料,熟悉課題任務何要求總體方案設計2012年5月23日-25日:硬件電路設計2012年5月26日-28日:軟件設計2012年5月29日-30日:系統調試改進2012年5月31日:整理書寫設計說明書2012年6月1日:答辯并現場考核六、教研室審批意見教研室主任(簽名): 年 月 日七|、主管教學主任意見 主管主任(簽名): 年 月 日八、備注指導教師(簽字): 學生(簽字):邵陽學院課程設計(論文)評閱表學生姓名 學 號 系 電氣工程系 專業班級 10電氣一班 題目名稱 基于89C

5、51的液晶顯示系統設計 課程名稱 單片機原理及應在電氣測控學科中的應用 一、學生自我總結通過本次課程設計,我有熟悉和掌握了單片機開發軟件Keil和仿真軟件Proteus。同時明白面對一個新項目時,應該先自己構思一下整個程序的架構,想想如何來完成,有可能的話,畫一個流程圖,簡單的可以畫在腦子里,對程序中用到的數據、變量有一個初步的安排,然后自己動手去寫,遇到實在沒辦法解決的地方,再去請教別人,或看別人是怎么處理的,這樣首先起碼你自己動過腦想過,自己有自己的思路,如果你一開始就看別人的程序,你的思維就會受限在別人的思維里,自己想再創新就更難了,這樣你自己永遠也沒辦法提高,因為你是走在別人的影子里。

6、 學生簽名: 年 月 日二、指導教師評定評分項目平時成績論文答辯綜合成績權 重304030單項成績指導教師評指導教師(簽名): 年 月 日注:1、本表是學生課程設計(論文)成績評定的依據,裝訂在設計說明書(或論文)的“任務書”頁后面;2、表中的“評分項目”及“權重”根據各系的考核細則和評分標準確定。20摘要 液晶顯示已經是人機界面的關鍵技術。本文對基于單片機的液晶顯示控制技術進行了研究。 本文闡明單片機(89C51)控制LCD1602顯示屏的方法。首先本文研究了LCD1602液晶屏的顯示原理,隨后通過在Proteus仿真軟件上構建相關的仿真電路,并連接在Keil軟件編寫、編輯及編譯生成的相關的

7、.Hex驅動程序電路仿真,成功仿真出對所需內容的顯示。 關鍵字 :LCD1602、單片機、仿真、目 錄摘要.I1.設計目的和意義.11.1 設計目的.11.2 設計意義.12.硬件電路.22.1 89C51系統.22.1.1 89C51 單片機的概述.22.1.2 89C51 單片機管腳說明.22.2振蕩電路外接晶體引腳.42.3復位電路.53. LCD液晶顯示屏.63.1 LCD1602 簡介.632 LCD1602主要參數引腳功能.83.2.1 1602LCD主要技術參數.83.2.2 引腳功能說明.84.軟件設計.124.1系統框圖.124.2 程序.134.3系統電路圖.154.4 P

8、roteus調試與仿真.16結論.17總結.18參考文獻.19致謝.201 設計目的和意義1.1 設計目的課程設計是在校學生素質教育的重要環節,是理論與實踐相結合的橋梁和紐帶。單片機課程設計,要求學生更多的完成軟硬結合的動手實踐方案,解決目前學生課程設計過程中普遍存在的缺乏動手能力的現象.熟悉掌握1602液晶,和12862液晶的原理,并會編程實現在液晶上顯示出自己的基本信息。1.2 設計意義 在日常生活中,我們對液晶顯示器并不陌生。液晶顯示模塊已作為很多電子產品的通過器件,如在計算器、萬用表、電子表及很多家用電子產品中都可以看到,顯示的主要是數字、專用符號和圖形。在單片機的人機交流界面中,一般

9、的輸出方式有以下幾種:發光管、LED數碼管、液晶顯示器。發光管和LED數碼管比較常用,軟硬件都比較簡單。在單片機系統中應用晶液顯示器作為輸出器件有以下幾個優點:(1)顯示質量高由于液晶顯示器每一個點在收到信號后就一直保持那種色彩和亮度,恒定發光,而不像陰極射線管顯示器(CRT)那樣需要不斷刷新新亮點。因此,液晶顯示器畫質高且不會閃爍。(2)數字式接口液晶顯示器都是數字式的,和單片機系統的接口更加簡單可靠,操作更加方便。(3)體積小、重量輕液晶顯示器通過顯示屏上的電極控制液晶分子狀態來達到顯示的目的,在重量上比相同顯示面積的傳統顯示器要輕得多。(4)功耗低相對而言,液晶顯示器的功耗主要消耗在其內

10、部的電極和驅動IC上,因而耗電量比其它顯示器要少得多。2 硬件電路21 89C51系統2.1.1 89C51 單片機的概述該系列單片機是采用高性能的靜態80C51設計由先進CMOS工藝制造并帶有非易失性Flash 程序存儲器全部支持12時鐘和6時鐘操作P89C51X2和P89C52X2/54X2/58X2分別包含128字節和256字節RAM32條 I/O口線3個16位定時/計數器6輸入4優先級嵌套中斷結構1個串行I/O 口可用于多機通信I/O擴展或全雙工UART以及片內振蕩器和時鐘電路。 此外由于器件采用了靜態設計可提供很寬的操作頻率范圍頻率可降至0可實現兩個由軟件選擇的節電模式空閑模式和掉電

11、模式空閑模式凍結CPU但RAM定時器串口和中斷系統仍然工作掉電模式保存RAM 的內容但是凍結振蕩器導致所有其它的片內功能停止工作由于設計是靜態的時鐘可停止而不會丟失用戶數據運行可從時鐘停止處恢復。2.1.2 89C51 單片機管腳說明VCC:供電電壓。 GND:接地。工作電壓為5VP0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的低八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供

12、上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部

13、八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如下表所示: 口管腳 備選功能 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時器0外部輸入) P3.5

14、 T1(記時器1外部輸入) P3.6 /WR(外部數據存儲器寫選通) P3.7 /RD(外部數據存儲器讀選通) P3口同時為閃爍編程和編程校驗接收一些控制信號。 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置

15、0。此時, ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現。 EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的

16、輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。22 振蕩電路外接晶體引腳XTAL119腳 XTAL218腳圖2.1 晶振連接的內部、外部方式圖XTAL1是片內振蕩器的反相放大器輸入端,XTAL2則是輸出端,使用外部振蕩器時,外部振蕩信號應直接加到XTAL1,而XTAL2懸空。內部方式時,時鐘發生器對振蕩脈沖二分頻,如晶振為12MHz,時鐘頻率就為6MHz。晶振的頻率可以在1MHz-24MHz內選擇。電容取30PF左右。系統的時鐘電路設計是采用的內部方式,即利用芯片內部的振蕩電路。AT89單片機內部有一個用于構成振蕩器的高增益反相放大器。引腳XTAL1和XTAL2分別是此放大

17、器的輸入端和輸出端。這個放大器與作為反饋元件的片外晶體諧振器一起構成一個自激振蕩器。外接晶體諧振器以及電容C1和C2構成并聯諧振電路,接在放大器的反饋回路中。對外接電容的值雖然沒有嚴格的要求,但電容的大小會影響震蕩器頻率的高低、震蕩器的穩定性、起振的快速性和溫度的穩定性。因此,此系統電路的晶體振蕩器的值為12MHz,電容應盡可能的選擇陶瓷電容,電容值約為22F。在焊接刷電路板時,晶體振蕩器和電容應盡可能安裝得與單片機芯片靠近,以減少寄生電容,更好地保證震蕩器穩定和可靠地工作。2.3 復位電路在振蕩器運行時,有兩個機器周期(24個振蕩周期)以上的高電平出現在此引腿時,將使單片機復位,只要這個腳保

18、持高電平,51芯片便循環復位。復位后P0P3口均置1引腳表現為高電平,程序計數器和特殊功能寄存器SFR全部清零。當復位腳由高電平變為低電平時,芯片為ROM的00H處開始運行程序。復位是由外部的復位電路來實現的。片內復位電路是復位引腳RST通過一個斯密特觸發器與復位電路相連,斯密特觸發器用來抑制噪聲,它的輸出在每個機器周期的S5P2,由復位電路采樣一次。復位電路通常采用上電自動復位和按鈕復位兩種方式,此電路系統采用的是上電與按鈕復位電路。當時鐘頻率選用6MHz時,C取22F,Rs約為200,Rk約為1K。復位操作不會對內部RAM有所影響。常用的復位電路如圖2.2所示:圖2.2 常用復位電路圖3

19、LCD液晶顯示屏3.1 LCD1602 簡介1602是指顯示的內容為16*2,即可以顯示兩行,每行16個字符。目前市面上字符液晶絕大多數是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應用于市面上大部分的字符型液晶。1602 液晶顯示: 1602 液晶模塊內部的字符發生存儲器(CGROM)已經存儲了160 個不同的點陣字符圖形,這些字符有:阿拉伯數字、英文字母的大小寫、常用的符號、和日文假名等,每一個字符都有一個固定的代碼,比如大寫的英文字母“A”的代碼 是 01000001B(41H),顯示時模塊把地址41H中的點陣字符圖形顯示出來,我們就

20、能看到字母“A”。 1602 識別的是 ASCII 碼,試驗可以用 ASCII 碼直接賦值。VSS、 VDD、 V0 一般接地接電源(+5V) 液晶顯示器對比度調整端,接正電源時對比度最弱,接地電源時對比度最高(對比度過高時會產生“鬼影”,使用時可以通過一個 10K 的電位器調整對比度)。 RS 為寄存器選擇,高電1時選擇數據寄存器、低電0時選擇指令寄存器。R/W 為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。E(或 EN)端為使能(enable)端,下降沿使能。RS為數據/命令選擇端,當此腳為高電平時,可以對1602進行數據字節的傳輸操作,而為電平時,則是進行命令字節的傳輸操作。R/

21、W為讀寫選擇端。當此腳為高電平可對LCD1602進行讀數據操作,反之進行寫數據操作。下圖為LCD1602的讀操作時序和寫操作時序。1602 通過 D0D7 的8位數據端傳輸數據和指令。顯示模式設置: 0011 0000 0x38 設置 16×2 顯示、5×7 點陣,位數據接口;顯示開關及光標設置;0000 1DCB 當D顯示(1 有效)、 光標顯示(1 有效)、 光標閃爍(1 有效)0000 01NS N=1(讀 C B 或寫一個字符后地址指針加 1 &光標加 1),N=0(讀或寫一個字符后地址指針減 1 &光標減 1),S=1 且 N=1 (當寫一個字符后

22、,整屏顯示左移),S =0 當寫一個字 符后,整屏顯示不移動數據指針設置:數據首地址為 80H,所以數據地址為80H+ 地址碼(0-27H,40-67H),其他設置:01H(顯示清屏,數據指針=0,所有顯示=0);02H(顯示回車,數據指針=0)。寫指令08H 是關閉顯示 ,寫指令01H 顯示清屏, 寫指令06H光標移動設置 ,寫指令0cH 顯示開及光標設置。當我們要寫指令字,設置LCD1602的工作方式時:需要把RS置為低電平,RW置為低電平,然后將數據送到數據口D0D7,最后E引腳一個高脈沖將數據寫入。當我們要寫入數據字,在1602上實現顯示時:需要把RS置為高電平,RW置為低電平,然后將

23、數據送到數據口D0D7,最后E引腳一個高脈沖將數據寫入。圖3.1 LCD1602讀寫時序32 LCD1602主要參數引腳功能3.2.1 1602LCD主要技術參數:顯示容量:16×2個字符芯片工作電壓:4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm3.2.2引腳功能說明LCD1602引腳如圖3.2所示引腳圖的功能如表3.3所示LCD1602顯示模指令集(1)清屏功能:清DDROM值和AC值(2)歸位功能:光標復位,光標返回到地址00H(3)輸入方式設置功能:設置光標,畫面移動方式。其中:I/D=1

24、:數據讀寫操作后,AC 自加一;I/D=0:數據讀寫操作后,AC 自減一;S=1:數據讀寫操作,畫面平移;S=0:數據讀寫操作,畫面不動;(4)顯示開關控制功能:設置顯示、光標和閃爍開關。其中:D 表示顯示開關,D=1 為開,D=0 為關;C 表示光標開關,C=1 為開,C=0 為關;B 表示閃爍開關,B=1 為開,B=0 為關。(5)光標、畫面位移功能:光標、畫面移動。其中:S/C=1 畫面移動一個字符位;S/C=0 光標移動一個字符位;R/L=1:右移;R/L=0 左移。(6)功能設置功能:工作方式設置(初始化指令)。其中:DL=1,8 位數據接口;DL=0,4 位數據接口;N=1,兩行顯

25、示;N=0,一行顯示;F=1,5*10 點陣顯示;F=0,5*7 點陣顯示。(7)CGRAM 地址設置功能:設置CGRAM 地址,A5A0=03FH。(8)DDRAM 地址設置功能:設置DDRAM 地址。其中:N=0,一行顯示A6A0=04FH;N=1 兩行顯示,首行A6A0=02FH,次行A6A0=4067H。(9)讀BF 及AC 值功能:讀忙BF 和地址計數器AC 的值。其中:BF=1:忙,BF=0:準備好。此時AC 值意義為最近一次地址設置(CGRAM 或DDRAM)定義。(10)寫數據功能:根據最近設置的地址性質,數據寫入CGRAM 或DDRAM 中。(11)讀數據功能:根據最近設置的

26、地址性質,從CGRAM 或DDRAM 數據讀出。4 軟件設計4.1 系統框圖開 始 對LCD1602A進行初始化 判是否有按鍵按下 否 掃描按鍵延時 首行掃描字R3列掃描送P1掃描、判行確定鍵值鍵值入棧保護鍵值轉化為ASII碼,存入寄存器判釋放按鍵 否 判第七位是否為0繼續掃描否LCD1602A寫命令 顯 示延 時結 束4.2 程序#include<reg52.h>#define uint unsigned int#define uchar unsigned charuchar code table="XIE HAI LONG"uchar code table1

27、="JIA YOU!"sbit rs=P35;sbit rw=P36;sbit ep=P34;uchar a;void cao(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void zl(uchar com)rs=0;P0=com;cao(5);ep=1;cao(10);ep=0;void sj(uchar shu)rs=1;P0=shu;cao(5);ep=1;cao(10);ep=0;void init()rw=0;zl(0x38);zl(0x0c);zl(0x06);/zl(0x80+0x10);void main()init();for(a=0;a<13;a+)sj(tablea);cao(20);zl(0x80+0x40);for(a=0;a<8;a+)sj(table1a);cao(20);/for(a=0;a<16;a+)/zl(0x18);/cao(200);/while(1);4.3系統電路圖 運行狀況如圖:4.4 Proteus調試與仿真液晶顯示的調試比較簡單,把編譯好的上述程序指定到Proteus中的單片機中。運行Proteus即可在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論