




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、摘 要桂林航天工業(yè)學(xué)院 實(shí)習(xí)報(bào)告課程名稱 單片機(jī)課程設(shè)計(jì) 開(kāi)課學(xué)期 2014-2015春 實(shí) 驗(yàn) 室 南實(shí)408 班 級(jí) 20130922z01 組 員:馮基恒(學(xué)號(hào):20130922z0102)肖淼 (學(xué)號(hào):20130922z0103)指導(dǎo)教師: 吳慧峰 日 期: 2015.7 I摘要本文介紹了一款以單片機(jī)AT89C52為控制器的LED點(diǎn)陣顯示屏系統(tǒng)的設(shè)計(jì)。該系統(tǒng)可實(shí)現(xiàn)中英文字符以及特殊字符的顯示和動(dòng)態(tài)特效顯示,通過(guò)控制按鈕,可以實(shí)現(xiàn)不同效果間切換,達(dá)到實(shí)際應(yīng)用中廣告牌的要求。并且可以通過(guò)級(jí)連的方式來(lái)擴(kuò)大顯示屏幕的尺寸以達(dá)到增加顯示內(nèi)容的目的。系統(tǒng)采用PC機(jī)作為上位機(jī),上位機(jī)向單片機(jī)發(fā)送控制
2、命令和上位機(jī)所存儲(chǔ)的顯示代碼,AT89C52單片機(jī)接收并處理PC機(jī)的控制命令以及顯示代碼,由顯示驅(qū)動(dòng)模塊驅(qū)動(dòng)一個(gè)16×16分辨率的LED點(diǎn)陣顯示屏的掃描顯示。選用兩片74HC138譯碼器作為I /O口的擴(kuò)展,與LED點(diǎn)陣顯示屏的控制列腳相連,16×16的點(diǎn)陣顯示由4塊8×8點(diǎn)陣組成。軟件選用C語(yǔ)言程序編寫(xiě)。外部中斷0輸入口接控制按鈕實(shí)現(xiàn)不同效果間的轉(zhuǎn)換。所選用的AT89C52單片機(jī)具有價(jià)格低廉程序?qū)懭敕奖愕奶攸c(diǎn)使得整個(gè)系統(tǒng)方便維護(hù)和檢修。除此之外,該系統(tǒng)只占用了單片機(jī)少量的I /O口和內(nèi)存,為系統(tǒng)留下了功能擴(kuò)展的空間。 I目 錄1 緒論11.1 課題背景11.1.
3、1 選題背景11.1.2 研究現(xiàn)狀及發(fā)展趨勢(shì)11.2 論文主要內(nèi)容12 系統(tǒng)總體方案設(shè)計(jì)22.1 系統(tǒng)硬件設(shè)計(jì)方案22.1 系統(tǒng)軟件設(shè)計(jì)方案23 硬件系統(tǒng)設(shè)計(jì)33.1 硬件整體設(shè)計(jì)概述33.2 控制單元43.2.1 AT89C52基本介紹43.2.2 控制系統(tǒng)設(shè)計(jì)43.3 譯碼器53.4 LED點(diǎn)陣顯示屏63.4.1 LED點(diǎn)陣顯示屏的基本介紹63.4.2 LED點(diǎn)陣顯示屏的工作原理74 軟件系統(tǒng)設(shè)計(jì)94.1 程序設(shè)計(jì)94.2 顯示程序的設(shè)計(jì)104.2.1 點(diǎn)陣數(shù)據(jù)表達(dá)方式104.2.2 動(dòng)態(tài)特效顯示程序的設(shè)計(jì)104.3 外部中斷程序125 系統(tǒng)調(diào)試135.1 系統(tǒng)調(diào)試的基本過(guò)程135.1.1
4、 軟件調(diào)試135.2 系統(tǒng)調(diào)試的結(jié)果14結(jié)論15致謝16參考文獻(xiàn)17附錄18附錄1:硬件原理圖18附錄2:C語(yǔ)言程序19231 緒論1.1 課題背景1.1.1 選題背景LED顯示屏是八十年代后期在全球迅速發(fā)展起來(lái)的新型信息顯示媒體,顯示屏由幾萬(wàn)到幾十萬(wàn)個(gè)半導(dǎo)體發(fā)光二極管像素點(diǎn)均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)色和純綠色LED的開(kāi)發(fā)已經(jīng)達(dá)到了實(shí)用階段。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無(wú)法比擬的優(yōu)點(diǎn)。LED顯示屏的應(yīng)用涉及社會(huì)經(jīng)濟(jì)的許多領(lǐng)域,主要包括
5、:(1)證券交易、金融信息顯示。(2)機(jī)場(chǎng)航班動(dòng)態(tài)信息顯示。(3)港口、車站旅客引導(dǎo)信息顯示。(4)體育場(chǎng)館信息顯示。(5)道路交通信息顯示。(6)調(diào)度指揮中心信息顯示。(7)郵政、電信、商場(chǎng)購(gòu)物中心等服務(wù)領(lǐng)域的業(yè)務(wù)宣傳及信息顯示。(8)廣告媒體新產(chǎn)品等。1.1.2 研究現(xiàn)狀及發(fā)展趨勢(shì)LED之所以受到廣泛重視而得到迅速發(fā)展,是與它本身所具有的優(yōu)點(diǎn)分不開(kāi)的。這些優(yōu)點(diǎn)概括起來(lái)是:亮度高、工作電壓低、功耗小、大型化、壽命長(zhǎng)、耐沖擊和性能穩(wěn)定。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性,可靠性、全色化方向發(fā)展。在街上隨處可見(jiàn)LED廣告牌,從最初的靜態(tài)顯
6、示,到后來(lái)的左移滾動(dòng)、右移滾動(dòng)、上移、下移、閃爍、卷動(dòng)等各種花樣顯示,由起初的一種控制,向多種控制發(fā)展,現(xiàn)越來(lái)越趨于多樣化,美觀化。1.2 論文主要內(nèi)容本設(shè)計(jì)為一款能夠顯示不同字符的LED點(diǎn)陣廣告牌,能夠顯示中文、英文及特殊符號(hào),并通過(guò)控制按鈕能夠?qū)崿F(xiàn)不同顯示效果間的切換,有左移、上移和閃爍。論文包括系統(tǒng)總體方案設(shè)計(jì),硬件系統(tǒng)設(shè)計(jì),系統(tǒng)軟件設(shè)計(jì),系統(tǒng)調(diào)試及結(jié)論。在系統(tǒng)總體方案設(shè)計(jì)中給出了系統(tǒng)設(shè)計(jì)硬件框圖及軟件功能結(jié)構(gòu)框圖。在硬件系統(tǒng)設(shè)計(jì)中給出了硬件原理圖,各部分電路圖,元件原理圖等。在系統(tǒng)軟件設(shè)計(jì)中,有系統(tǒng)主程序及功能模塊流程圖等。系統(tǒng)調(diào)試包括軟件調(diào)試和硬件調(diào)試,并給出了調(diào)試的結(jié)果。附錄中存放
7、有硬件原理圖及完整的C語(yǔ)言程序。2 系統(tǒng)總體方案設(shè)計(jì)2.1 系統(tǒng)硬件設(shè)計(jì)方案以PC機(jī)作為上位機(jī)存儲(chǔ)和處理顯示內(nèi)容用串行通信的方式將顯示內(nèi)容和控制指令傳輸?shù)絾纹瑱C(jī)系統(tǒng),單片機(jī)根據(jù)上位機(jī)傳輸來(lái)的內(nèi)容和指令通過(guò)端口譯碼擴(kuò)展后驅(qū)動(dòng)4塊8×8LED點(diǎn)陣模塊構(gòu)成的16×16的LED點(diǎn)陣顯示屏。方案框圖見(jiàn)圖2-1。圖2-1 硬件設(shè)計(jì)框圖2.1 系統(tǒng)軟件設(shè)計(jì)方案軟件的設(shè)計(jì)需要實(shí)現(xiàn)以下功能:顯示不同字符的LED點(diǎn)陣廣告牌,至少顯示兩個(gè)漢字;有中斷控制程序?qū)崿F(xiàn)不同效果間切換,如左移、上移、閃爍等;能夠顯示自定義字符。由此,軟件大致可以分為主程序,中斷控制程序,各種特效顯示子程序三個(gè)主要部分組成
8、。具體結(jié)構(gòu)圖見(jiàn)圖2-2。圖2-2 軟件功能結(jié)構(gòu)框圖本文軟件的編寫(xiě)用Keil軟件以及C語(yǔ)言編寫(xiě),編譯完成后,生成后綴名為.hex的可執(zhí)行文件,用單片機(jī)硬件仿真開(kāi)發(fā)工具Proteus7.5進(jìn)行電路原理實(shí)驗(yàn)及綜合系統(tǒng)仿真,進(jìn)行各種運(yùn)行和調(diào)試。最后再下載到單片機(jī)中執(zhí)行。3 硬件系統(tǒng)設(shè)計(jì)3.1 硬件整體設(shè)計(jì)概述顯示系統(tǒng)具體設(shè)計(jì)主要由上位機(jī),單片機(jī)系統(tǒng),控制電路,譯碼電路, 16×16的點(diǎn)陣屏五部分組成。具體工作流程為:上位PC機(jī)編寫(xiě)好程序后下載到單片機(jī)中,單片機(jī)執(zhí)行相應(yīng)的指令處理顯示代碼將顯示內(nèi)容通過(guò)I/O口輸出并且譯碼電路完成擴(kuò)展并輸出,最后達(dá)到LED顯示屏的顯示電流、電壓要求進(jìn)而使顯示屏顯
9、示內(nèi)容。根據(jù)硬件的功能結(jié)構(gòu)圖選取合適器件,器件不但要求能實(shí)現(xiàn)所要求的功能還要能兼容至整個(gè)系統(tǒng)之中。通過(guò)查閱資料和對(duì)比最終的硬件原理圖見(jiàn)圖3-1。圖3-1 硬件原理圖(換圖)該系統(tǒng)所要實(shí)現(xiàn)的功能和要求有以下幾點(diǎn):1) LED顯示屏的面積必須滿足至少顯示一個(gè)漢字的標(biāo)準(zhǔn),并且顯示要清晰。2) 能夠進(jìn)行不同效果顯示間的切換。3) 兩個(gè)譯碼器不能同時(shí)工作。單片機(jī)要能夠處理控制LED顯示屏的顯示,并且端口驅(qū)動(dòng)能力要足以驅(qū)動(dòng)譯碼電路,執(zhí)行頻率要能達(dá)到掃描顯示的最低要求。3.2 控制單元控制單元是整個(gè)顯示系統(tǒng)的核心,該系統(tǒng)中采用52系列單片機(jī)為核心器件,用來(lái)和上位機(jī)通信處理上位機(jī)發(fā)送的控制指令和顯示內(nèi)容。并且
10、直接輸出數(shù)據(jù)通過(guò)譯碼電路控制LED顯示屏的顯示內(nèi)容和顯示狀態(tài)。3.2.1 AT89C52基本介紹AT89C52是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能單片機(jī),片內(nèi)含8KB的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn)。ATMEL公司的功能強(qiáng)大,低價(jià)位AT89C52單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT989C52具有以下特點(diǎn):與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;8KB可程序設(shè)計(jì)Flash內(nèi)存;1000次擦寫(xiě)周期;全靜態(tài)工作模式:0Hz24MHz;三級(jí)加密程序內(nèi)存;32個(gè)可編程I/O口線;3個(gè)16位定時(shí)/計(jì)數(shù)器;8個(gè)中斷源
11、;全雙工串行UART通道;低功耗空閑和掉電模式;中斷可從空閑模喚醒系統(tǒng)。AT89C52的PDIP封裝引腳圖見(jiàn)圖3-2。圖3-2 AT89C52引腳圖3.2.2 控制系統(tǒng)設(shè)計(jì)控制電路設(shè)計(jì)中采用的是單片機(jī)系統(tǒng),該系統(tǒng)必須要是工作在一個(gè)最小系統(tǒng)(指單片機(jī)的可以的最小配置系統(tǒng))。AT89C52的最小系統(tǒng)包括了復(fù)位電路,選定一定數(shù)量的I/O口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機(jī)接口添加外圍的器件,具體電路見(jiàn)圖3-3。圖3-3 控制部分電路圖在該系統(tǒng)中,P0、P1、P2各口主要用作LED顯示數(shù)據(jù)的控制輸出。由于端口的驅(qū)動(dòng)能力有限所以在P0口外接了10K的9腳排阻來(lái)提高驅(qū)動(dòng)能力
12、。P0的8個(gè)口和P2的8個(gè)口分別接LED點(diǎn)陣顯示屏的16個(gè)引腳,用來(lái)控制行。P1.0、P1.1、P1.2分別接兩塊74HC138的A、B、C端,向74HC138送入串行數(shù)據(jù)經(jīng)過(guò)其轉(zhuǎn)換后并行輸出,與LED點(diǎn)陣顯示屏的另外16個(gè)引腳相連,控制列。P1.3接一片74HC138的使能控制端E2、E3,當(dāng)為低電平使允許輸出,接另一片74HC138的使能控制端E1,當(dāng)為高電平使允許輸出,分別控制兩個(gè)譯碼器。由于P3口是特殊功能口,在該系統(tǒng)中基本是采用其第二功能。將P3.2外部中斷0口外接控制按鈕,實(shí)現(xiàn)不同特效顯示間的切換。3.3 譯碼器74HC138是一款高速CMOS器件,74HC138引腳兼容低功耗肖特
13、基TTL(LSTTL)系列。74HC138譯碼器可接受3位二進(jìn)制加權(quán)地址輸入(A0, A1和A2),并當(dāng)使能時(shí),提供8個(gè)互斥的低有效輸出(Y0至Y7)。74HC138特有3個(gè)使能輸入端:兩個(gè)低有效(E1和E2)和一個(gè)高有效(E3)。除非E1和E2置低且E3置高,否則74HC138將保持所有輸出為高。利用這種復(fù)合使能特性,僅需4片74HC138芯片和1個(gè)反相器,即可輕松實(shí)現(xiàn)并行擴(kuò)展,組合成為一個(gè)1-32(5線到32線)譯碼器。任選一個(gè)低有效使能輸入端作為數(shù)據(jù)輸入,而把其余的使能輸入端作為選通端,則74HC138亦可充當(dāng)一個(gè)8輸出多路分配器,未使用的使能輸入端必須保持綁定在各自合適的高有效或低有效
14、狀態(tài)。圖3-4 譯碼電路譯碼電路的功能是為了解決單片機(jī)I/O口不足。譯碼所用器件為74HC138。具體電路見(jiàn)圖3-4。3.4 LED點(diǎn)陣顯示屏3.4.1 LED點(diǎn)陣顯示屏的基本介紹LED顯示屏是一種通過(guò)控制半導(dǎo)體發(fā)光二極管的顯示方式,用來(lái)顯示文字、圖形、圖像、動(dòng)畫(huà)、行情、視頻、錄像信號(hào)等各種信息的顯示屏幕。本設(shè)計(jì)的所用的LED點(diǎn)陣顯示屏是由64個(gè)半導(dǎo)體發(fā)光二極管像素點(diǎn)均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點(diǎn),其中用到的是紅色。Proteus中8×8LED點(diǎn)陣顯示屏MATRIX-8X8-RED,逆時(shí)鐘旋轉(zhuǎn)后,左邊為行控制,接高電平,右邊為列控制,接低電平,從上到下的列
15、引腳控制的是從右往左對(duì)應(yīng)的列,見(jiàn)圖3-5。圖3-5 8×8LED點(diǎn)陣顯示屏圖中第三行接高電平,第二列接低電平,則對(duì)應(yīng)位置的LED燈點(diǎn)亮。3.4.2 LED點(diǎn)陣顯示屏的工作原理本設(shè)計(jì)采用動(dòng)態(tài)顯示方式。動(dòng)態(tài)顯示掃描方式是指逐位輪流點(diǎn)亮每位顯示器,即每個(gè)顯示模塊的位選線被輪流選中,多個(gè)顯示塊公用一組段選,段選數(shù)據(jù)僅對(duì)位選線被選中的顯塊有效。對(duì)于每一位顯示器來(lái)說(shuō),每隔一段時(shí)間點(diǎn)亮一次。雖然每位的字符是在不同時(shí)刻出現(xiàn)的,而在同一時(shí)刻,只有一位顯示,其他各位熄滅,但由于LED顯示器的余暉和人眼的視覺(jué)暫留作用,只要每位顯示間隔足夠短,則可以造成多位同時(shí)亮的假象,達(dá)到同時(shí)顯示的效果。在這種方式下其顯
16、示驅(qū)動(dòng)電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時(shí)的耗電量大大降低。大屏幕的制造、維護(hù)要容易許多,可靠性也增加了。由四塊8×8LED點(diǎn)陣顯示屏擴(kuò)展成16×16LED點(diǎn)陣顯示屏的具體連線見(jiàn)圖3-6。圖3-6 LED點(diǎn)陣顯示電路圖中上面兩塊顯示平屏對(duì)應(yīng)的控制行引腳相連,并接到P0口;下面兩塊顯示屏對(duì)應(yīng)的控制行引腳相連,并接到P2口;左邊兩塊對(duì)應(yīng)的控制列引腳相連,并接到譯碼器的輸出端;右邊兩塊對(duì)應(yīng)的列引腳相連,并接到另一片譯碼器的輸出端。4 軟件系統(tǒng)設(shè)計(jì)4.1 程序設(shè)計(jì)系統(tǒng)軟件采用C語(yǔ)言編寫(xiě),按照模塊化的設(shè)計(jì)思路設(shè)計(jì)。首先分析程序所要實(shí)
17、現(xiàn)的功能,程序要實(shí)現(xiàn)不同動(dòng)態(tài)特效顯示(左移、上移及閃爍)間的切換。 主程序的工作流程見(jiàn)圖4-2。圖4-1 程序流程圖程序開(kāi)始時(shí)首先必須對(duì)單片機(jī)進(jìn)行初始化,其中初始化的內(nèi)容包括:中斷初始化,外部中斷觸發(fā)方式的選擇,移動(dòng)速度初始化等。初始化完成后程序進(jìn)入待機(jī)狀態(tài)等待中斷的發(fā)生,該程序中主要用到了外部中斷0。外部中斷0由按鍵的電平變化觸發(fā),其主要功能是選擇LED點(diǎn)陣顯示屏的動(dòng)態(tài)特效顯示方式,是左移、上移還是閃爍。中斷產(chǎn)生后由預(yù)先初始化時(shí)設(shè)定跳轉(zhuǎn)執(zhí)行中斷子程序。中斷程序設(shè)定了LED點(diǎn)陣顯示屏所要顯示的內(nèi)容和顯示的方式,最后執(zhí)行的是各種顯示程序。按照設(shè)定的方式和內(nèi)容顯示出所需要的內(nèi)容。4.2 顯示程序的
18、設(shè)計(jì)4.2.1 點(diǎn)陣數(shù)據(jù)表達(dá)方式低位0低位0高位7高位71215 161731 32本設(shè)計(jì)用HZDotReader軟件取字模。設(shè)置取點(diǎn)方式為縱向8點(diǎn)下高位,字節(jié)排列為上到下、左到右。也就是以縱向8個(gè)連續(xù)點(diǎn)構(gòu)成一個(gè)字節(jié),最上邊的點(diǎn)為字節(jié)的最低位,即BIT0,最下邊的點(diǎn)為BIT7。16×16漢字按每行16字節(jié),共2行取字模,每個(gè)漢字共32字節(jié),點(diǎn)陣四個(gè)角取字順序?yàn)樽笊辖亲笙陆怯疑辖怯蚁陆?,?jiàn)圖4-2。圖4-2 點(diǎn)陣數(shù)據(jù)圖圖中,數(shù)據(jù)是縱向的,一個(gè)像素對(duì)應(yīng)一個(gè)位。8個(gè)像素對(duì)應(yīng)一個(gè)字節(jié),字節(jié)的位順序是上低下高,比如從上到下8個(gè)點(diǎn)的狀態(tài)是“-*”(*為黑點(diǎn),-為白點(diǎn)),則轉(zhuǎn)換的字模數(shù)據(jù)是0x08
19、(B0000_0001)。一幅16×16的點(diǎn)陣畫(huà)面點(diǎn)陣數(shù)據(jù)按照1 2 3 31 32存儲(chǔ)。所以一幅畫(huà)面的數(shù)據(jù)量為32字節(jié)。畫(huà)面顯示時(shí)選通的第i列對(duì)應(yīng)的數(shù)組元素為第i和i+16個(gè)元素。圖中“信”字的字模數(shù)據(jù)如下:0x80,0x00,0xC0,0x00,0x70,0x00,0xFC,0x7F,0xFF,0x7F,0x0F,0x00,0xAA,0x7E,0xA8,0x7E,0xA9,0x22,0xAF,0x22,0xAE,0x22,0xAA,0x22,0xA8,0x7E,0xA8,0x7E,0x08,0x00,0x08,0x00。4.2.2 動(dòng)態(tài)特效顯示程序的設(shè)計(jì)動(dòng)態(tài)顯示程序分為左移顯示、
20、上移顯示、閃爍顯示三種顯示方式。當(dāng)主程序中判斷為左移顯示方式時(shí),先左移顯示初始化,之后進(jìn)入左移循環(huán)控制,判斷左移的字符個(gè)數(shù),顯示一幕,再判斷是否有中斷,如無(wú)則調(diào)用左移顯示子程序,否則進(jìn)入中斷,初始化各值。若判斷為上移顯示方式或閃爍顯示方式時(shí),單片機(jī)的執(zhí)行步驟同上。主程序中,左移子程序流程圖及上移子程序流程圖見(jiàn)圖4-3。圖4-3 左移/上移顯示程序流程圖根據(jù)顯示數(shù)據(jù)的存儲(chǔ)原理通過(guò)改變實(shí)際LED列與數(shù)據(jù)邏輯列的方法來(lái)實(shí)現(xiàn)程序的左右移動(dòng)。顯示數(shù)據(jù)與列的對(duì)應(yīng)關(guān)系為:第i列對(duì)應(yīng)的數(shù)據(jù)為數(shù)組中i和第2×i個(gè)數(shù)據(jù)。所以送入后一列的數(shù)據(jù)則相當(dāng)于畫(huà)面左移移位,同理送入前一列數(shù)據(jù)相當(dāng)于右移一位。如此循環(huán)
21、則產(chǎn)生一幅穩(wěn)定運(yùn)動(dòng)的畫(huà)面。顯示數(shù)組中,第1至16個(gè)元素的第0至第7位LED顯示屏中的第1至第8行。同理第17至32個(gè)元素的第0至第7位LED顯示屏中的第9至第16行。所以將元素?cái)?shù)據(jù)進(jìn)行邏輯位移便能產(chǎn)生上下移動(dòng)的效果。實(shí)現(xiàn)閃爍效果的原理為:第一個(gè)字掃描完后,就掃描第二個(gè)子,而一個(gè)字有32個(gè)字節(jié),因此每隔32個(gè)字節(jié)送入P0和P2口,即當(dāng)?shù)谝粋€(gè)字節(jié)和第二個(gè)字節(jié)分別送入P0和P2口時(shí),進(jìn)行16列掃描后,此時(shí)送入P0和P2口的分別是第33和第34個(gè)字節(jié)。閃爍子程序流程圖見(jiàn)圖4-4。圖4-4 閃爍顯示程序流程圖4.3 外部中斷程序本設(shè)計(jì)用P3.2口外部中斷0作為控制按鈕,控制不同特效顯示間的切換。選用電平
22、觸發(fā)方式,端輸入低電平時(shí),為有效的中斷請(qǐng)求信號(hào),置位。CPU在每一個(gè)機(jī)器周期采樣引腳的輸入電平。當(dāng)采樣到低電平時(shí)置“1”;當(dāng)采樣到高電平時(shí),清“0”。采用電平觸發(fā)方式時(shí),外部中斷源信號(hào)必須保持低電平有效,知道該中斷被CPU響應(yīng),同時(shí)在該中斷服務(wù)程序執(zhí)行完之前,外部中斷源信號(hào)必須清除;否則將產(chǎn)生另一次中斷請(qǐng)求。按鈕按下時(shí)CPU采樣到低電平,執(zhí)行中斷程序,初始化移動(dòng)速度及各變量,flag值加一,改變顯示方式。5 系統(tǒng)調(diào)試5.1 系統(tǒng)調(diào)試的基本過(guò)程5.1.1 軟件調(diào)試軟件調(diào)試主要是軟件編譯和將各功能塊程序分別寫(xiě)入以驗(yàn)證其功能的可實(shí)現(xiàn)性。使用Keil軟件編寫(xiě)C語(yǔ)言程序時(shí)就應(yīng)不斷地進(jìn)行編譯,查找出錯(cuò)誤。
23、確定程序無(wú)誤后,對(duì)所有程序進(jìn)行編譯,編譯成功生產(chǎn)后綴名為.hex的可執(zhí)行文件。在Proteus仿真軟件中畫(huà)出電路原理圖,單擊單片機(jī)元件,將其可執(zhí)行文件設(shè)置為之前生成的后綴名為.hex可執(zhí)行文件,最后單擊仿真工具欄中的運(yùn)行按鈕,整個(gè)系統(tǒng)就開(kāi)始仿真運(yùn)行,這時(shí)可對(duì)各功能進(jìn)行測(cè)試。可將Proteus和Keil進(jìn)行聯(lián)調(diào),其步驟如下:1) 搜索到Proteus安裝目錄下VDM51.dll文件,將其復(fù)制到Keil安裝目錄的C51BIN目錄中。2) 編輯Keil安裝目錄下的tools.ini文件,加入TDRV5=BINVDM51.DLL(“PROTEUS DEBUG”)。3) 在Keil中打開(kāi)要調(diào)試的工程,單
24、擊Project中Options for Target1菜單,在彈出的對(duì)話框中選中Debug標(biāo)簽頁(yè),進(jìn)行數(shù)據(jù)配置。生成可執(zhí)行文件。4) 在Proteus中打開(kāi)設(shè)計(jì)好的電路原理圖,單擊單片機(jī)元器件,將其可執(zhí)行文件設(shè)置為要調(diào)試的Keil工程所生成的課執(zhí)行文件。5.2 系統(tǒng)調(diào)試的結(jié)果對(duì)調(diào)試中出現(xiàn)的問(wèn)題進(jìn)行了分析,得出以下原因和修改辦法。LED顯示屏顯示不正確,經(jīng)過(guò)檢查及查閱資料發(fā)現(xiàn)實(shí)際LED顯示屏的引腳并不是一排接陰極一排接陽(yáng)極,而是雜亂無(wú)章的。修改辦法是將用萬(wàn)用表測(cè)引腳,重新寫(xiě)下排列,重新焊連線。經(jīng)過(guò)調(diào)試和修改,系統(tǒng)實(shí)現(xiàn)了題目所要求的中英文字符以及特殊字符的顯示,能夠通過(guò)控制按鈕實(shí)現(xiàn)不同動(dòng)態(tài)效果間
25、的切換。結(jié)論接手題目之后從互聯(lián)網(wǎng)上對(duì)LED進(jìn)行了詳細(xì)的資料收集。北京奧運(yùn)會(huì)開(kāi)幕式盛典上利用LED制造出的變換無(wú)窮、美輪美奐、氣勢(shì)磅礴的各種圖像,給全世界留下震撼的印象,也讓國(guó)人對(duì)LED有了全新的認(rèn)識(shí)。LED顯示屏越來(lái)越受到廣泛應(yīng)用,它不僅價(jià)格低廉,且省電又清晰,有很大的發(fā)展前景。從設(shè)計(jì)之初就確定了參照街道上廣告牌顯示屏的實(shí)現(xiàn)方法和實(shí)際情況設(shè)計(jì)一款小屏幕的LED點(diǎn)陣顯示屏。在查閱了大量的資料后確定了題目的設(shè)計(jì)方案。整個(gè)設(shè)計(jì)采用AT89C52做核心控制器,74HC138組成譯碼電路。經(jīng)過(guò)一段時(shí)間的工作,終于完成了基于51單片機(jī)的LED點(diǎn)陣廣告牌的設(shè)計(jì),項(xiàng)目所要求的功能全部達(dá)到。這次設(shè)計(jì)收獲頗多,不
26、僅是所作題目涉及到的軟硬件知識(shí),還有更為重要的實(shí)際經(jīng)驗(yàn)和過(guò)程中所發(fā)現(xiàn)的問(wèn)題。1) 設(shè)計(jì)之前應(yīng)該進(jìn)行大量的資料收集和分析,確定一個(gè)清晰的設(shè)計(jì)思路。2) 器件選擇時(shí)要詳細(xì)閱讀器件使用手冊(cè),不但要考慮器件的功能實(shí)現(xiàn)還要考慮器件在整個(gè)系統(tǒng)中的兼容性。3) 硬件的系統(tǒng)的建立必須合理和穩(wěn)定,實(shí)物建立之前最好進(jìn)行仿真這樣才能為軟件提供一個(gè)可靠的試驗(yàn)平臺(tái)。4) 軟件的編寫(xiě)不但要實(shí)現(xiàn)功能還要不斷的優(yōu)化、簡(jiǎn)練、易讀。5) 實(shí)物的引腳往往與仿真圖中的引腳不同,應(yīng)該注意。隨著課題的進(jìn)行,對(duì)LED的了解也越來(lái)越深入。LED技術(shù)也會(huì)進(jìn)一步發(fā)展,其應(yīng)用將會(huì)更加廣泛。可以設(shè)想利用LED的高穩(wěn)定性和低能耗,再與無(wú)線通信技術(shù)相結(jié)
27、合在沙漠深處或者人跡罕至的雪山之顛樹(shù)立一塊依靠太陽(yáng)能充電,通過(guò)無(wú)線傳輸方式更改顯示內(nèi)容的信息板為登山者提供指示和天氣信息,為沙漠迷路的人指引方向。設(shè)計(jì)結(jié)束了,但學(xué)習(xí)還在繼續(xù)。相信通過(guò)此次設(shè)計(jì)所得到的知識(shí)、心得、經(jīng)驗(yàn)?zāi)酥粮惺芏紩?huì)讓我在以后的日子里受益匪淺。致謝這次能夠圓滿完成畢業(yè)設(shè)計(jì)首先要感謝吳慧峰老師,感謝他在課程設(shè)計(jì)期間的指導(dǎo)、勉勵(lì)和督導(dǎo)。同時(shí)感謝教過(guò)我們專業(yè)課程的老師們,感謝他們對(duì)我們知識(shí)增長(zhǎng)所付出的辛勤勞動(dòng)。還要感謝一起做課程設(shè)計(jì)的同學(xué),他們也給予了很大的幫助,尤其是一些細(xì)節(jié)問(wèn)題。感謝實(shí)驗(yàn)室老師給我們提供實(shí)驗(yàn)環(huán)境和器材。參考文獻(xiàn)1 文哲雄.用單片機(jī)控制LED顯示屏D.佛山:佛山科學(xué)技術(shù)學(xué)
28、院,1995.2 彭寧,只佩華.單片機(jī)對(duì)LED大屏幕顯示的控制系統(tǒng)J.河北大學(xué)學(xué)報(bào)(自然科學(xué)版),1993,13(3):86-89.3 喬世杰.小波圖像編碼中的對(duì)稱邊界延拓法J.中國(guó)圖像圖形學(xué)報(bào),2000,5(9):725-729.4李志強(qiáng)等.基于VC的LED點(diǎn)陣顯示屏控制系統(tǒng)設(shè)計(jì).無(wú)線互聯(lián)科技,2012,(2): 70-715 王曉濤基于單片機(jī)控制的LED點(diǎn)陣顯示屏在煤礦的設(shè)計(jì)與應(yīng)用J.中國(guó)科技博覽,2011,(36): 640-641.6 Marston, R. Radio-Electronics, Working with LED display driversJ. Mar1992, V
29、ol. 63 Issue 3.附錄附錄1:硬件原理圖附錄2:C語(yǔ)言程序/*本次顯示程序的設(shè)計(jì)分三個(gè)階斷第一階段:左移顯示方式的設(shè)計(jì)第二階段:上移顯示方式的設(shè)計(jì)第三階段:閃爍顯示方式的設(shè)計(jì) */#include <reg52.h>#define uchar unsigned char#define uint unsigned intuchar table2=0xE0,0x0F,0x10,0x10,0x08,0x20,0x08,0x20,0x08,0x20,0x10,0x10,0xE0,0x0F,0x00,0x00,/*"O"*/0x08,0x20,0xF8,0x3
30、F,0x88,0x20,0xC0,0x01,0x28,0x26,0x18,0x38,0x08,0x20,0x00,0x00; /*"K"*/ /*上移顯示的字符*/uchar code table1=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x24,0x80,0x24,0x80,
31、0xA4,0xDF,0xFC,0x5F,0xFC,0x60,0xA4,0x30,0xBF,0x1E,0xBF,0x1E,0xA4,0x30,0xFC,0x60,0xFC,0x4F,0xA4,0xCF,0x24,0x80,0x24,0x80,0x20,0x00, /*賁 CEADA */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x44,0x00,0x44,0x80,0x44,0xC0,0x44,0x60,0x44,0x38,0xDF,0x1F,0xDF,0x07,0x54,0x02,0x74,0x42,0x64,0xC2,0x5F,0xC2,0x5F,0x
32、7E,0x44,0x3E,0x44,0x00,0x44,0x00,0x44,0x00, /*芳 CB7BC */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF8,0x3B,0x0C,0x4E,0x04,0x5C,0x04,0x76,0x0C,0x62,0xF8,0x63,0xC0,0x58,0x00,0xCC,0x00,0x84,0x00,0x00,0x00,0x00,0x00,0x00, /*& CAFA1 */0x00,0x00,0xF2,0x01,0xF2,0x41,0x12,0xC1,0x1E,0xFF,0x1E,0x7F,0xC0,0x
33、87,0xDE,0x87,0x5E,0x84,0xF2,0xFF,0xF2,0xFF,0x52,0x44,0x5E,0x54,0xDE,0xF7,0xC0,0xE7,0x00,0x40,/*強(qiáng) CC7BF */0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x04,0x00,0x02,0x03,0x02,0x04,0x02,0x08,0x04,0x08,0x18,0x08,0x18,0x08,0x04,0x08,0x02,0x08,0x02,0x04,0x02,0x03,0x04,0x00,0x18,0x00,0x00,
34、0x00, /*笑臉?lè)?hào) CDEB1 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; /*左移顯示的字符*/uchar code table3=0x00,0x00,0x00,0x00,0xFC,0x7F,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x4
35、0,0x04,0x40,0x04,0x40,0x04,0x40,0xFC,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,/*"口",0*/0x00,0x00,0x00,0x00,0xF8,0x0F,0xF8,0x0F,0x48,0x04,0x48,0x04,0x48,0x04,0xFF,0x3F,0xFF,0x7F,0x48,0x44,0x48,0x44,0x48,0x44,0xF8,0x4F,0xF8,0x4F,0x00,0x70,0x00,0x70,/*"電",1*/0x00,0x20,0x00,0x20,0x02,0x20,
36、0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0xFE,0x3F,0xFE,0x3F,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x02,0x20,0x00,0x20,/*"工",2*/0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x10,0x03,0x08,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x10,0x20,0x08,0x10,0x04,0x08,0x08,0x04,0x10,0x02,0x20,0x01,0
37、xC0,0x00,/*"愛(ài)心符號(hào)",3*/0x40,0x00,0x70,0x02,0x30,0x02,0x12,0x02,0x5E,0x02,0x5C,0x02,0x54,0x42,0x51,0xC2,0x5F,0xFF,0xDE,0x7F,0xD4,0x02,0x58,0x02,0x5F,0x02,0x77,0x02,0x32,0x02,0x10,0x02,/*"學(xué)",4*/0xFE,0xFF,0xFE,0xFF,0x32,0x02,0x7A,0x06,0xCE,0x87,0x8E,0xC3,0x2C,0x71,0x24,0x3F,0x25,0x0F,
38、0x27,0x01,0x26,0x7F,0x24,0xFF,0x24,0x81,0x2C,0x81,0x0C,0xF1,0x04,0xF1,/*"院",5*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;/*閃爍顯示字符*/uchar v,flag,temp;uchar i,j,k,shuz,shub,
39、temp1;uchar a,b,c,d,e,f,numa,numb;uchar ii,jj,kk;uchar iii,jjj,kkk;uchar a3,b3;uchar num3,temp3;uchar temp2; /*各變量值的初始化*/void init();/*主函數(shù)的初始化聲名*/void init1();/*左移顯示方式的初始化聲名*/void init2();/*上移顯示方式的初始化聲名*/void init3();/*閃爍顯示方式的初始化聲名*/void disp1();/*左移顯示子程序聲名*/void disp2();/*上移顯示子程序聲名*/void disp3();/*
40、閃爍顯示子程序聲名*/void delay(uint z)/*延時(shí)函數(shù)聲名及定義*/uint x,y; for(x=z;x>0;x-) for(y=110;y>0;y-); void main()init();while(1)/主循環(huán)if(flag%3=1)/判斷是不是左移顯示方式init1();/左移顯示初始化while(flag%3=1)/左移循環(huán)控制for(i=0;i<=a;i+)/判斷左移的字符個(gè)數(shù)for(j=0;j<=v;j+)/向左移動(dòng)的速度由變量v控制for(k=i*2;k<(i*2+32);)/顯示一幕if(flag%3=1)/判斷有沒(méi)有中斷,flag的值有沒(méi)有變化disp1();/若沒(méi)有中斷調(diào)用左移顯示子程序elsei=a;j=v;k=(i*2+
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能農(nóng)業(yè)作物損壞賠償與病蟲(chóng)害防治服務(wù)協(xié)議
- 二零二五醫(yī)療事故賠償協(xié)議書(shū)撰寫(xiě)要點(diǎn)解析
- 2025年度智能化住宅房屋租賃定金合同模板范文
- 二零二五年度知識(shí)產(chǎn)權(quán)戰(zhàn)略布局專利代理合同
- 二零二五年度主播才藝展示及經(jīng)紀(jì)管理協(xié)議
- 二零二五年度能源合同可撤銷條款與節(jié)能減排合同
- 二零二五年度全新辦公區(qū)轉(zhuǎn)租協(xié)議合同:商務(wù)辦公空間租賃權(quán)轉(zhuǎn)讓
- 二零二五年度合同管理制及流程圖編制與執(zhí)行標(biāo)準(zhǔn)合同
- 2025年度智能醫(yī)療設(shè)備研發(fā)團(tuán)隊(duì)技術(shù)人員勞動(dòng)合同
- 二零二五年度新材料專利共享許可協(xié)議
- 《動(dòng)物細(xì)胞工程制藥》課件
- 本校教材選用組織機(jī)構(gòu)及職責(zé)-選用程序及要求
- 材料供應(yīng)履約信用證明:免修版模板范本
- 2023南方國(guó)家電網(wǎng)招聘筆試參考題庫(kù)(共500題)答案詳解版
- 門式起重機(jī)、架橋機(jī)作業(yè)前安全隱患排查表
- 不合格品處置記錄表(標(biāo)準(zhǔn)版)
- 德語(yǔ)現(xiàn)代主義文學(xué)-浙江大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
- 機(jī)床數(shù)控技術(shù)PPT完整全套教學(xué)課件
- 店面租賃合同店面租賃合同店面租賃合同書(shū)
- lm3s8962開(kāi)發(fā)板用戶手冊(cè)
- 《小學(xué)教師職業(yè)道德》課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論