版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE PAGE 75PAGE 1河池學(xué)院軟件課程(設(shè)計)論文(設(shè)計)題目:液晶廣告牌系級:物理與電子工程系專業(yè):電子信息工程年級:2011級學(xué)生姓名:莫國武指導(dǎo)教師:劉迪時間:20一三年6月一五日TOC o 1-3 h z u HYPERLINK l _Toc359692040 摘要 PAGEREF _Toc359692040 h 2 HYPERLINK l _Toc359692041 一、設(shè)計任務(wù)與要求 PAGEREF _Toc359692041 h 3 HYPERLINK l _Toc359692042 1.1任務(wù) PAGEREF _Toc359692042 h 3 HYPERLINK
2、 l _Toc359692043 1.2要求 PAGEREF _Toc359692043 h 3 HYPERLINK l _Toc359692044 二、方案的設(shè)計與論證 PAGEREF _Toc359692044 h 3 HYPERLINK l _Toc359692045 2.1方案一:基于單片機的LCD顯示廣告牌 PAGEREF _Toc359692045 h 3 HYPERLINK l _Toc359692046 2.2方案二:基于單片機的LED顯示廣告牌 PAGEREF _Toc359692046 h 3 HYPERLINK l _Toc359692047 2.3 方案比較 PAGER
3、EF _Toc359692047 h 3 HYPERLINK l _Toc359692048 三、單元模塊電路的設(shè)計 PAGEREF _Toc359692048 h 3 HYPERLINK l _Toc359692049 3.1單片機的引腳圖及簡要介紹 PAGEREF _Toc359692049 h 3 HYPERLINK l _Toc359692050 3.2 最小系統(tǒng)電路圖 PAGEREF _Toc359692050 h 6 HYPERLINK l _Toc359692051 3.3 LCD顯示屏介紹 PAGEREF _Toc359692051 h 7 HYPERLINK l _Toc35
4、9692052 3.4 QC12864B顯示屏及控制器ST7920 PAGEREF _Toc359692052 h 8 HYPERLINK l _Toc359692053 3.4按鍵模塊介紹 PAGEREF _Toc359692053 h 12 HYPERLINK l _Toc359692054 四、軟件設(shè)計與流程圖 PAGEREF _Toc359692054 h 一三 HYPERLINK l _Toc359692055 4.1軟件編程的介紹 PAGEREF _Toc359692055 h 一三 HYPERLINK l _Toc359692056 4.2軟件的設(shè)計總體流程圖 PAGEREF _
5、Toc359692056 h 一三 HYPERLINK l _Toc359692057 五、設(shè)計的總體概況及工作原理 PAGEREF _Toc359692057 h 14 HYPERLINK l _Toc359692058 5.1設(shè)計的總原理圖 PAGEREF _Toc359692058 h 14 HYPERLINK l _Toc359692059 5.2 PCB板圖 PAGEREF _Toc359692059 h 一五 HYPERLINK l _Toc359692060 5.3設(shè)計的工作原理 PAGEREF _Toc359692060 h 16 HYPERLINK l _Toc3596920
6、61 六、安裝與調(diào)試 PAGEREF _Toc359692061 h 一八 HYPERLINK l _Toc359692062 6.1電路的制作與安裝 PAGEREF _Toc359692062 h 一八 HYPERLINK l _Toc359692063 6.2電路軟件測試 PAGEREF _Toc359692063 h 19 HYPERLINK l _Toc359692064 七、設(shè)計總結(jié)和心得 PAGEREF _Toc359692064 h 20 HYPERLINK l _Toc359692065 八、參考文獻(xiàn) PAGEREF _Toc359692065 h 20 HYPERLINK l
7、 _Toc359692066 九、程序清單 PAGEREF _Toc359692066 h 21摘要電子技術(shù)的日新月異,使我們的生活更加方便、快捷。任何一個領(lǐng)域,技術(shù)總是在不停地向前發(fā)展。而隨著技術(shù)的發(fā)展,新的產(chǎn)品應(yīng)用也會跟著出現(xiàn),然后成熟和普及。正如在顯示器領(lǐng)域,由球面CRT到純平CRT,由純平CRT到如今主流的LCD液晶顯示,而LCD漢字滾動顯示更是應(yīng)用廣泛。本文設(shè)計了一種以AT89S52單片機為核心的低成本、高精度、微型化LCD漢字滾動顯示系統(tǒng)。系統(tǒng)由單片機、外圍電路、單片機最小系統(tǒng)以及顯示電路構(gòu)成。本文論述了由單片機控制的LCD漢字滾動顯示系統(tǒng)的基本原理,并闡述了運用Protel軟件實
8、現(xiàn)系統(tǒng)的設(shè)計以及該系統(tǒng)所應(yīng)用的領(lǐng)域。關(guān)鍵詞單片機AT89S52,LCD漢字滾動顯示,Protel一、設(shè)計任務(wù)與要求1.1任務(wù)利用液晶顯示器顯示100字以內(nèi)的10條固定漢字廣告信息,每條廣告信息可以依次輪流顯示,也可以選擇顯示,顯示采用前后滾動顯示,滾動速度可調(diào),采用的液晶顯示器是12864LCD(ST7920控制器)有字庫的。1.2要求利用LCD進(jìn)行顯示,LCD的有無字庫不作要求。二、方案的設(shè)計與論證2.1方案一:基于單片機的LCD顯示廣告牌隨著集成電路在微小型化、低功耗和高可靠性方面的發(fā)展,使得它們具有占用的面積小、價格低廉、易于購買、零輻射、低耗能、散熱小、輕薄纖巧、精確還原圖像、顯示字符
9、銳利、屏幕調(diào)節(jié)方便等諸多的優(yōu)點。2.2方案二:基于單片機的LED顯示廣告牌LED顯示屏是由發(fā)光二極管排列組成的。它采用低電壓掃描驅(qū)動,具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可是距離遠(yuǎn)等特點。可以顯示各種文字、數(shù)字、圖像及動畫等信息。2.3 方案比較在設(shè)計的過程中,方案的選擇必須與實際相聯(lián)系,要從各方面考慮設(shè)計的可行性,不僅要考慮其先進(jìn)性也要考慮其現(xiàn)實性和實用性,要從多方面綜合尋求最佳方案。在方案二中利用LED點陣顯示的方式能夠?qū)崿F(xiàn)廣告牌顯示的目的,但電路相比方案一相對復(fù)雜,而且控制起來還需要掌握其他一些附加的芯片。在方案一中,所用技術(shù)相對先進(jìn),而且硬件電路相對簡單可靠不需附加
10、其他的芯片,故利用方案一更為合理,故暫不采用方案二。三、單元模塊電路的設(shè)計3.1單片機的引腳圖及簡要介紹單片機如圖3.1所示。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線
11、,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。圖 3.1單片機AT89S52單片機的引腳介紹VCC :電源。GND:地。P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存
12、儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在 flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編
13、程和校驗時,P1口接收低8位地址字節(jié)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX xDPTR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX xRI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制
14、信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。引腳號第二功能P3.0RXD(串行輸入)P3.1TXD(串行輸出)P3.2INT0(外部中斷0)P3.3INT0(外部中斷1)P3.4T0(定時器0外部輸入)P3.5T1(定時器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選
15、通)P3.7RD(外部數(shù)據(jù)存儲器寫選通)RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要
16、,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當(dāng)AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接V
17、CC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。3.2 最小系統(tǒng)電路圖最小系統(tǒng)電路如圖3.2所示。圖3.2單片機最小系統(tǒng)單片機的置位和復(fù)位,都是為了把電路初始化到一個確定的狀態(tài),一般來說,單片機復(fù)位電路作用是把一個例如狀態(tài)機初始化到空狀態(tài),而在單片機內(nèi)部,復(fù)位的時候單片機是把一些寄存器以及存儲設(shè)備裝入廠商預(yù)設(shè)的一個值。單片機復(fù)位電路原理是在單片機的復(fù)位引腳RST上外接電阻和電容,實現(xiàn)上電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個機器周期以上時復(fù)位有效。復(fù)位電平的持續(xù)時間必須大于單片機的兩個機器周期。具體數(shù)值可以
18、由RC電路計算出時間常數(shù)。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成。(1)上電復(fù)位:STC89系列單片及為高電平復(fù)位,通常在復(fù)位引腳RST上連接一個電容到VCC,再連接一個電阻到GND,由此形成一個RC充放電回路保證單片機在上電時RST腳上有足夠時間的高電平進(jìn)行復(fù)位,隨后回歸到低電平進(jìn)入正常工作狀態(tài),這個電阻和電容的典型值為10K和10uF。(2)按鍵復(fù)位:按鍵復(fù)位就是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。單片機系統(tǒng)里都有晶振,在單片機系統(tǒng)里晶振作用非常大,全程叫晶體振蕩器,他結(jié)合單片機內(nèi)部電路產(chǎn)生單片機
19、所需的時鐘頻率,單片機晶振提供的時鐘頻率越高,那么單片機運行速度就越快,單片機的一切指令的執(zhí)行都是建立在單片機晶振提供的時鐘頻率。在通常工作條件下,普通的晶振頻率絕對精度可達(dá)百萬分之五十。高級的精度更高。有些晶振還可以由外加電壓在一定范圍內(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)需
20、要不同頻率的時鐘信號,可以用與同一個晶振相連的不同鎖相環(huán)來提供。AT89S52使用12MHz的晶體振蕩器作為振蕩源,由于單片機內(nèi)部帶有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容容量一般在一五pF至50pF之間。3.3 LCD顯示屏介紹1LCD的定義及作用 LCD 液晶顯示器是 Liquid Crystal Display 的簡稱,LCD 的構(gòu)造是在兩片平行的玻璃當(dāng)中放置液態(tài)的晶體,兩片玻璃中間有許多垂直和水平的細(xì)小電線,透過通電與否來控制桿狀水晶分子改變方向,將光線折射出來產(chǎn)生畫面。比CRT要好的多,但是價錢較其稍貴。 LCD主要應(yīng)用于電腦的顯示屏,隨著電子技術(shù)的發(fā)展越來越多的手寫
21、手機也大量使用LCD做顯示屏,還有一些廣告牌、標(biāo)語欄等也都用LCD來顯示。2LCD顯示器的工作原理從液晶顯示器的結(jié)構(gòu)來看,無論是筆記本電腦還是桌面系統(tǒng),采用的LCD顯示屏都是由不同部分組成的分層結(jié)構(gòu)。LCD由兩塊玻璃板構(gòu)成,厚約1mm,其間由包含有液晶材料的5m均勻間隔隔開。因為液晶材料本身并不發(fā)光,所以在顯示屏兩邊都設(shè)有作為光源的燈管,而在液晶顯示屏背面有一塊背光板(或稱勻光板)和反光膜,背光板是由熒光物質(zhì)組成的可以發(fā)射光線,其作用主要是提供均勻的背景光源。背光板發(fā)出的光線在穿過第一層偏振過濾層之后進(jìn)入包含成千上萬液晶液滴的液晶層。液晶層中的液滴都被包含在細(xì)小的單元格結(jié)構(gòu)中,一個或多個單元格
22、構(gòu)成屏幕上的一個像素。在玻璃板與液晶材料之間是透明的電極,電極分為行和列,在行與列的交叉點上,通過改變電壓而改變液晶的旋光狀態(tài),液晶材料的作用類似于一個個小的光閥。在液晶材料周邊是控制電路部分和驅(qū)動電路部分。當(dāng)LCD中的電極產(chǎn)生電場時,液晶分子就會產(chǎn)生扭曲,從而將穿越其中的光線進(jìn)行有規(guī)則的折射,然后經(jīng)過第二層過濾層的過濾在屏幕上顯示出來。液晶顯示技術(shù)也存在弱點和技術(shù)瓶頸,與CRT顯示器相比亮度、畫面均勻度、可視角度和反應(yīng)時間上都存在明顯的差距。其中反應(yīng)時間和可視角度均取決于液晶面板的質(zhì)量,畫面均勻度和輔助光學(xué)模塊有很大關(guān)系。對于液晶顯示器來說,亮度往往和他的背板光源有關(guān)。背板光源越亮,整個液晶
23、顯示器的亮度也會隨之提高。而在早期的液晶顯示器中,因為只使用2個冷光源燈管,往往會造成亮度不均勻等現(xiàn)象,同時明亮度也不盡人意。一直到后來使用4個冷光源燈管產(chǎn)品的推出,才有很大的改善。信號反應(yīng)時間也就是液晶顯示器的液晶單元響應(yīng)延遲。實際上就是指的液晶單元從一種分子排列狀態(tài)轉(zhuǎn)變成另外一種分子排列狀態(tài)所需要的時間,響應(yīng)時間愈小愈好,它反應(yīng)了液晶顯示器各像素點對輸入信號反應(yīng)的速度,即屏幕由暗轉(zhuǎn)亮或由亮轉(zhuǎn)暗的速度。響應(yīng)時間越小則使用者在看運動畫面時不會出現(xiàn)尾影拖拽的感覺。有些廠商會通過將液晶體內(nèi)的導(dǎo)電離子濃度降低來實現(xiàn)信號的快速響應(yīng),但其色彩飽和度、亮度、對比度就會產(chǎn)生相應(yīng)的降低,甚至產(chǎn)生偏色的現(xiàn)象。這
24、樣信號反應(yīng)時間上去了,但卻犧牲了液晶顯示器的顯示效果。有些廠商采用的是在顯示電路中加入了一片IC圖像輸出控制芯片,專門對顯示信號進(jìn)行處理的方法來實現(xiàn)的。IC芯片可以根據(jù)VGA輸出顯卡信號頻率,調(diào)整信號響應(yīng)時間。由于沒有改變液晶體的物理性質(zhì),因此對其亮度、對比度、色彩飽和度都沒有影響,這也是為什么華碩、三星、LG等技術(shù)型廠商的液晶產(chǎn)品畫面效果更好的原因,但是這種方法的制造成本也相對較高。由上便可看出,液晶面板的質(zhì)量并不能完全代表液晶顯示器的品質(zhì),沒有出色的顯示電路配合,再好的面板也不能做出性能優(yōu)異的液晶顯示器。隨著LCD產(chǎn)品產(chǎn)量的增加、成本的下降,液晶顯示器會大量普及。3.4 QC12864B顯
25、示屏及控制器ST7920ST7920控制器,5V電壓驅(qū)動,帶背光,內(nèi)置8192個1616點陣、128個字符(816點陣)及64256點陣顯示RAM(GDRAM),與外部CPU接口采用并行或串行兩種控制方式。本文將對以ST920為內(nèi)核的LCD12864的并行控制方式方式及C51編程方法予以介紹。1.QC12864B與單片機連線及介紹其電路如圖3.4所示圖3.42. QC12864B引腳說明引腳號引腳名稱方向功能說明1VSS-模塊的電源地2VDD-模塊的電源正端3V0-LCD驅(qū)動電壓輸入端4RS(CS)H/L并行的指令/數(shù)據(jù)選擇信號;串行的片選信號5R/W(SID)H/L并行的讀寫選擇信號;串行的
26、數(shù)據(jù)口6E(CLK)H/L并行的使能信號;串行的同步時鐘7DB0H/L數(shù)據(jù)08DB1H/L數(shù)據(jù)19DB2H/L數(shù)據(jù)210DB3H/L數(shù)據(jù)311DB4H/L數(shù)據(jù)412DB5H/L數(shù)據(jù)5一三DB6H/L數(shù)據(jù)614DB7H/L數(shù)據(jù)7一五PSBH/L并/串行接口選擇:H-并行;L-串行16NC空腳17/RETH/L復(fù)位低電平有效一八VOUT這腳沒用,可以懸空19LED_A(LED+5V),背光這腳可能與板上標(biāo)的不符,以線路板標(biāo)的為準(zhǔn)20LED_K(LED-OV)背光這腳可能與板上標(biāo)的不符,以線路板標(biāo)的為準(zhǔn)3主要技術(shù)參數(shù)和顯示特性:電源:VDD 3.3V+5V(內(nèi)置升壓電路,無需負(fù)壓);顯示內(nèi)容:128
27、列 64行顯示顏色:黃綠顯示角度:6:00鐘直視LCD類型:STN與MCU接口:8位或4位并行/3位串行配置LED背光多種軟件功能:光標(biāo)顯示、畫面移位、自定義字符、睡眠模式等邏輯工作電壓(VDD):4.55.5V電源地(GND):0V工作溫度(Ta):060(常溫) / -2075(寬溫)4.控制器接口信號說明:1、RS,R/W的配合選擇決定控制界面的4種模式:RSR/W功能說明LLMPU寫指令到指令暫存器(IR)LH讀出忙標(biāo)志(BF)及地址記數(shù)器(AC)的狀態(tài)HLMPU寫入數(shù)據(jù)到數(shù)據(jù)暫存器(DR)HHMPU從數(shù)據(jù)暫存器(DR)中讀出數(shù)據(jù)2、E信號E狀態(tài)執(zhí)行動作結(jié)果高低I/O緩沖DR配合/W進(jìn)
28、行寫數(shù)據(jù)或指令高DRI/O緩沖配合R進(jìn)行讀數(shù)據(jù)或指令低/低高無動作 5.忙標(biāo)志:BF BF標(biāo)志提供內(nèi)部工作情況.BF=1表示模塊在進(jìn)行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù).BF=0時,模塊為準(zhǔn)備狀態(tài),隨時可接受外部指令和數(shù)據(jù).利用STATUS RD 指令,可以將BF讀到DB7總線,從而檢驗?zāi)K之工作狀態(tài)6.指令說明指指令碼功能令RSR/WD7D6D5D4D3D2D1D0清除顯示0000000001地址歸位000000001X顯示狀態(tài)開/關(guān)0000001DCBD=1: 整體顯示 ONC=1: 游標(biāo)ON B=1:游標(biāo)位置反白允許進(jìn)入點設(shè)定00000001I/DS指定在數(shù)據(jù)的讀取與寫入時,設(shè)定游標(biāo)
29、的移動方向及指定顯示的移位游標(biāo)或顯示移位控制000001S/CR/LXX設(shè)定游標(biāo)的移動與顯示的移位控制位;這個指令不改變DDRAM 的內(nèi)容功能設(shè)定00001DLXREXXDL=0/1:4/8位數(shù)據(jù)RE=1: 擴充指令操作RE=0: 基本指令操作設(shè)定CGRAM地址0001AC5AC4AC3AC2AC1AC0設(shè)定CGRAM 地址設(shè)定DDRAM地址0010AC5AC4AC3AC2AC1AC0設(shè)定DDRAM 地址(顯示位址)第一行:80H87H第二行:90H97H讀取忙標(biāo)志和地址01BFAC6AC5AC4AC3AC2AC1AC0讀取忙標(biāo)志(BF)可以確認(rèn)內(nèi)部動作是否完成,同時可以讀出地址計數(shù)器(AC)
30、的值寫數(shù)據(jù)到RAM10數(shù)據(jù)將數(shù)據(jù)D7D0寫入到內(nèi)部的RAM (DDRAM/CGRAM/IRAM/GRAM)讀出RAM的值11數(shù)據(jù)從內(nèi)部RAM讀取數(shù)據(jù)D7D0(DDRAM/CGRAM/IRAM/GRAM)7.時序圖 MPU寫資料到ST7920(8位數(shù)據(jù)線模式)8.漢子坐標(biāo)顯示字符顯示RAM在液晶模塊中的地址80H9FH。字符顯示的RAM的地址與32個字符顯示區(qū)域有著一一對應(yīng)的關(guān)系,其對應(yīng)關(guān)系如下表所示。80H81H82H83H84H85H86H87H90H91H92H93H94H95H96H97H88H89H8AH8BH8CH8DH8EH8FH98H99H9AH9BH9CH9DH9EH9FH3.
31、4按鍵模塊介紹其電路圖如圖3.4所示圖3.4按鍵功能說明:KEY1的功能是廣告前后滾動顯示和廣告依次輪流顯示的跳轉(zhuǎn),它的第二功能是:當(dāng)進(jìn)入廣告選擇顯示時,它執(zhí)行的是選擇下一條的操作;KEY2的功能是廣告選擇顯示的跳轉(zhuǎn),它的第二功能是:當(dāng)進(jìn)入廣告選擇顯示時,它執(zhí)行的是選擇上一條的操作;KEY3的功能是廣告前后滾動顯示的加速鍵,其按鍵連接的是52單片機的P3.2引腳,是外是外部中斷0的輸入接口;KEY4的功能是廣告前后滾動顯示的減速鍵,其按鍵連接的是52單片機的P3.3引腳,是外是外部中斷1的輸入接口;KEY5的功能是當(dāng)進(jìn)入廣告選擇顯示時,它執(zhí)行的是廣告前后滾動顯示的操作。四、軟件設(shè)計與流程圖4.
32、1軟件編程的介紹軟件系統(tǒng)在作品設(shè)計中占有重要的地位,軟件的設(shè)計是在硬件系統(tǒng)和需要的功能基礎(chǔ)之上進(jìn)行程序設(shè)計的,并不斷的調(diào)試完善的。在本項目中不需要太復(fù)雜的編程語言,使用簡單的C語言編程,本設(shè)計采用模塊化編程,分別對液晶顯示模塊和AD轉(zhuǎn)換模塊采用獨立編程。使用C語言很容易實現(xiàn)程序的模塊化設(shè)計。4.2軟件的設(shè)計總體流程圖五、設(shè)計的總體概況及工作原理5.1設(shè)計的總原理圖其電路圖如圖5.1所示圖5.15.2 PCB板圖其電路圖如圖5.2所示圖5.25.3設(shè)計的工作原理本設(shè)計要實現(xiàn)的功能通過液晶顯示器顯示100字以內(nèi)的10條固定漢字廣告信息,每條廣告信息可以依次輪流顯示,也可以選擇顯示,顯示采用前后滾動
33、顯示,滾動速度可調(diào)。在設(shè)計中廣告信息可以依次輪流顯示是通過定時給12864液晶屏送數(shù)據(jù)及清零實現(xiàn)的,對每條廣告信息可以選擇顯示是通過switch(num)函數(shù)實現(xiàn)的,對廣告信息采用前后滾動顯示是通過12864液晶指令write_com(0 x一八)顯示向左移位指令實現(xiàn)的,滾動速度可調(diào)是通過AT89S52單片機里面的外部中斷0和外部中斷1實現(xiàn)的。5.4各個函數(shù)的寫法整個程序是由忙檢測子函數(shù)、寫指令子函數(shù)、寫數(shù)據(jù)子函數(shù)、漢字顯示子函數(shù)、按鍵檢測函數(shù)、主函數(shù)和中斷函數(shù)構(gòu)成。忙檢測函數(shù)void chk_busy()/檢查忙位(底層) RS=0; RW=1; E=1; P2=0 xff; while(P
34、2&0 x80)=0 x80); E=0;確保P2數(shù)據(jù)口的最高位是否為0,如果為1的話,表示模塊在進(jìn)行內(nèi)部操作,此時模塊不接受外部指令和數(shù)據(jù),只有P2數(shù)據(jù)口最高位為0時,模塊才可以接受外部指令和數(shù)據(jù)。寫指令子函數(shù)和寫數(shù)據(jù)子函數(shù)void write_com(uchar com)/寫命令到LCD(底層)chk_busy();RS=0;RW=0;E=1;P2=com;E=0;void write_dat(uchar dat) /寫數(shù)據(jù)到LCD(底層)chk_busy();RS=1;RW=0;E=1;P2=dat;E=0;由并行寫操作時序可知,發(fā)送指令和數(shù)據(jù)只需要送一個高脈沖即可。(3)漢字顯示子函數(shù)
35、uchar table=廣告信息;void delay(void) uchar i; write_com(0 x82); /寫入“廣告信息” for(i=0;i8;i+) write_dat(tablei); (4)按鍵檢測函數(shù)if(KEY = 0) delay_ms(10); /延時消抖 if(KEY= 0) while(!KEY); /等待按鍵釋放執(zhí)行相應(yīng)程序; (5)主函數(shù)main() KEY_1 = 1;KEY_2 = 1;KEY_3 = 1;KEY_4 = 1;KEY_5 = 1;/初始鍵盤lcd_init(); /初始化液晶顯示器 EA=1; /全局中斷開 EX0=1; /外部中斷
36、0開 IT0=1; /IT1=0表示邊沿觸發(fā) EX1=1; /外部中斷1開 IT1=1; /IT1=1表示邊沿觸發(fā) while(1) 執(zhí)行相應(yīng)程序; (6)中斷函數(shù)void ISR_Key(void) interrupt 0 if(KEY=0) delay_ms(10);/在此處可以添加去抖動程序,防止按鍵抖動造成錯誤 if(KEY=0) while(!KEY);/等待按鍵釋放 while(1) 執(zhí)行相應(yīng)程序; 六、安裝與調(diào)試6.1電路的制作與安裝單片機最小系統(tǒng)電路和12864液晶顯示電路用protel99se畫原理圖,畫PCB板,用熱轉(zhuǎn)印法制作電路板。電路板做好后焊接好相應(yīng)的元器件,元器件焊
37、完后檢查好電路看是否連接正確,以免通電燒壞電路。焊接好的電路如圖6.1所示圖6.1 電路實物圖6.2電路軟件測試硬件測試完后,接著進(jìn)行軟件的測試,編寫一個液晶顯示程序,觀察液晶是否顯示正常。液晶能夠正常顯示,說明下載器正常工作,電路運行正常。電路調(diào)試成功后如圖6.2所示圖6.2 調(diào)試成功后的實物圖七、設(shè)計總結(jié)和心得我覺得做單片機課程設(shè)計是十分有意義的,而且是十分必要的。我們在課堂上掌握的僅僅是專業(yè)課的理論知識,如何去鍛煉我們的實踐能力?如何把我們所學(xué)的專業(yè)基礎(chǔ)課理論知識運用到實踐中去呢?我想做類似的課程設(shè)計就為我們提供了良好的實踐平臺。在做本次課程設(shè)計的過程中,我感觸最深的當(dāng)屬查閱很多設(shè)計資料
38、了,無論是課本上的還是網(wǎng)上的都瀏覽了不少相關(guān)的程序,從中也借鑒了別人的思想,開闊了自己的思路。做單片機課程設(shè)計,對設(shè)計者對軟硬件的理解和掌握的要求都比較高。在設(shè)計程序之前,設(shè)計者必學(xué)對所用單片機的內(nèi)部結(jié)構(gòu)有一個系統(tǒng)的了解,知道該單片機內(nèi)有哪些資源;要有一個清晰的思路和一個完整的的軟件流程圖;在設(shè)計程序時,不能妄想一次就將整個程序設(shè)計好,反復(fù)修改、不斷我覺得做單片機課程設(shè)計是十分有意義的,而且是十分必要的。經(jīng)過兩周的單片機課程設(shè)計,成功的完成了對液晶顯示廣告牌的設(shè)計。在設(shè)計的過程中遇到了諸多的問題,但在同學(xué)的幫助下問題都得以解決。首先,在此非常感謝同學(xué)在設(shè)計中對我的幫助和督促,指導(dǎo)了我怎樣利用已
39、有的知識分析電路和設(shè)計電路,怎樣用protel99se軟件來畫原理圖,最重要的是讓我學(xué)到了做人應(yīng)該具有嚴(yán)謹(jǐn)和認(rèn)真的態(tài)度。再設(shè)計的過程中由于自己性格浮躁和沒有耐心的原因,使得課程設(shè)計遲遲沒能完成。要體驗成功的快感就得付出百般的努力,曾經(jīng)做事毛手毛腳和半途而廢我也終于在同學(xué)的幫助下體驗了一回成功的樂趣。在這次課程設(shè)計的過程中,我不僅鞏固了很多的理論知識而且還讓我積累了很多將理論運用于實踐的經(jīng)驗。同時也激發(fā)了我對理論知識學(xué)習(xí)的興趣,更培養(yǎng)了我獨立思考和解決問題的能力。八、參考文獻(xiàn)1郭天祥.51單片機C語言教程M.電子工業(yè)出版社,20092童詩白,華成英.模擬電子技術(shù)基礎(chǔ)M.清華大學(xué)出版社,20063
40、李鳳霞.C語言程序設(shè)計教程M.北京理工大學(xué)出版社,2011九、程序清單/*/頭文件#include #include #define uint unsigned int#define uchar unsigned char/*/聲明函數(shù) void delay26(); void delay27(); void delay28(); void delay29(); /*/定義變量 int num; num=1;/*/鍵盤引腳定義sbit KEY_1 = P30;sbit KEY_2 = P31;sbit KEY_3 = P32;sbit KEY_4 = P33;sbit KEY_5 = P34;
41、/*/液晶顯示內(nèi)容uchar table1=河池學(xué)院;uchar table2=廣西大學(xué);uchar table3=廣西科技大學(xué);uchar table4=廣西師范大學(xué);uchar table5=廣西財經(jīng)學(xué)院;uchar table6=廣西醫(yī)科大學(xué);uchar table7=玉林師院;uchar table8=欽州學(xué)院;uchar table9=廣西民族學(xué)院;uchar table10=廣西藝術(shù)學(xué)院;/*/LCD接口定義sbit RS = P35;/模式位,為0輸入指令,為1輸入數(shù)據(jù)sbit RW = P36;/讀寫位,為0讀,為1寫sbit E = P37;/使能位sbit psb = P0
42、7;/并行或串行選擇/#define P P2;/*/void delay_ms(uint x)/延時函數(shù) 1MS/次uint i,j;for(i=0;ix;i+) for(j=0;j110;j+); /j 從0加到110,CPU大概就耗時1毫秒/*/LCD驅(qū)動(12864液晶顯示屏并口驅(qū)動程序)void chk_busy()/檢查忙位(底層) RS=0; RW=1; E=1; P2=0 xff; while(P2&0 x80)=0 x80); E=0;/*/void write_com(uchar com)/寫命令到LCD(底層)chk_busy();RS=0;RW=0;E=1;P2=com
43、;E=0;/*/void write_dat(uchar dat) /寫數(shù)據(jù)到LCD(底層)chk_busy();RS=1;RW=0;E=1;P2=dat;E=0;/*/void lcd_init()/初始化LCD屏(被調(diào)用層) psb = 1; write_com(0 x30); /選擇8bit數(shù)據(jù)流 write_com(0 x0c); /開顯示(無游標(biāo)、不反白) write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H/*/廣告內(nèi)容顯示程序void delay1(void) uchar i,j; write_com(0 x82); /寫入“河池學(xué)院” for(i=0;i8;
44、i+) write_dat(table1i); write_com(0 x8a); /寫入“廣西大學(xué)” for(j=0;j8;j+) write_dat(table2j); /*/void delay2(void) uchar i,j; write_com(0 x82); /寫入“廣西大學(xué)” for(i=0;i8;i+) write_dat(table2i); write_com(0 x89); /寫入“廣西科技大學(xué)” for(j=0;j12;j+) write_dat(table3j); /*/void delay3(void) uchar i,j; write_com(0 x81); /寫
45、入“廣西科技大學(xué)” for(i=0;i12;i+) write_dat(table3i); write_com(0 x89); /寫入“廣西師范大學(xué)” for(j=0;j12;j+) write_dat(table4j); /*/void delay4(void) uchar i,j; write_com(0 x81); /寫入“廣西師范大學(xué)” for(i=0;i12;i+) write_dat(table4i); write_com(0 x89); /寫入“廣西財經(jīng)學(xué)院” for(j=0;j12;j+) write_dat(table5j); /*/void delay5(void) uch
46、ar i,j; write_com(0 x81); /寫入“廣西財經(jīng)學(xué)院” for(i=0;i12;i+) write_dat(table5i); write_com(0 x89); /寫入“廣西醫(yī)科大學(xué)” for(j=0;j12;j+) write_dat(table6j); /*/void delay6(void) uchar i,j; write_com(0 x81); /寫入“廣西醫(yī)科大學(xué)” for(i=0;i12;i+) write_dat(table6i); write_com(0 x8a); /寫入“玉林師院” for(j=0;j8;j+) write_dat(table7j);
47、 /*/ void delay7(void) uchar i,j; write_com(0 x82);/寫入“玉林師院” for(i=0;i8;i+) write_dat(table7i); write_com(0 x8a);/寫入“欽州學(xué)院” for(j=0;j8;j+) write_dat(table8j); /*/void delay8(void) uchar i,j; write_com(0 x82);/寫入“欽州學(xué)院” for(i=0;i8;i+) write_dat(table8i); write_com(0 x89);/寫入“廣西民族學(xué)院” for(j=0;j12;j+) wri
48、te_dat(table9j); /*/void delay9(void) uchar i,j; write_com(0 x81); /寫入“廣西民族學(xué)院” for(i=0;i12;i+) write_dat(table9i); write_com(0 x89);/寫入“廣西藝術(shù)學(xué)院” for(j=0;j12;j+) write_dat(table10j); /*/void delay10(void) uchar i,j; write_com(0 x81); /寫入“廣西藝術(shù)學(xué)院” for(i=0;i12;i+) write_dat(table10i); write_com(0 x8a); /
49、寫入“河池學(xué)院” for(j=0;j8;j+) write_dat(table1j); /*/void delay11(void) uchar i; write_com(0 x92); /寫入“河池學(xué)院” for(i=0;i8;i+) write_dat(table1i); /*/void delay12(void) uchar i; write_com(0 x92); /寫入“廣西大學(xué)” for(i=0;i8;i+) write_dat(table2i); /*/void delay一三(void) uchar i; write_com(0 x91); /寫入“廣西科技大學(xué)” for(i=0
50、;i12;i+) write_dat(table3i); /*/void delay14(void) uchar i; write_com(0 x91); /寫入“廣西師范大學(xué)” for(i=0;i12;i+) write_dat(table4i); /*/void delay一五(void) uchar i; write_com(0 x91); /寫入“廣西財經(jīng)大學(xué)” for(i=0;i12;i+) write_dat(table5i); /*/void delay16(void) uchar i; write_com(0 x91); /寫入“廣西醫(yī)科大學(xué)” for(i=0;i12;i+)
51、write_dat(table6i); /*/void delay17(void) uchar i; write_com(0 x92); /寫入“玉林師院” for(i=0;i8;i+) write_dat(table7i); /*/void delay一八(void) uchar i; write_com(0 x92); /寫入“欽州學(xué)院” for(i=0;i8;i+) write_dat(table8i); /*/void delay19(void) uchar i; write_com(0 x91); /寫入“廣西民族大學(xué)” for(i=0;i12;i+) write_dat(table
52、9i); /*/void delay20(void) uchar i; write_com(0 x91); /寫入“廣西藝術(shù)學(xué)院” for(i=0;i12;i+) write_dat(table10i); /*/廣告內(nèi)容左右滾動程序 void delay21(void) uchar i; while(1) write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00Hfor(i=0;i11;i+) delay1(); delay_ms(1200); delay28(); /跳轉(zhuǎn)到向上滾動和可選擇顯示 write_com(0 x一八); /顯示向左移動 (第一二條) /*/ write
53、_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H for(i=0;i10;i+) delay3(); delay_ms(1200); delay28(); write_com(0 x一八); /顯示向左移動 (第三四條) /*/ write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H for(i=0;i10;i+) delay5(); delay_ms(1200); delay28(); write_com(0 x一八); /顯示向左移動 (第五六條) /*/ write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H for(i=0;i11;i+
54、) delay7(); delay_ms(1200); delay28(); write_com(0 x一八); /顯示向左移動 (第七八條) /*/ write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H for(i=0;i10;i+) delay9(); delay_ms(1200); delay28(); write_com(0 x一八); /顯示向左移動 (第九十條) /*/選擇上下條廣告程序void delay22(void)while(1)switch(num) case 1: write_com(0 x01); delay11(); delay_ms(100);
55、 delay29();/跳轉(zhuǎn)到左右滾動程序if(KEY_1 = 0) delay_ms(10); /延時消抖 if(KEY_1= 0) while(!KEY_1); /等待按鍵釋放 num+; if(KEY_2 = 0) delay_ms(10); /延時消抖 if(KEY_2= 0) while(!KEY_2); /等待按鍵釋放 num=10; break; case 2: write_com(0 x01); delay12(); delay_ms(100); delay29();/跳轉(zhuǎn)到左右滾動程序 delay26();/按鍵檢測 break; case 3: write_com(0 x0
56、1); delay一三(); delay_ms(100); delay29(); delay26(); break; case 4: write_com(0 x01); delay14(); delay_ms(100); delay29(); delay26(); break; case 5: write_com(0 x01); delay一五(); delay_ms(100); delay29(); delay26(); break; case 6: write_com(0 x01); delay16(); delay_ms(100); delay29(); delay26(); break
57、; case 7: write_com(0 x01); delay17(); delay_ms(100); delay29(); delay26(); break; case 8: write_com(0 x01); delay一八(); delay_ms(100); delay29(); delay26(); break; case 9: write_com(0 x01); delay19(); delay_ms(100); delay29(); delay26(); break; case 10: write_com(0 x01); delay20(); delay_ms(100); de
58、lay29(); if(KEY_1 = 0) delay_ms(10); /延時消抖 if(KEY_1= 0) while(!KEY_1); /等待按鍵釋放 num=1; if(KEY_2 = 0) delay_ms(10); /延時消抖 if(KEY_2= 0) while(!KEY_2); /等待按鍵釋放 num-; break; /*/廣告內(nèi)容上下滾動程序void delay23(void) write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00H delay1(); /廣告內(nèi)容 delay27(); / delay_ms(1200); write_com(0 x01);
59、 delay2(); delay27(); delay_ms(1200);write_com(0 x01); delay3(); delay27(); delay_ms(1200);write_com(0 x01); delay4(); delay27(); delay_ms(1200);write_com(0 x01); delay5(); delay27(); delay_ms(1200);write_com(0 x01); delay6(); delay27(); delay_ms(1200); write_com(0 x01); delay7(); delay27(); delay_m
60、s(1200); write_com(0 x01); delay8(); delay27(); delay_ms(1200);write_com(0 x01); delay9(); delay27(); delay_ms(1200); write_com(0 x01); delay10(); delay27(); delay_ms(1200); /*/廣告內(nèi)容左右快速滾動程序 void delay24(void) uchar i; while(1) write_com(0 x01); /清除顯示,并且設(shè)定地址指針為00Hfor(i=0;i11;i+) delay1(); delay_ms(50
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省行政職業(yè)能力測驗真題2015年
- 浙江行政職業(yè)能力70
- 地方公務(wù)員浙江申論128
- 第一章+第一節(jié)+心理學(xué)與幼兒心理學(xué)概述(教案)-《幼兒心理學(xué)》(人教版第二版)
- 心理健康教育備課
- 地方公務(wù)員陜西申論79
- 天津申論模擬65
- 地方公務(wù)員廣東申論182
- 24.3 銳角三角函數(shù) 華師大版數(shù)學(xué)九年級上冊教案
- 2024年授權(quán)代理合同范本
- 百年孤獨精品課件
- 追求遠(yuǎn)大理想堅定崇高信念-課件
- 慢性咳嗽病因分析課件
- 影視廣告策劃與制作課件
- 粉塵清掃記錄
- 大數(shù)據(jù)技術(shù)原理與應(yīng)用 完整版課件
- 接地裝置隱蔽工程驗收記錄
- 創(chuàng)新創(chuàng)業(yè)路演PPT
- 第5課 耕牛-戰(zhàn)馬 課件 八年級上冊
- 觀看公安民警違紀(jì)警示教育片心得體會三篇
- 再生水清水池施工技術(shù)措施
評論
0/150
提交評論