




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、課 程 設(shè) 計 報 告設(shè)計名稱 基于單片機的LED電子廣告牌設(shè)計與實現(xiàn) 學(xué) 院 電子工程學(xué)院專 業(yè) 電子信息工程技術(shù)班 級 15級07班姓 名 唐正虎指導(dǎo)教師 聶弘穎陜 西 電 子 科 技 職 業(yè) 學(xué) 院2017年10月25日第1章 緒論1.1 課題背景1.1.1 選題背景LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體,顯示屏由幾萬到幾十萬個半導(dǎo)體發(fā)光二極管像素點均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍色和純綠色LED的開發(fā)已經(jīng)達到了實用階段。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室內(nèi)環(huán)境還可以用于
2、室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點1。在短短的十來年中,LED點陣顯示屏就以亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定的優(yōu)點迅速成長為平板顯示的主流產(chǎn)品,在信息顯示領(lǐng)域得到了廣泛的應(yīng)用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。LED顯示屏的應(yīng)用涉及社會經(jīng)濟的許多領(lǐng)域,主要包括證券交易、金融信息顯示、機場航班動態(tài)信息顯示、港口、車站旅客引導(dǎo)信息顯示、體育場館信息顯示、道路交通信息顯示、調(diào)度指揮中心信息顯示、郵政、電信、商場購物中心等服務(wù)領(lǐng)域的業(yè)務(wù)宣傳及信息顯示、廣告媒體新產(chǎn)品等。第
3、2章 方案論證與選擇2.1 系統(tǒng)硬件方案大多數(shù)的LED顯示屏都在戶外,所以對硬件的質(zhì)量要求非常的高。為方便檢修和維護硬件電路設(shè)計時常常采用模塊化的設(shè)計方法。硬件的設(shè)計采用模塊化設(shè)計,既要滿足模塊本身功能又要能夠和整個系統(tǒng)兼容。如圖2-1所示,根據(jù)顯示系統(tǒng)的功能特點確定系統(tǒng)硬件由顯示屏部分,控制部分,通信系統(tǒng)三部分組成。單片機通過通信部分發(fā)送控制指令和顯示內(nèi)容代碼,執(zhí)行顯示指令并將顯示代碼處理后控制顯示部分的顯示內(nèi)容和顯示方式。通信部分控制部分顯示部分圖2-1 系統(tǒng)硬件組成框圖2.1.1 顯示屏主控制器控制部分是整個系統(tǒng)的核心部分,其功能為發(fā)送數(shù)據(jù)和控制指令處理后控制顯示部分顯示內(nèi)容。其常用的電
4、子設(shè)計方法有單片機、DSP、及EDA技術(shù)。幾種設(shè)計方法比較各有其特點:(1)單片機單片機是集成了CPU,ROM,RAM和I/ O口的微型計算機。它有很強的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機品種齊全,型號多樣 CPU 從8,16,32到64位,多采用RISC 技術(shù),片上I/O非常豐富,有的單片機集成有A/ D,“ 看門狗”,PWM,顯示驅(qū)動,函數(shù)發(fā)生器,鍵盤控制等。(2)DSP 芯片DSP 又叫數(shù)字信號處理器。顧名思義,DSP主要用于數(shù)字信號處理領(lǐng)域,非常適合高密度,重復(fù)運算及大數(shù)據(jù)容量的信號處理?,F(xiàn)在已經(jīng)廣泛應(yīng)用于通信、便攜式計算機和便攜式儀表、雷達、圖像、航空、
5、家用電器、醫(yī)療設(shè)備等領(lǐng)域,DSP具有修正的哈佛結(jié)構(gòu),多總線技術(shù)以及流水線結(jié)構(gòu)。(3)EDAEDA(即Electronic Design Automation) 即電子設(shè)計自動化,它是以計算機為工具,在EDA 軟件平臺上,對用硬件描述語言HDL 完成的設(shè)計文件自動地邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對于特定目標(biāo)芯片進行適配編譯、邏輯影射和編程下載等。2.1.2 通信系統(tǒng)通信部分要滿足的設(shè)計要求就是穩(wěn)定、快速、簡單易實現(xiàn)。計算機數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。(1)并行通信并行通信時數(shù)據(jù)的各個位同時傳送,可以字或字節(jié)為單位并行進行。并行通信速度快
6、,但用的通信線多、成本高,故不宜進行遠距離通信。(2)串行通信串行通信數(shù)據(jù)是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場合。在串行發(fā)送時,數(shù)據(jù)是一位一位按順序進行的,而計算機內(nèi)部的數(shù)據(jù)是并行的。因此,當(dāng)計算機向外發(fā)送數(shù)據(jù)時,必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入計算機中。 綜上所述,題目設(shè)計已經(jīng)選定了單片機為開發(fā)方式而單片機的UART已經(jīng)集成在單片機內(nèi),所以通信系統(tǒng)選擇串行通信為通信方式。2.1.3 LED點陣顯示屏顯示部分包括了一塊至少可以顯示一個漢字的顯示屏,以及驅(qū)動該顯示屏的驅(qū)動電路。
7、由于單片機的I/O口有限要不能直接用I/O口來驅(qū)動LED顯示屏,所以需要對單片機IO口進行擴展增加單片機并行輸出的能力。LED顯示屏是由一個一個的發(fā)光二極管點陣構(gòu)成的,要構(gòu)成大屏幕的LED顯示屏就需要多個發(fā)光二極管。構(gòu)成LED屏幕的方法有兩種,一是由單個的發(fā)光二極管逐點連接起來,如圖2-2所示;二是選用一些由單個發(fā)光二極管構(gòu)成的LED點陣子模塊構(gòu)成大的LED點陣模塊。目前市場上普遍采用的點陣模塊有8×8、16×16幾種;這兩種屏幕構(gòu)成方法各有有缺點,單個發(fā)光二極管構(gòu)成顯示屏優(yōu)點在于當(dāng)單個的發(fā)光二極管出現(xiàn)問題時只需更換一個二極管即可,檢修的成本較低,缺點在于連接線路復(fù)雜;而點
8、陣模塊構(gòu)成的方法卻正好與之相反,模塊構(gòu)成省約了大量的連線,不過當(dāng)一個LED出現(xiàn)問題時同在一個模塊的所有LED都必須被更換。這就加大了維修的成本。兩種方法相比較,決定采取模塊構(gòu)成的方法來制作一個LED點陣顯示屏。為了避免模塊的缺點,選擇點陣數(shù)較小的模塊來減小出現(xiàn)這一問題的風(fēng)險。一個16×16的LED顯示屏行和列各有16支引腳,不能單靠51單片機的端口驅(qū)動所以必須要對單片機的端口個數(shù)進行擴展。經(jīng)常采用的端口擴展方法是用串并轉(zhuǎn)換芯片進行譯碼。常用的串并轉(zhuǎn)換芯片有74LS154(4線-16線譯碼器)、74LS164(8位串并轉(zhuǎn)換器)、74HC595等。51系列單片機端口低電平時,吸入電流可達
9、20mA,具有一定的驅(qū)動能力;而為高電平時,輸出電流僅數(shù)十A甚至更小(電流實際上是由腳的上拉電流形成的),基本上沒有驅(qū)動能力,所以單片機不能直接驅(qū)動LED顯示屏顯示。在單片機和顯示屏之間還需要增加以功能放大位目的的驅(qū)動電路。2.1.4 硬件設(shè)計方案最終方案如圖2-3所示,以單片機機作為核心控制器件存儲和處理顯示內(nèi)容,用串行通信的方式將顯示內(nèi)容和控制指令傳輸?shù)絾纹瑱C系統(tǒng),單片機根據(jù)傳輸來的內(nèi)容和指令通過端口譯碼擴展后驅(qū)動4塊8×8LED點陣模塊構(gòu)成的16×16的LED點陣顯示屏。題目將以此方案為指導(dǎo)思想展開具體的硬件電路設(shè)計。串行通信單片機譯碼電路顯示驅(qū)動電路16×
10、16LED顯示屏圖2-3 硬件設(shè)計方案2.2 系統(tǒng)軟件方案軟件的設(shè)計除了滿足設(shè)計功能外還必須要滿足易讀寫,方便下載和編譯。設(shè)計目標(biāo)和硬件總體結(jié)構(gòu)確定的情況下,軟件可以分為主程序,顯示子程序,各種特效顯示子程序,通信程序三個主要部分組成。具體結(jié)構(gòu)如圖2-4所示。靜態(tài)顯示程序主程序控制程序特效顯示程序通信程序圖2-4 軟件功能結(jié)構(gòu)框圖軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以及配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機的下載器或下載軟件來把編寫的程序下載到單片機中執(zhí)行。第3章 系統(tǒng)硬件設(shè)計3.1 硬件整體設(shè)計概述及功
11、能分析 顯示系統(tǒng)具體設(shè)計主要由通信系統(tǒng),單片機系統(tǒng),譯碼電路,顯示驅(qū)動電路和16×16的點陣屏五部分組成。具體工作流程為:單片機通過通信系統(tǒng)發(fā)送控制指令和顯示代碼內(nèi)容,執(zhí)行控制指令處理顯示代碼將顯示內(nèi)容通過I/O口串行輸出并且控制譯碼電路完成串并轉(zhuǎn)換并行輸出,最后由顯示驅(qū)動電路進行電壓和電流的處理以達到LED顯示屏的顯示電流,電壓要求進而使顯示屏顯示內(nèi)容。根據(jù)硬件的功能結(jié)構(gòu)圖選取合適器件,器件不但要求能實現(xiàn)所要求的功能還要能兼容至整個系統(tǒng)之中。通過查閱資料和對比最終的硬件原理圖如圖3-1所示。AT89C51電源74LS16474LS16474LS164ULN2803ULN280337
12、374LS37374LS37374LS1648550三極管LED點陣模塊陽極4塊8*8點陣模塊構(gòu)成16*16LED點陣屏LED點陣模塊陰極MAX232圖3-1 硬件原理圖3.2 控制單元設(shè)計控制單元是整個顯示系統(tǒng)的核心,該系統(tǒng)中采用51系列單片機為核心器件,用來發(fā)送控制指令和顯示內(nèi)容,并且直接輸出數(shù)據(jù)通過譯碼電路控制LED顯示屏的顯示內(nèi)容和顯示狀態(tài)。在51系列單片機中選定一款合適的機型來作為控制單元的主控芯片。根據(jù)題目的要求該芯片必須要具有的就是方便的編程能力,因為在軟件設(shè)計時方便的程序下載對程序的驗證和編寫非常有用。還有就是為了提高LED顯示屏的掃描速度,單片機的執(zhí)行速度要盡可能的快。根據(jù)這
13、兩點要求,選擇美國ATMEL公司生產(chǎn)的AT89C51為控制單元的主控芯片。3.2.1 AT89C51簡介AT89C51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89C51單片機可提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。3.2.2 控制系統(tǒng)設(shè)計控制電路設(shè)計中采用的是單片機系統(tǒng),該系統(tǒng)必
14、須要是工作在一個最小系統(tǒng)(指單片機的可以的最小配置系統(tǒng))。AT89C51的最小系統(tǒng)包括了外界時鐘電路和復(fù)位電路,選定一定數(shù)量的IO口作為控制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機端口添加外圍的器件,具體電路如圖3-2所示。在該系統(tǒng)中,P1各口主要用作LED顯示數(shù)據(jù)的控制輸出。由于端口的驅(qū)動能力有限所以該端口外接了5K的上拉電阻來提高驅(qū)動能力。其中P1.5P1.6P1.7還復(fù)用為ISP下載功能口。具體接法為:P1.0,P1.1,P1.4,P1.5分別接四塊74LS164的A端,向74LS164送入串行數(shù)據(jù)經(jīng)過其轉(zhuǎn)換后并行輸出;P1.2和P1.6分別接列和行的74LS164的C
15、LOCK端,產(chǎn)生移位脈沖是串行數(shù)據(jù)并行輸出;P1.3和P1.7接列和行的CLEAR端,在一組數(shù)據(jù)完成串并轉(zhuǎn)換后清除164芯片中的內(nèi)容轉(zhuǎn)換新的數(shù)據(jù);其中P1.5P1.6P1.7還復(fù)用為ISP下載功能口。P2.0接164芯片的使能控制端,當(dāng)為高電平使允許輸出;P2.2和P2.3接鎖存器74LS373的OE和LE端控制鎖存器的工作狀態(tài)。端口3.0,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址為0000HFFFFH),EA端必須保持低電平(接地)。因為沒有擴展外部程序存儲器所以將EA置為高電平。AT89C51單片機的P1在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8
16、位)和數(shù)據(jù)總線復(fù)用,P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。所以P1和P2口留為外部數(shù)據(jù)存儲器和程序存儲器的擴展用,以備內(nèi)部存儲器和程序存儲器不夠用時使用。3.3 譯碼電路設(shè)計 單片機的引腳輸出的高低電平要在芯片的識別范圍內(nèi),由于采用了列選通行傳送顯示代碼的方法所以行譯碼電路上也加上了74L373鎖存芯片。這就要求74LS164芯片的輸出要滿足鎖存芯片的高低電平區(qū)分范圍和頻率要求。 3.4 驅(qū)動電路設(shè)計3.4.1 行驅(qū)動電路設(shè)計發(fā)光二極管,LED(Light Emitting Diodes),即是在在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載
17、流子復(fù)合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。8550為PNP型三極管,發(fā)射極e接5V電源,基極接譯碼信號輸出端,集電極接輸出驅(qū)動LED點陣屏。當(dāng)譯碼器端口輸出為低電平時,發(fā)射極與基極電勢差為5V基極中帶負(fù)電的電子越過PN結(jié)擴散到發(fā)射區(qū)。發(fā)射極產(chǎn)生和電子擴散方向相反的電流,由于基極電子大量擴散到發(fā)射極集電極電子擴散到基極中形成了電流。當(dāng)譯碼器端口輸出高電平時發(fā)射極與基極之間的電勢差為5V,由于發(fā)射極與基極之間電勢差的減少基極電子向發(fā)射極擴散的電子數(shù)量減少故集電
18、極電流也隨之減少。故8550在驅(qū)動電路中起到提供驅(qū)動電流和選通開關(guān)的作用。3.4.2 列驅(qū)動電路設(shè)計列驅(qū)動采用ULN2803。ULN2803是一種高電壓大電流達林頓管陣列內(nèi)部結(jié)構(gòu)如圖,該陣列中的八個NPN達林頓連接晶體管是低邏輯電平數(shù)字電路(如TTL,CMOS或PMOS)和大電流高電壓的燈,繼電器,打印機錘和其他類似負(fù)載間的接口的理想器件。廣泛用于計算機,工業(yè)和消費類產(chǎn)品中。所有器件有集電極開路輸出和用于瞬變抑制的續(xù)流箝位二極管。集電極輸出功率可達50V×600mA。ULN2803作為列驅(qū)動執(zhí)行的是列選的工作,當(dāng)選通的列輸入高電平時其對應(yīng)的輸輸出低電平。相對應(yīng)的輸出取反,并能提供較大
19、的灌電流來吸收行驅(qū)動流出進過顯示屏后的電流。3.5 通信系統(tǒng)硬件設(shè)計AT89C51單片機具有全雙工串行UART通道,支持單片機進行數(shù)據(jù)的串行傳輸。單片機與計算機不能直接相連進行通信必須將RS-232C與TTL電平進行轉(zhuǎn)換。在通用的電平轉(zhuǎn)換芯片中MAX232系列的芯片以集成度高,單5V電源工作,只需外接5個小電容即可完成RS-232C與TTL電平之間的轉(zhuǎn)換而成為單片機系統(tǒng)中的常用芯片。在該顯示系統(tǒng)中,MAX232為通信系統(tǒng)中最重要的硬件組成部分。3.6 電源設(shè)計在系統(tǒng)中MAX232、74LS164、74LS373、AT89C51都需要5V的供電電壓,在系統(tǒng)開發(fā)過程中可以使用電腦USB供電。在實際
20、的大屏幕LED顯示屏設(shè)計中,用電腦USB供電明顯不切實際。此時需要對民用的220V進行降壓整流為5V直流電壓為顯示系統(tǒng)供電。如圖所示,用220V轉(zhuǎn)12V的變壓器進行降壓后再通過一個橋式整流電路將交流電整流為直流電。最后通過5V三端穩(wěn)壓模塊LM7805得出穩(wěn)定的5V輸出。3.7 級連大屏幕LED顯示屏要實現(xiàn)LED的大屏幕顯示主要采用內(nèi)部譯碼器級連和多個單片機系統(tǒng)級連的方法。譯碼器級連如圖3-7所示將第1個74LS164的Q7端接第2個74LS164的A端,將第2個74LS164的Q7端接第3個74LS164的A端,如此炮制當(dāng)N塊74LS164相級連時就變?yōu)橐粋€串行輸入7×N口輸出的串并
21、轉(zhuǎn)換器。這種級連的優(yōu)點在于一塊單片機可以同時控制更多的LED點陣顯示屏,且74LS164的價格低廉整體成本得到了降低。但是這種級連方法也存在一定的缺點,51系列的單片機的晶振頻率不高74LS164級連過多會增加一次掃描的時間從而導(dǎo)致顯示出現(xiàn)閃爍。從端口輸出的顯示數(shù)據(jù)的顯示也要作出相應(yīng)的改變。構(gòu)建大屏幕LED顯示屏的另一種方法是將以較小的LED顯示系統(tǒng)做為模塊進行級連。由獨立的LED顯示系統(tǒng)組成一個大的LED顯示系統(tǒng)。其中各子顯示系統(tǒng)之間在功能和控制上都是相互獨立的,將一幅大屏幕畫面拆分為幾塊小畫面再分別送入到各子系統(tǒng)中,各子系統(tǒng)同步顯示便可以得到一幅大的畫面。使用這種級連的辦法可以避免51單片
22、機晶振頻率低的弱點,更容易實現(xiàn)大屏幕的顯示。但這種方法仍然存在難點,一是各獨立的子系統(tǒng)的通信和協(xié)調(diào)性要求更高了,如果要實現(xiàn)顯示內(nèi)容的實時性必須需要不斷更新顯示內(nèi)容則增加了通信數(shù)據(jù)量,逐個的單片機傳送數(shù)據(jù)也會影響整個畫面的更新速度;二是成本提高了。在實際應(yīng)用中通常采用內(nèi)部擴展和外部級連聯(lián)合使用的方法來構(gòu)建大屏幕LED顯示屏幕。即增加單個顯示系統(tǒng)顯示屏幕大小的同時又將單個的顯示系統(tǒng)級連。第4章 系統(tǒng)軟件設(shè)計4.1 程序設(shè)計系統(tǒng)軟件采用C語言編寫,按照模塊化的設(shè)計思路設(shè)計。首先分析程序所要實現(xiàn)的功能,程序要實現(xiàn)串口通信,靜態(tài)顯示,動態(tài)顯示三大功能。其功能結(jié)構(gòu)如圖2-4所示。通信程序接收數(shù)據(jù),交給主程
23、序處理再通過控制程序選擇不同的顯示程序進行顯示。主程序的工作流程如圖4-1所示:中斷開始R1=1?起始位?接收顯示數(shù)據(jù)及控制命令將顯示數(shù)據(jù)移入顯示數(shù)組將控制命令賦值給控制字符中斷返回開始系統(tǒng)初始從顯示數(shù)組讀取數(shù)據(jù)到顯示寄存讀取顯示控制命令選擇顯示調(diào)用相應(yīng)顯示程序圖4-1 主程序流程圖程序開始時首先必須對單片機進行初始化,其中初始化的內(nèi)容包括:中斷優(yōu)先級的設(shè)定,中斷初始化,串行通信時通信方式的選擇和波特率的設(shè)定,各IO口功能的設(shè)定等。初始化完成后部中斷源由按鍵的電平變化觸發(fā),外部中斷主要功能是選擇LED點陣顯示屏的控制程序進入待機狀態(tài)等待中斷的發(fā)生,該程序中主要用到了兩個外部中斷源和串行中斷。外
24、方式。串行中斷包括發(fā)送中斷和接收中斷都是由軟件觸發(fā)。中斷產(chǎn)生后由預(yù)先初始化時設(shè)定跳轉(zhuǎn)執(zhí)行中斷子程序。中斷程序設(shè)定了LED點陣顯示屏所要顯示的內(nèi)容和顯示的方式,最后執(zhí)行的是各種顯示程序。按照設(shè)定的方式和內(nèi)容顯示出所需要的內(nèi)容。4.2 顯示程序的設(shè)計4.2.1 LED顯示屏的顯示方式 LED點陣屏顯示方式主要由靜態(tài)顯示和動態(tài)掃描顯示兩種。 對靜態(tài)顯示來說,每一個發(fā)光二極管都需要一套驅(qū)動電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示內(nèi)容,需要重新輸出新的點陣數(shù)據(jù)這種方式系統(tǒng)原理相對簡單一些,但所需的譯碼驅(qū)動裝量很多,引線多而繁雜,不便于大屏幕的制造,成本高,其可靠性也較低另一種動態(tài)掃描
25、顯示是把整個LED屏幕分成若干部分,每一幅畫面的顯示是顯示完一部分后,又顯示第二部分直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進行在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面也就是說采用動態(tài)掃描顯示需要不斷進行畫面的刷新在這種方式下其顯示驅(qū)動電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時的耗電量大大降低大屏幕的制造、維護要容易許多,可靠性也增加了兩種顯示方式的比較再結(jié)合51單片機IO口數(shù)量有限的原因決定采用動態(tài)掃描的方式進行顯示。動態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的
26、工作原理如圖4-2所示,先選通列然后再從行送入對應(yīng)列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時特性就可以看見一幅穩(wěn)定的畫面。從數(shù)據(jù)中讀取第1列對應(yīng)的行數(shù)據(jù)從數(shù)據(jù)中讀取第16列對應(yīng)的行數(shù)據(jù)從數(shù)據(jù)中讀取第2列對應(yīng)的行數(shù)據(jù)選通第1列選通第2列選通第16列16*16LED16*16LED16*16LED選通LED第1列選通LED第2列選通LED第16列按數(shù)據(jù)導(dǎo)通相應(yīng)行按數(shù)據(jù)導(dǎo)通相應(yīng)行按數(shù)據(jù)導(dǎo)通相應(yīng)行讀取所需要顯示的數(shù)據(jù)至顯示寄存器圖4-2 掃描顯示程序原理圖4.2.2 點陣數(shù)據(jù)表達方式該顯示系統(tǒng)的顯示數(shù)據(jù)采取縱向取模方向正向的數(shù)據(jù)存儲方式如圖4-3, 圖4-3 點陣數(shù)
27、據(jù)原理圖4.2.3 顯示程序的設(shè)計顯示程序分為靜態(tài)顯示程序、左移顯示、右移顯示、上移顯示、下移顯示五種種顯示方式。其中上下左右移動程序都調(diào)用了靜態(tài)顯示程序為子程序。靜態(tài)顯示程序流程圖如圖4-4所示: 開始初始化讀取顯示數(shù)依次選通列,行74LS164的CLOCK端置低,鎖存器禁止輸出對應(yīng)行數(shù)組元素與0X01相與,相與結(jié)果寫入單片機端口輸出右移次數(shù)是否為8?鎖存器允許輸出Y圖4-4 靜態(tài)顯示程序流程圖顯示采用的是列掃描的顯示方式,選通一列后按照列與數(shù)據(jù)元素的對應(yīng)關(guān)系第i列對應(yīng)的行數(shù)據(jù)為數(shù)組中的第i和第i+16個元素。將對應(yīng)元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與
28、,所得結(jié)果通過單片機端口輸出到串并轉(zhuǎn)換器的A端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各列來顯示所需畫面。開始讀入顯示數(shù)組顯示顯示數(shù)組元素在數(shù)組中的位置左/右移一位移動次數(shù)是否是16YN開始讀入顯示數(shù)組顯示顯示數(shù)組元素在數(shù)組中的位置前/后移一位移動次數(shù)是否是16NY圖4-5 左右移/上下移程序流程圖 動態(tài)顯示程序流程如圖4-5所示,根據(jù)顯示數(shù)據(jù)的存儲原理通過改變實際LED列與數(shù)據(jù)邏輯列的方法來實現(xiàn)程序的左右移動。顯示數(shù)據(jù)與列的對應(yīng)關(guān)系為:第i列對應(yīng)的數(shù)據(jù)為數(shù)組中i和第2×i個數(shù)據(jù)。所以當(dāng)ULN2803選通時,而送入后一列的數(shù)據(jù)則相當(dāng)于畫面左移移位,同理送入前一列
29、數(shù)據(jù)相當(dāng)于右移一位。如此循環(huán)則產(chǎn)生一幅穩(wěn)定運動的畫面。 顯示數(shù)組中,第1至16個元素的第8至第1位LED顯示屏中的第1至第8行。同理第17至32個元素的第8至第1位LED顯示屏中的第9至第16行。所以將元素數(shù)據(jù)進行邏輯位移便能產(chǎn)生上下移動的效果。4.3 通信程序的設(shè)計系統(tǒng)采用串行中斷的方式進行通信。MCS-51單片機的五個中斷源兩種類型:一類是外部中斷源;另一類是內(nèi)部中斷源,包括兩個定時器/計數(shù)器(T0和T1)的溢出中斷和串行口的接收和發(fā)送中斷。MCS-51單片機設(shè)置了4個專用寄存器用于中斷控制,分別為定時器控制寄存器(TCON),串行口中斷控制器(SCON),中斷允許控制寄存器(IE),中斷
30、優(yōu)先級控制寄存器(IP)。編程時通過設(shè)置其狀態(tài)來管理中斷系統(tǒng)。在編輯中斷程序時首先是將中斷控制寄存器(IE)初始化。其控制位分布如表。EA為中斷允許總控制位,EA=1時CPU開發(fā)中斷;EA1時。CPU屏蔽所有中斷。ES、ET、EX1、ET0、EX0為對應(yīng)的串行口中斷、定時器/計數(shù)器1中斷、外部中斷1中斷、定時器/計數(shù)器0中斷、外部中斷0中斷的中斷允許位。對應(yīng)位為1時允許其中斷,對應(yīng)位為0時,禁止其中斷。表4-1 中斷允許寄存器格式D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0所以初始化時設(shè)定中斷允許寄存器初值為0XFF,指令為 IE=0XFF。程序設(shè)計時還要考慮到中斷優(yōu)先級的
31、問題。因為不同的中斷同時產(chǎn)生而CPU響應(yīng)的順序取決于內(nèi)部查詢順序。設(shè)置串口工作方式1,波特率9600,計算可得計數(shù)器初值的十六進制表示為0XFD。通信協(xié)議如表4-2所示:表4-2 串口通信數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)第1個字節(jié)第2至第33個字節(jié)第34個字節(jié)內(nèi)容起始標(biāo)志位S顯示數(shù)據(jù)控制指令作用判斷是否開始接收數(shù)據(jù)LED的顯示內(nèi)容控制LED顯示方式具體串口中斷程序流程圖如圖4-6所示,在主程序中先進行了串行中斷的初始化,初始化內(nèi)容包括了串行工作方式選擇,波特率的設(shè)定,計數(shù)初值的設(shè)定。程序開始進入中斷等待,當(dāng)向單片機發(fā)送數(shù)據(jù)時產(chǎn)生中斷接收允許位RI置1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進行數(shù)據(jù)處理。
32、首先判斷數(shù)據(jù)是否設(shè)定的起始標(biāo)志位S如果是則開始接收起始位后的33個字節(jié),不是則中斷返回繼續(xù)等待。接收到第34個字節(jié)后便將收到的數(shù)據(jù)進行驗證比較接收串口數(shù)據(jù)接收起始位后33位數(shù)據(jù)中段開始R1=1?起始位S接收到第34位?將第2位起的32位數(shù)據(jù)發(fā)回控制系統(tǒng)中段返回圖4-6 通信程序流程圖所有軟件編寫完成后都必須經(jīng)過編譯才能被單片機識別使用。為了減小軟件的修改和優(yōu)化難度,先把各子程序?qū)憺橐粋€可單獨執(zhí)行的完整程序。各子程序編譯沒有錯誤后再輸入單片機進行驗證,這兩項都通過后再將所有的程序整合到一起形成一個完整的程序再進行編譯和驗證。5.仿真結(jié)果圖5.1結(jié) 論 經(jīng)過一段時間的工作,終于算是完成了基于51單
33、片機的LED顯示系統(tǒng)的設(shè)計,項目所要求的功能全部達到。通過這次設(shè)計收獲頗多,不僅是所作題目涉及到的軟硬件知識還有更為重要的實際經(jīng)驗和過程中所發(fā)現(xiàn)的問題。接手題目之后從互聯(lián)網(wǎng)上對LED進行了詳細(xì)的資料收集,從技術(shù)和產(chǎn)業(yè)的兩方面對LED進行了了解。通過了解我認(rèn)識到LED是一門當(dāng)今應(yīng)用非常廣泛的技術(shù),整個產(chǎn)業(yè)每年都會有巨大的產(chǎn)值而且技術(shù)還在不斷發(fā)展和創(chuàng)新。從設(shè)計之初就確定了參照大屏幕顯示屏的實現(xiàn)方法和實際情況設(shè)計一款小屏幕的LED點陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設(shè)計方案。整個設(shè)計采用AT89C51做核心控制器,74LS164和74LS373組成譯碼電路,三極管8550和ULN
34、2803做行和列驅(qū)動。在實現(xiàn)這一設(shè)計的過程中所遇到的問題和困難給我留下了寶貴的經(jīng)驗和深刻教訓(xùn)。這些經(jīng)驗和教訓(xùn)是:(1)設(shè)計之前應(yīng)該進行大量的資料收集和分析,確定一個清晰的設(shè)計思路;(2)器件選擇時要詳細(xì)閱讀器件使用手冊,不但要考慮器件的功能實現(xiàn)還要考慮器件在整個系統(tǒng)中的兼容性;(3)硬件的系統(tǒng)的建立必須合理和穩(wěn)定,實物建立之前最好進行仿真這樣才能為軟件提供一個可靠的試驗平臺;(4)軟件的編寫不但要實現(xiàn)功能還要不斷的優(yōu)化、簡練、易讀。隨著課題的進行,對LED的了解也越來越深入。認(rèn)為LED技術(shù)也會進一步發(fā)展,LED應(yīng)用將會更加廣泛??梢栽O(shè)想利用LED的高穩(wěn)定性和低能耗,再與無線通信技術(shù)相結(jié)合在沙漠
35、深處或者人跡罕至的雪山之顛樹立一塊依靠太陽能充電,通過無線傳輸方式更改顯示內(nèi)容的信息板為登山者提供指示和天氣信息,為沙漠迷路的人指引方向。設(shè)計結(jié)束了,但學(xué)習(xí)還在繼續(xù)。我相信通過此次設(shè)計所得到的知識、心得、經(jīng)驗?zāi)酥粮惺芏紩屛以谝院蟮娜兆永锸芤娣藴\。 附錄 1: 硬件原理圖附錄 2: 程序清單/主程序主要為各功能子程序提供運行平臺,子程序分為顯示程序,特效顯示程序,/按鍵輸入中斷子程序/#include<reg51.h>/#include <absacc.h>/#include <intrins.h>#include<AT89x52.h>/#inc
36、lude<regx52.h>#define COUNT 34#define W 0X01unsigned char bufferCOUNT;unsigned char point;sbit A1=P10; /定義第一列對應(yīng)端口sbit A2=P11; / 第二列 sbit A3=P14; / 第一行sbit A4=P15; / 第二行sbit CLK_L=P12; /列移位時鐘 上升沿觸發(fā)sbit CLEAR_L=P13; /列清除控制位 低電平有效sbit CLK_H=P16; /行移位時鐘sbit CLEAR_H=P17; / 行清除控制位 低電平有效sbit EN=P20;
37、sbit P21=P21;sbit OE=P22; /三態(tài)允許控制端 低電平有效sbit LE=P23; /鎖存允許端unsigned char code H116=1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,H216=0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0; /分別暫存行(H)列(L)所要顯示的數(shù)據(jù)unsigned char L1,L2,i,command,k,j;char z,l,m,n,x;unsigned char data ziku32;unsigned char idata sort32;unsigned int data temp;un
38、signed char code Bmp019= /靜態(tài)顯示內(nèi)容/*- 源文件 / 文字 : 壽 寬×高(像素): 16×16 字模格式/大小 : 單色點陣液晶字模,縱向取模,字節(jié)正序/32字節(jié) 數(shù)據(jù)轉(zhuǎn)換日期 : 2007-5-31 16:26:59-*/0x00,0x22,0x22,0x2A,0x2A,0x2A,0x2F,0xFA,0x2A,0x2A,0x2A,0x2B,0x2A,0x2A,0x22,0x00,0x04,0x04,0x08,0x10,0x20,0xC0,0x20,0x5C,0x48,0x42,0x41,0xFE,0x40,0x40,0x40,0x00;/*
39、/串口中斷程序/功能:接收數(shù)據(jù),當(dāng)接收滿34位后將接收到的數(shù)據(jù)發(fā)送返回/*com_interrupt(void)interrupt 4 using 3 unsigned char RECEIVR_buffer; if(RI=1) RECEIVR_buffer=SBUF; RI=0; TI=0; if(point=0) if(RECEIVR_buffer='s') point+; else point=0; if(point>0&&point<35) bufferpoint+=RECEIVR_buffer; else point=0;/TI=0; if
40、(point=35&&RI=0) command=buffer34; point=0; x=0; for(k=2;k<34;k+) SBUF=bufferk; sortk-2=bufferk; while(TI=0); TI=0; void delay(int k) /延時程序 while(k-);/*/靜態(tài)顯示程序/功能:將顯示數(shù)據(jù)處理后,控制串并轉(zhuǎn)換器并行輸出控制LED顯示/* void display() /顯示子程序 EN=1; P21=1; CLEAR_L=0;delay(5);CLEAR_L=1; for(i=0;i<16;i+) CLK_L=0; A1=H1i; A2=H2i; CLK_L=1; L1=zikui+z; L2=zikui+16+z; if(i+z<0|i+z>15) continue; OE=1; LE=1; if(L1=0x00 && L2=0x00) continue; for(j=0;j<8;j+) CLK_H=0;if(L1&W=1) A3=0; else A3=1; if(L2&W=1) A4=0; else A4=1; CLK_H=1; L1>>=1;
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《第4節(jié) 影片的后期制作》教學(xué)設(shè)計教學(xué)反思-2023-2024學(xué)年初中信息技術(shù)北師大版八年級上冊自編模擬
- 2025年黑龍江省單招職業(yè)傾向性測試題庫1套
- 第3單元第12課星期查詢-字符串函數(shù)和鍵盤輸入函數(shù)-教學(xué)設(shè)計2023-2024學(xué)年清華大學(xué)版(2012)初中信息技術(shù)九年級上冊
- 5-1《阿Q正傳(節(jié)選)》教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊
- 2024-2025學(xué)年人教版(2024)七年級英語上冊寒假教學(xué)設(shè)計day 5
- 2024中廣核環(huán)保產(chǎn)業(yè)有限公司招聘7人筆試參考題庫附帶答案詳解
- 第四章 第3節(jié) 平面鏡成像2024-2025學(xué)年新教材八年級上冊物理新教學(xué)設(shè)計(人教版2024)
- 粵教版高中信息技術(shù)必修一1.2.2 信息技術(shù)的應(yīng)用與影響 教學(xué)設(shè)計
- 2025年湖北省省直轄行政單位單招職業(yè)適應(yīng)性測試題庫完美版
- 第五單元課題2 化學(xué)方程式教學(xué)設(shè)計-2024-2025學(xué)年九年級化學(xué)人教版(2024)上冊
- 大數(shù)據(jù)分析在審計中的創(chuàng)新運用
- 激光雷達行業(yè)市場規(guī)模分析
- 高血壓性心臟病病例討論
- 規(guī)劃院所長述職報告
- 腦卒中后吞咽障礙患者進食護理-護理團標(biāo)
- 銷售人員商務(wù)禮儀培訓(xùn)通用課件
- 全國各省(直轄市、自治區(qū))市(自治州、地區(qū))縣(縣級市)區(qū)名稱一覽表
- 大學(xué)美育導(dǎo)引 課件 第五章 體驗人生在世-戲劇
- 大學(xué)美育導(dǎo)引 課件 第六章 沉浸光影世界-電影
- 化學(xué)品危險物質(zhì)替代技術(shù)
- 醫(yī)院收費價格注意培訓(xùn)課件
評論
0/150
提交評論