版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 課程設(shè)計(jì) 題 目:基于單片機(jī)的點(diǎn)陣電子顯示屏設(shè)計(jì)(顯示 大學(xué)人民武裝學(xué)院信息工程系) 學(xué) 院:大學(xué)人民武裝學(xué)院 專 業(yè):電子信息工程與技術(shù) 學(xué) 號(hào):PZ102024114班 級(jí):10級(jí)姓 名:志指導(dǎo)老師:王代強(qiáng)35 / 36基于單片機(jī)的點(diǎn)陣電子顯示屏設(shè)計(jì)摘要:本文介紹了一款以單片機(jī)AT89S51為控制器的LED點(diǎn)陣顯示屏系統(tǒng)的設(shè)計(jì)。該系統(tǒng)可實(shí)現(xiàn)中英文字符的顯示和動(dòng)態(tài)特效顯示。并且可以通過級(jí)連的方式來擴(kuò)大顯示屏幕的尺寸以達(dá)到增加顯示容的目的。系統(tǒng)采用PC機(jī)作為上位機(jī),上位機(jī)向單片機(jī)發(fā)送控制命令和上位機(jī)所存儲(chǔ)的顯示代碼,AT89S51單片機(jī)接收并處理PC機(jī)的控制命令以與顯示代碼,由
2、顯示驅(qū)動(dòng)模塊驅(qū)動(dòng)一個(gè)16×16分辨率的LED點(diǎn)陣顯示屏的掃描顯示。PC機(jī)與單片機(jī)之間的通信采用RS232C通信標(biāo)準(zhǔn)來實(shí)現(xiàn)。所選用的AT89S51單片機(jī)具有價(jià)格低廉程序?qū)懭敕奖愕奶攸c(diǎn)使得整個(gè)系統(tǒng)方便維護(hù)和檢修。除此之外,該系統(tǒng)只占用了單片機(jī)少量的I /O口和存,為系統(tǒng)留下了功能擴(kuò)展的空間。關(guān)鍵字:AT89S51;LED點(diǎn)陣顯示;串行通信第1章 緒 論1.1 課題背景1.1.1 選題背景LED顯示屏是八十年代后期在全球迅速發(fā)展起來的新型信息顯示媒體,顯示屏由幾萬幾十萬個(gè)半導(dǎo)體發(fā)光二極管像素點(diǎn)均勻排列組成。利用不同的材料可以制造不同色彩的LED像素點(diǎn)。目前應(yīng)用最廣的是紅色、綠色、黃色。而藍(lán)
3、色和純綠色LED的開發(fā)已經(jīng)達(dá)到了實(shí)用階段。LED顯示屏可以顯示變化的數(shù)字、文字、圖形圖像;不僅可以用于室環(huán)境還可以用于室外環(huán)境,具有投影儀、電視墻、液晶顯示屏無法比擬的優(yōu)點(diǎn)1。在短短的十來年中,LED點(diǎn)陣顯示屏就以亮度高、工作電壓低、功耗小、小型化、壽命長、耐沖擊和性能穩(wěn)定的優(yōu)點(diǎn)迅速成長為平板顯示的主流產(chǎn)品,在信息顯示領(lǐng)域得到了廣泛的應(yīng)用。LED的發(fā)展前景極為廣闊,目前正朝著更高亮度、更高耐氣候性、更高的發(fā)光密度、更高的發(fā)光均勻性、可靠性、全色化方向發(fā)展。LED顯示屏的應(yīng)用涉與社會(huì)經(jīng)濟(jì)的許多領(lǐng)域,主要包括:(1)證券交易、金融信息顯示。(2)機(jī)場(chǎng)航班動(dòng)態(tài)信息顯示。(3)港口、車站旅客引導(dǎo)信息顯
4、示。(4)體育場(chǎng)館信息顯示。(5)道路交通信息顯示。(6)調(diào)度指揮中心信息顯示。(7)郵政、電信、商場(chǎng)購物中心等服務(wù)領(lǐng)域的業(yè)務(wù)宣傳與信息顯示。(8)廣告媒體新產(chǎn)品等。1.1.2 研究現(xiàn)狀與發(fā)展趨勢(shì)(1)我國LED產(chǎn)業(yè)發(fā)展現(xiàn)狀我國的LED顯示屏產(chǎn)業(yè)經(jīng)過幾年的發(fā)展,基本形成了一批具有一定規(guī)模的骨干企業(yè)。據(jù)不完全統(tǒng)計(jì),至1998年底,年度銷售總額在1000萬元以上的企業(yè)有20多家,其銷售總額達(dá)6億元左右,占行業(yè)市場(chǎng)總額的85%以上。全國從事LED顯示屏的各類企業(yè)有100余家,從業(yè)人員近6000人,行業(yè)年度銷售總額近8億元人民幣,1996年、1997年的增長速度均保持40%左右,1998年略有回落。在
5、國市場(chǎng)上,國產(chǎn)LED顯示屏的市場(chǎng)占有率近100%,國外同類產(chǎn)品基本沒有市場(chǎng),四十三屆世乒賽主會(huì)場(chǎng)體育中心、京九鐵路、西客站、首都機(jī)場(chǎng)、浦東機(jī)場(chǎng)等,均由國代表企業(yè)中標(biāo)。技術(shù)水平相對(duì)領(lǐng)先,我國LED顯示屏產(chǎn)業(yè)在規(guī)模發(fā)展的同時(shí),產(chǎn)品技術(shù)推出新,一直保持比較先進(jìn)的水平。90年代初即具備了成熟的16級(jí)灰度256色視頻控制技術(shù)與無線遙控等國際先進(jìn)水平技術(shù),近年在全彩色LED顯示屏、256級(jí)灰度視頻控制技術(shù)、集群無經(jīng)線控制、多級(jí)群控技術(shù)等方面均有國先進(jìn)、達(dá)到國際水平的技術(shù)和產(chǎn)品出現(xiàn);LED顯示屏控制專用大規(guī)模集成電路也已由國企業(yè)開發(fā)生產(chǎn)并得到應(yīng)用。LED顯示屏產(chǎn)業(yè)培養(yǎng)形成了一批LED顯示屏科技隊(duì)伍,在全國L
6、ED顯示屏行業(yè)的從業(yè)人數(shù)6000人中,科技人員有2800多人,將近50%。LED顯示屏產(chǎn)業(yè)正成為我國電子信息產(chǎn)業(yè)的重要組成部分,也是平板顯示領(lǐng)域唯一立足國形成的民族高科技產(chǎn)業(yè)。 (2)LED顯示屏的發(fā)展趨勢(shì)現(xiàn)代信息社會(huì)中,作為人一機(jī)信息視覺傳播媒體的顯示產(chǎn)品和技術(shù)得到迅速發(fā)展,進(jìn)入二十一世紀(jì)的顯示技術(shù)將是平板顯示的時(shí)代,LED顯示屏作為平板顯示的主導(dǎo)產(chǎn)品之一無疑會(huì)有更大的發(fā)展,并有可能成為二十一世紀(jì)平板顯示的代表性主流產(chǎn)品。高亮度、全彩化藍(lán)色與純綠色LED產(chǎn)品自出現(xiàn)以來,成本逐年快速降低,已具備成熟的商業(yè)化條件?;A(chǔ)材料的產(chǎn)業(yè)化。使LED全彩色顯示產(chǎn)品成本下降,應(yīng)用加快。LED產(chǎn)品性能的提高,
7、使全彩色顯示屏的亮度、色彩、白平衡均達(dá)到比較理想的效果,完全可以滿足戶外全天候的環(huán)境條件要求,同時(shí),由于全彩色顯示屏價(jià)格性能比的優(yōu)勢(shì),預(yù)計(jì)在未來幾年的發(fā)展中,全彩色LED顯示屏在戶外廣告媒體中會(huì)越來越多地代替?zhèn)鹘y(tǒng)的燈箱、霓紅燈、磁翻板等產(chǎn)品,體育場(chǎng)館的顯示方面全彩色LED屏更會(huì)成為主流產(chǎn)品。全彩色LED顯示屏的廣泛應(yīng)用會(huì)是LED顯示屏產(chǎn)業(yè)發(fā)展的一個(gè)新的增長點(diǎn)。未來LED顯示屏?xí)蛑鴺?biāo)準(zhǔn)化、規(guī)化,產(chǎn)品結(jié)構(gòu)多樣化的方向發(fā)展2。(3)選題意義該設(shè)計(jì)課題使我們能夠掌握LED顯示屏的基本顯示原理和設(shè)計(jì)方法,對(duì)LED顯示屏這個(gè)行業(yè)有了較為深刻的了解和認(rèn)識(shí)。并且對(duì)大學(xué)期間所學(xué)習(xí)的一些理論進(jìn)行了實(shí)踐,使我們對(duì)
8、所學(xué)過的理論知識(shí)有了新的認(rèn)識(shí)。并且通過該設(shè)計(jì)課題掌握了51單片機(jī)的的軟硬件開發(fā)工具的使用方法,為以后從事相關(guān)行業(yè)的工作積累了實(shí)際工作經(jīng)驗(yàn)。目前我國的信息行業(yè)發(fā)展迅速,作為主要平面顯示媒介的LED顯示屏的作用也越練越廣泛,相關(guān)的從業(yè)人員也會(huì)越來越緊缺。但同時(shí)應(yīng)該清楚的認(rèn)識(shí)到我國的LED技術(shù)雖然發(fā)展迅速但和世界先進(jìn)水平還有一定的差距。因此此課題不論是對(duì)自己的就業(yè)還是對(duì)我國LED顯示技術(shù)的發(fā)展都有非?,F(xiàn)實(shí)與積極的意義。1.2 論文主要容針對(duì)設(shè)計(jì)題目的特點(diǎn),作者對(duì)論文的容和結(jié)構(gòu)將做如下安排:(1)初步方案的論證和選擇 搜集題目的有關(guān)資料,并參照目前通用的設(shè)計(jì)思想和設(shè)計(jì)方法擬定幾套設(shè)計(jì)方案進(jìn)行分析比較。
9、最終選定了以PC機(jī)為上位機(jī),單片機(jī)為核心控制器件,外加譯碼電路和驅(qū)動(dòng)電路的設(shè)計(jì)方案。(2)方案實(shí)現(xiàn)以設(shè)計(jì)方案為指導(dǎo)思想選擇合適的器件來實(shí)現(xiàn)這一思想,選擇器件時(shí)要從功能和電氣特性兩方面來選擇和論證。經(jīng)過對(duì)比選擇選定AT89S51單片機(jī)為核心控制器件,由串并轉(zhuǎn)換器74LS164和鎖存器74LS373為譯碼電路器件,三極管8550和ULN2803為驅(qū)動(dòng)電路器件。論文列出了詳細(xì)的器件參數(shù)和在系統(tǒng)中的連接使用方法。 (3)軟件編寫 根據(jù)硬件特點(diǎn)和設(shè)計(jì)要求,軟件選用匯編語言編寫。程序按功能分為靜態(tài)顯示、動(dòng)態(tài)顯示、通信等幾個(gè)功能上相對(duì)獨(dú)立的模塊。然后按照所劃分的模塊逐個(gè)編寫和調(diào)試,最后將獨(dú)立的模塊整合起來。
10、(4)驗(yàn)證與測(cè)試 調(diào)試分為硬件調(diào)試、軟件調(diào)試和系統(tǒng)聯(lián)合調(diào)試幾步來進(jìn)行。在硬件調(diào)試中發(fā)現(xiàn)有單片機(jī)端口驅(qū)動(dòng)能力不足、驅(qū)動(dòng)電路工作不穩(wěn)定等問題。在軟件調(diào)試中出現(xiàn)程序整合工作不協(xié)調(diào)等問題。通過分析,查找找出了問題原因并設(shè)法將其解決。(5)結(jié)論設(shè)計(jì)完成后對(duì)設(shè)計(jì)中所遇到的問題、經(jīng)驗(yàn)教訓(xùn)、以與自己的想法進(jìn)行總結(jié)。第2章 方案論證與選擇2.1 系統(tǒng)硬件方案大多數(shù)的LED顯示屏都在戶外,所以對(duì)硬件的質(zhì)量要求非常的高。為方便檢修和維護(hù)硬件電路設(shè)計(jì)時(shí)常常采用模塊化的設(shè)計(jì)方法。硬件的設(shè)計(jì)采用模塊化設(shè)計(jì),既要滿足模塊本身功能又要能夠和整個(gè)系統(tǒng)兼容。如圖2-1所示,根據(jù)顯示系統(tǒng)的功能特點(diǎn)確定系統(tǒng)硬件由顯示屏部分,控制部分
11、,通信系統(tǒng)與上位機(jī)四部分組成。上位機(jī)通過通信部分向控制部分發(fā)送控制指令和顯示容代碼,控制部分執(zhí)行顯示指令并將顯示代碼處理后控制顯示部分的顯示容和顯示方式3。圖2-1 系統(tǒng)硬件組成框圖2.1.1 顯示屏主控制器控制部分是整個(gè)系統(tǒng)的核心部分,其功能為與上位機(jī)通信接收上位機(jī)發(fā)送的數(shù)據(jù)和控制指令處理過后控制顯示部分顯示容。其常用的電子設(shè)計(jì)方法有單片機(jī)、DSP、與EDA技術(shù)。幾種設(shè)計(jì)方法比較各有其特點(diǎn):(1)單片機(jī)單片機(jī)是集成了CPU,ROM,RAM和I/ O口的微型計(jì)算機(jī)。它有很強(qiáng)的接口性能,非常適合于工業(yè)控制,因此又叫微控制器(MCU)。單片機(jī)品種齊全,型號(hào)多樣 CPU 從8,16,32到64位,多
12、采用RISC 技術(shù),片上I/O非常豐富,有的單片機(jī)集成有A/ D,“ 看門狗”,PWM,顯示驅(qū)動(dòng),函數(shù)發(fā)生器,鍵盤控制等。它們的價(jià)格也高低不等,這樣極滿足了開發(fā)者的選擇自由。除此之外單片機(jī)還具有低電壓和低功耗的特點(diǎn)。隨著超大規(guī)模集成電路的發(fā)展,NMOS工藝單片機(jī)被CMOS代替,并開始向HMOS 過渡。供電電壓由5V 降到3V,2V甚至到1V,工作電流由mA降至A ,這在便攜式產(chǎn)品有用武之地4。單片機(jī)的技術(shù)門檻較低開發(fā)成本也較低非常適合初學(xué)者進(jìn)行學(xué)習(xí)和鍛煉使用。現(xiàn)在市場(chǎng)上常用的單片機(jī)主要有MCS-51、AVR、ARM、PIC等。其中應(yīng)用最廣泛的單片機(jī)首推Intel的51系列,由于產(chǎn)品硬件結(jié)構(gòu)合理
13、,指令系統(tǒng)規(guī),加之生產(chǎn)歷史“悠久”,有先入為主的優(yōu)勢(shì)常作為單片機(jī)學(xué)習(xí)的教材。且51系列的I/O腳的設(shè)置和使用非常簡單,當(dāng)該腳作輸入腳使用時(shí),只須將該腳設(shè)置為高電平(復(fù)位時(shí),各I/O口均置高電平)。當(dāng)該腳作輸出腳使用時(shí),則為高電平或低電平均可。所以在控制部分方案的選擇中選定51系列單片機(jī)作為控制部分的核心器件。2.1.2 通信系統(tǒng) 通信部分要滿足的設(shè)計(jì)要求就是穩(wěn)定、快速、簡單易實(shí)現(xiàn)。因?yàn)橥ǔG闆r下顯示屏和上位機(jī)的距離不會(huì)很遠(yuǎn),所以通信距離的要求不是很高。計(jì)算機(jī)數(shù)據(jù)通信主要采用并行通信和串行通信兩種方式。(1)并行通信并行通信時(shí)數(shù)據(jù)的各個(gè)位同時(shí)傳送,可以字或字節(jié)為單位并行進(jìn)行。并行通信速度快,但用
14、的通信線多、成本高,故不宜進(jìn)行遠(yuǎn)距離通信。(2)串行通信串行通信數(shù)據(jù)是一位一位順序傳送,只用很少幾根通信線,串行傳送的速度低,但傳送的距離長,因此串行適用于長距離而速度要求不高的場(chǎng)合。在串行發(fā)送時(shí),數(shù)據(jù)是一位一位按順序進(jìn)行的,而計(jì)算機(jī)部的數(shù)據(jù)是并行的。因此,當(dāng)計(jì)算機(jī)向外發(fā)送數(shù)據(jù)時(shí),必須將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)再發(fā)送。反之,又必須將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)輸入計(jì)算機(jī)中。這種轉(zhuǎn)換即可以用硬件實(shí)現(xiàn)也可以用軟件實(shí)現(xiàn)。單由軟件實(shí)現(xiàn)會(huì)增加CPU負(fù)擔(dān),降低其利用率,故目前常采用硬件實(shí)現(xiàn)。通用的通用異步接收/發(fā)送器,簡稱UART(UniversalAsynchromousReceeiver/Trabsnitte
15、r)是完成這一功能的硬件電路。在單片機(jī)芯片中,UART已經(jīng)集成在其中,作為其組成部分,構(gòu)成一個(gè)串行口6。 綜上所述,題目設(shè)計(jì)已經(jīng)選定了單片機(jī)為開發(fā)方式而單片機(jī)的UART已經(jīng)集成在單片機(jī),所以通信系統(tǒng)選擇串行通信為通信方式。2.1.3 LED點(diǎn)陣顯示屏顯示部分包括了一塊至少可以顯示一個(gè)漢字的顯示屏,以與驅(qū)動(dòng)該顯示屏的驅(qū)動(dòng)電路。由于單片機(jī)的I/O口有限要不能直接用I/O口來驅(qū)動(dòng)LED顯示屏,所以需要對(duì)單片機(jī)IO口進(jìn)行擴(kuò)展增加單片機(jī)并行輸出的能力。LED顯示屏是由一個(gè)一個(gè)的發(fā)光二極管點(diǎn)陣構(gòu)成的,要構(gòu)成大屏幕的LED顯示屏就需要多個(gè)發(fā)光二極管。構(gòu)成LED屏幕的方法有兩種,一是由單個(gè)的發(fā)光二極管逐點(diǎn)連接
16、起來,如圖2-2所示;二是選用一些由單個(gè)發(fā)光二極管構(gòu)成的LED點(diǎn)陣子模塊構(gòu)成大的LED點(diǎn)陣模塊。目前市場(chǎng)上普遍采用的點(diǎn)陣模塊有8×8、16×16幾種;這兩種屏幕構(gòu)成方法各有有缺點(diǎn),單個(gè)發(fā)光二極管構(gòu)成顯示屏優(yōu)點(diǎn)在于當(dāng)單個(gè)的發(fā)光二極管出現(xiàn)問題時(shí)只需更換一個(gè)二極管即可,檢修的成本較低,缺點(diǎn)在于連接線路復(fù)雜;而點(diǎn)陣模塊構(gòu)成的方法卻正好與之相反,模塊構(gòu)成省約了大量的連線,不過當(dāng)一個(gè)LED出現(xiàn)問題時(shí)同在一個(gè)模塊的所有LED都必須被更換。這就加大了維修的成本。兩種方法相比較,決定采取模塊構(gòu)成的方法來制作一個(gè)LED點(diǎn)陣顯示屏。為了避免模塊的缺點(diǎn),選擇點(diǎn)陣數(shù)較小的模塊來減小出現(xiàn)這一問題的風(fēng)險(xiǎn)
17、。所以構(gòu)建一個(gè)16×16的LED點(diǎn)陣屏選用四塊8×8點(diǎn)陣模塊。圖 2-2 LED點(diǎn)陣圖一個(gè)16×16的LED顯示屏行和列各有16支引腳,不能單靠51單片機(jī)的端口驅(qū)動(dòng)所以必須要對(duì)單片機(jī)的端口個(gè)數(shù)進(jìn)行擴(kuò)展。經(jīng)常采用的端口擴(kuò)展方法是用串并轉(zhuǎn)換芯片進(jìn)行譯碼。常用的串并轉(zhuǎn)換芯片有74LS154(4線-16線譯碼器)、74LS164(8位串并轉(zhuǎn)換器)、74HC595等。51系列單片機(jī)端口低電平時(shí),吸入電流可達(dá),具有一定的驅(qū)動(dòng)能力;而為高電平時(shí),輸出電流僅數(shù)十甚至更?。娏鲗?shí)際上是由腳的上拉電流形成的),基本上沒有驅(qū)動(dòng)能力,所以單片機(jī)不能直接驅(qū)動(dòng)LED顯示屏顯示。在單片機(jī)和顯示
18、屏之間還需要增加以功能放大位目的的驅(qū)動(dòng)電路7。2.1.4 硬件設(shè)計(jì)方案最終方案如圖2-3所示,以PC機(jī)作為上位機(jī)存儲(chǔ)和處理顯示容用串行通信的方式將顯示容和控制指令傳輸?shù)絾纹瑱C(jī)系統(tǒng),單片機(jī)根據(jù)上位機(jī)傳輸來的容和指令通過端口譯碼擴(kuò)展后驅(qū)動(dòng)4塊8×8LED點(diǎn)陣模塊構(gòu)成的16×16的LED點(diǎn)陣顯示屏。題目將以此方案為指導(dǎo)思想展開具體的硬件電路設(shè)計(jì)。圖2-3硬件設(shè)計(jì)方案2.2 系統(tǒng)軟件方案軟件的設(shè)計(jì)除了滿足設(shè)計(jì)功能外還必須要滿足易讀寫,方便下載和編譯。設(shè)計(jì)目標(biāo)和硬件總體結(jié)構(gòu)確定的情況下,軟件可以分為主程序,顯示子程序,各種特效顯示子程序,通信程序三個(gè)主要部分組成。具體結(jié)構(gòu)如圖2-4所
19、示。圖2-4 軟件功能結(jié)構(gòu)框圖軟件的編寫需要借助軟件編輯器和編譯軟件,編譯完成后還需要下載到單片機(jī)中執(zhí)行。編寫軟件之前得首先選擇一種合適的語言以與配套的編輯器和編譯軟件。最后還要選擇一款與所選單片機(jī)的下載器或下載軟件來把編寫的程序下載到單片機(jī)中執(zhí)行。2.2.1 單片機(jī)編程語言現(xiàn)在主要運(yùn)用的單片機(jī)編程語言為匯編語言和C語言。兩種語言相比較各有優(yōu)點(diǎn)。匯編語言(Assembly Language)是面向機(jī)器的程序設(shè)計(jì)語言,是一種功能很強(qiáng)的程序設(shè)計(jì)語言,也是利用計(jì)算機(jī)所有硬件特性并能直接控制硬件的語言。其具有執(zhí)行速度快,占存空間少等優(yōu)點(diǎn),但在編寫復(fù)雜程序時(shí)具有明顯的局限性,匯編語言依賴于具體的機(jī)型,不
20、能通用,也不能在不同機(jī)型之間移植8。2.2.2 上位機(jī)控制傳輸軟件其中系統(tǒng)采用現(xiàn)在已經(jīng)非常普遍的PC機(jī)作為上位機(jī),這樣對(duì)該顯示系統(tǒng)的硬件要求便降低了,增加了系統(tǒng)的通用性。上位機(jī)的作用是存儲(chǔ)并處理顯示容,然后通過通信系統(tǒng)傳送到控制系統(tǒng)驅(qū)動(dòng)顯示。LED顯示上位機(jī)的容一般有實(shí)時(shí)顯示和存儲(chǔ)顯示兩種方法。實(shí)時(shí)顯示與上位機(jī)屏幕上的容同時(shí)顯示在LED顯示屏上,上位機(jī)上容變化LED顯示屏也跟著變化。存儲(chǔ)顯示是將顯示容處理過后存儲(chǔ)在上位機(jī)過通信系統(tǒng)傳輸?shù)斤@示屏顯示9。兩種顯示方法相比較:實(shí)時(shí)顯示屏幕能與時(shí)反應(yīng)上位機(jī)容的變化,顯示的效果和容的實(shí)時(shí)性好多用于新聞播報(bào)、實(shí)況轉(zhuǎn)播用,但實(shí)時(shí)顯示硬件開銷大,對(duì)通信系統(tǒng)要求
21、高,工藝復(fù)雜,成本高;存儲(chǔ)顯示雖實(shí)時(shí)性不高但硬件開銷小,成本低廉。課題設(shè)計(jì)題目對(duì)顯示的實(shí)時(shí)性要求較低且所設(shè)計(jì)的顯示屏尺寸不時(shí)顯示的容不多,所以實(shí)時(shí)顯示就沒有必要。所以上位機(jī)選擇存儲(chǔ)顯示的方法,控制LED顯示屏的顯示容10。第3章 系統(tǒng)硬件設(shè)計(jì)3.1 硬件整體設(shè)計(jì)概述與功能分析顯示系統(tǒng)具體設(shè)計(jì)主要由上位機(jī),通信系統(tǒng),單片機(jī)系統(tǒng),譯碼電路,顯示驅(qū)動(dòng)電路和16×16的點(diǎn)陣屏六部分組成。具體工作流程為:上位PC機(jī)通過通信系統(tǒng)向單片機(jī)發(fā)送控制指令和顯示代碼容,單片機(jī)接收后執(zhí)行控制指令處理顯示代碼將顯示容通過I/O口串行輸出并且控制譯碼電路完成串并轉(zhuǎn)換并行輸出,最后由顯示驅(qū)動(dòng)電路進(jìn)行電壓和電流的
22、處理以達(dá)到LED顯示屏的顯示電流,電壓要求進(jìn)而使顯示屏顯示容11。根據(jù)硬件的功能結(jié)構(gòu)圖選取合適器件,器件不但要求能實(shí)現(xiàn)所要求的功能還要能兼容至整個(gè)系統(tǒng)之中。 該系統(tǒng)所要實(shí)現(xiàn)的功能和要求有以下幾點(diǎn):(1)LED顯示屏的面積必須滿足至少顯示一個(gè)漢字的標(biāo)準(zhǔn)。并且顯示要清晰。(2)驅(qū)動(dòng)電路要能提供LED顯示所需圍的電壓和電流要求。(3)譯碼電路的高低電平的區(qū)分能力以與譯碼的輸入輸出頻率必須滿足單片機(jī)以與驅(qū)動(dòng)電路的要求。(4)單片機(jī)要能接收上位機(jī)的指令和顯示容且能夠處理后控制LED顯示屏的顯示,并且端口驅(qū)動(dòng)能力要足以驅(qū)動(dòng)譯碼電路。執(zhí)行頻率要能達(dá)到掃描顯示的最低要求。(5)單片機(jī)由ISP下載線下載程序和供
23、電,可不設(shè)立專用供電電源。(6)由串口完成單片機(jī)與上位機(jī)的通信,通信速度和數(shù)據(jù)傳輸?shù)目煽啃砸_(dá)到顯示要求。3.2 控制單元設(shè)計(jì)控制單元是整個(gè)顯示系統(tǒng)的核心,該系統(tǒng)中采用51系列單片機(jī)為核心器件,用來和上位機(jī)通信處理上位機(jī)發(fā)送的控制指令和顯示容。并且直接輸出數(shù)據(jù)通過譯碼電路控制LED顯示屏的顯示容和顯示狀態(tài)。在51系列單片機(jī)中選定一款合適的機(jī)型來作為控制單元的主控芯片。根據(jù)題目的要求該芯片必須要具有的就是方便的編程能力,因?yàn)樵谲浖O(shè)計(jì)時(shí)方便的程序下載對(duì)程序的驗(yàn)證和編寫非常有用。還有就是為了提高LED顯示屏的掃描速度,單片機(jī)的執(zhí)行速度要盡可能的快。根據(jù)這兩點(diǎn)要求,選擇美國ATMEL公司生產(chǎn)的AT8
24、9S51為控制單元的主控芯片。3.2.1 AT89S51簡介AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機(jī),片含4k bytes的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)與引腳。它集Flash程序存儲(chǔ)器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程與通用8位微處理器于單片芯片中,ATMEL公司的功能強(qiáng)大,低價(jià)位AT89S51單片機(jī)可提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域。AT989S51具有以下特點(diǎn):·與MCS-51產(chǎn)品指令系統(tǒng)完全兼容·4k字節(jié)在系統(tǒng)編程(IS
25、P)Flash閃速存儲(chǔ)器·1000次擦寫周期·4.05.5V的工作電壓圍·全靜態(tài)工作模式:0Hz33MHz·三級(jí)程序加密鎖·128×8字節(jié)部RAM·32個(gè)可編程I/O口線·2個(gè)16位定時(shí)/計(jì)數(shù)器·6個(gè)中斷源·全雙工串行UART通道·低功耗空閑和掉電模式·中斷可從空閑模喚醒系統(tǒng)·看門狗(WDT)與雙數(shù)據(jù)指針·掉電標(biāo)識(shí)和快速編程特性·靈活的在系統(tǒng)編程(ISP字節(jié)或頁寫模式) AT89S51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲(chǔ)器,128字節(jié)部R
26、AM,32個(gè)I/O口線,看門狗(WDT),兩個(gè)數(shù)據(jù)指針,兩個(gè)16位定時(shí)/計(jì)數(shù)器,一個(gè)5向量兩級(jí)中斷結(jié)構(gòu),一個(gè)全雙工串行通信口,片振蕩器與時(shí)鐘電路。同時(shí),AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時(shí)/計(jì)數(shù)器,串行通信口與中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的容,但振蕩器停止工作并禁止其它所有部件工作直到下一個(gè)硬件復(fù)位。3.2.2 控制系統(tǒng)設(shè)計(jì)控制電路設(shè)計(jì)中采用的是單片機(jī)系統(tǒng),該系統(tǒng)必須要是工作在一個(gè)最小系統(tǒng)(指單片機(jī)的可以的最小配置系統(tǒng))。AT89S51的最小系統(tǒng)包括了外界時(shí)鐘電路和復(fù)位電路,選定一定數(shù)量的IO口作為控
27、制口控制外部的各種器件和數(shù)據(jù)的輸出。根據(jù)功能選擇一定的單片機(jī)端口添加外圍的器件,具體電路如圖3-2所示。在該系統(tǒng)中,P1各口主要用作LED顯示數(shù)據(jù)的控制輸出。由于端口的驅(qū)動(dòng)能力有限所以該端口外接了5K的上拉電阻來提高驅(qū)動(dòng)能力。其中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的CLOCK端,產(chǎn)生移位脈沖是串行數(shù)據(jù)并行輸出;P1.3和P1.7接列和行的CLEAR端,在一組數(shù)據(jù)完成串并轉(zhuǎn)換后清除164芯片中的容轉(zhuǎn)換新的
28、數(shù)據(jù);其中P1.5P1.6P1.7還復(fù)用為ISP下載功能口。P2.0接164芯片的使能控制端,當(dāng)為高電平使允許輸出;P2.2和P2.3接鎖存器74LS373的OE和LE端控制鎖存器的工作狀態(tài)。 端口30,EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。因?yàn)闆]有擴(kuò)展外部程序存儲(chǔ)器所以將EA置為高電平。圖3-2 控制部分電路圖由于P3口是特殊功能口,在該系統(tǒng)中基本是采用其第二功能。其第二功能和實(shí)際運(yùn)用如表3-1所示:表3-1 AT89S51P3口第二功能的應(yīng)用端口第二功能實(shí)際作用P3.0RXD(串行輸入口)與上位機(jī)通信的數(shù)據(jù)輸
29、入口P3.1TXD(串行輸出口)與上位機(jī)通信的數(shù)據(jù)輸出口P3.2外部中斷0做按鍵中斷,控制顯示狀態(tài)P3.3外部中斷1做按鍵中斷,控制運(yùn)行模式AT89S51單片機(jī)的P1在訪問外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,P2口在訪問外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。所以P1和P2口留為外部數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器的擴(kuò)展用,以備部存儲(chǔ)器和程序存儲(chǔ)器不夠用的情況時(shí)使用12。3.3 譯碼電路設(shè)計(jì)譯碼電路的功能是為了解決單片機(jī)I/O端口不足。行譯碼所用器件為串并轉(zhuǎn)換器74LS164和鎖存器74LS373。3.3.1 串并轉(zhuǎn)換器74LS16
30、4列譯碼采用的是芯片74LS164。如果不采用譯碼電路完全依靠單片機(jī)的端口輸出來控制16×16的LED點(diǎn)陣屏顯示,需要32個(gè)端口。而采用了譯碼電路后僅僅需要79個(gè)端口便可實(shí)現(xiàn)控制顯示。大大減少了I/O口的占用數(shù)目,為單片機(jī)擴(kuò)展其他功能預(yù)留下來了空間。74LS164為一個(gè)8位數(shù)據(jù)的串并轉(zhuǎn)換器。當(dāng)清除端(CLEAR)為低電平時(shí),輸出端(QAQH)均為低電平。串行數(shù)據(jù)輸入端(A,B)可控制數(shù)據(jù)。當(dāng)A、B任意一個(gè)為低電平,則禁止新數(shù)據(jù)輸入,在時(shí)鐘端(CLOCK)脈沖上升沿作用下Q0為低電平。當(dāng)A、B有一個(gè)為高電平,則另一個(gè)就允許輸入數(shù)據(jù),并在CLOCK上升沿作用下決定Q0的狀態(tài)。表3-1 7
31、4LS164工作參數(shù)參數(shù)最小值標(biāo)準(zhǔn)值最大值單位高電平輸入電壓2V低電平輸入電壓0.8V高電平輸出電壓2.43.2-V低電平輸出電壓0.20.4V時(shí)鐘頻率025MHZ這就要求單片機(jī)的引腳輸出的高低電平要在芯片的識(shí)別圍,由于采用了列選通行傳送顯示代碼的方法所以行譯碼電路上也加上了74L373鎖存芯片。這就要求74LS164芯片的輸出要滿足鎖存芯片的高低電平區(qū)分圍和頻率要求。 3.3.2 鎖存器74L373由于74LS164芯片不具有鎖存功能,所以在74LS164進(jìn)行八位數(shù)據(jù)的串并轉(zhuǎn)換時(shí),串行數(shù)據(jù)的第一位會(huì)從QA依次移位到QH,第二位數(shù)據(jù)會(huì)從QA依次移位到QG,依次類推在八位數(shù)據(jù)轉(zhuǎn)換完成之前74LS
32、164芯片的輸出會(huì)出現(xiàn)一段時(shí)間的亂序輸出,這一結(jié)果會(huì)通過驅(qū)動(dòng)電路表現(xiàn)在顯示屏上。結(jié)果就是顯示屏無序?qū)ㄩW爍,不能顯示所需容。因此在串并轉(zhuǎn)換完成前就需要74LS164的輸出口不與驅(qū)動(dòng)電路導(dǎo)通。所以選擇鎖存器74LS373來完成這一功能。74LS373為八D鎖存器(3S,鎖存允許輸入有回環(huán)特性)。373為三態(tài)輸出的八D透明鎖存器,共有54/74S373和54/74LS373兩種線路結(jié)構(gòu)形式當(dāng)三態(tài)允許控制端OE為低電平時(shí),O0O7為正常邏輯狀態(tài),可用來驅(qū)動(dòng)負(fù)載或總線。當(dāng)OE為高電平時(shí),O0O7呈高阻態(tài),即不驅(qū)動(dòng)總線,也不為總線的負(fù)載,但鎖存器部的邏輯操作不受影響。當(dāng)鎖存允許端LE為高電平時(shí),O隨數(shù)據(jù)
33、D而變。當(dāng)LE為低電平時(shí),O被鎖存在已建立的數(shù)據(jù)電平。表3-2 74LS373工作參數(shù)表參數(shù)最小值額定值最大值單位電源電壓4.7555.25V輸入高電平電壓2V輸入低電平電壓0.8V輸出高電平電壓2.6mA輸出低電平電壓24mA由表與表比較可以看出,74LS164的輸出條件與74LS373的輸入條件相匹配,理論上可以實(shí)現(xiàn)鎖存器對(duì)譯碼器的數(shù)據(jù)鎖存。3.4 驅(qū)動(dòng)電路設(shè)計(jì)3.4.1 行驅(qū)動(dòng)電路設(shè)計(jì)發(fā)光二極管,LED(Light Emitting Diodes),即是在在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時(shí)會(huì)把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向
34、電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。 行驅(qū)動(dòng)采用PNP三極管8550接法如圖3-4示:圖3-4 行驅(qū)動(dòng)器件8550的接法8550為PNP型三極管,部結(jié)構(gòu)如圖3-5示。發(fā)射極e接5V電源,基極接譯碼信號(hào)輸出端,集電極接輸出驅(qū)動(dòng)LED點(diǎn)陣屏。當(dāng)譯碼器端口輸出為低電平時(shí),發(fā)射極與基極電勢(shì)差為5V基極中帶負(fù)電的電子越過PN結(jié)擴(kuò)散到發(fā)射區(qū)。發(fā)射極產(chǎn)生和電子擴(kuò)散方向相反的電流,由于基極電子大量擴(kuò)散到發(fā)射極集電極電子擴(kuò)散到基極中形成了電流。當(dāng)譯碼器端口輸出高電平時(shí)發(fā)射極與基極之間的電勢(shì)差為5V,由于發(fā)射極與基極之間電勢(shì)差的減少基極電子向發(fā)射極擴(kuò)
35、散的電子數(shù)量減少故集電極電流也隨之減少。故8550在驅(qū)動(dòng)電路中起到提供驅(qū)動(dòng)電流和選通開關(guān)的作用。圖3-5 8550部結(jié)構(gòu)圖3.4.2 列驅(qū)動(dòng)電路設(shè)計(jì)列驅(qū)動(dòng)采用ULN2803。ULN2803是一種高電壓大電流達(dá)林頓管陣列部結(jié)構(gòu)如圖,該陣列中的八個(gè)NPN達(dá)林頓連接晶體管是低邏輯電平數(shù)字電路(如TTL,CMOS或PMOS)和大電流高電壓的燈,繼電器,打印機(jī)錘和其他類似負(fù)載間的接口的理想器件。廣泛用于計(jì)算機(jī),工業(yè)和消費(fèi)類產(chǎn)品中。所有器件有集電極開路輸出和用于瞬變抑制的續(xù)流箝位二極管。集電極輸出功率可達(dá)50V×600mA13。ULN2803作為列驅(qū)動(dòng)執(zhí)行的是列選的工作,當(dāng)選通的列輸入高電平時(shí)其
36、對(duì)應(yīng)的輸輸出低電平。相對(duì)應(yīng)的輸出取反,并能提供較大的灌電流來吸收行驅(qū)動(dòng)流出進(jìn)過顯示屏后的電流。具體電路如圖3-7所示。圖3-7 列驅(qū)動(dòng)原理圖3.5 通信系統(tǒng)硬件設(shè)計(jì)AT89S51單片機(jī)具有全雙工串行UART通道,支持單片機(jī)進(jìn)行數(shù)據(jù)的串行傳輸。除了單片機(jī)要與PC機(jī)制定通信協(xié)議,確定發(fā)送速率外還需要解決的問題就是信號(hào)電平問題。RS-232C標(biāo)準(zhǔn)規(guī)定了PC機(jī)發(fā)送數(shù)據(jù)總線TXD和接收數(shù)據(jù)總線RXD采用EIA電平,即傳送數(shù)字“1”時(shí)傳輸線上的電平在315V之間;傳送數(shù)字“0”時(shí),傳輸線上的電平在315之間。但單片機(jī)串行口采用正邏輯TTL電平,即數(shù)字“1”時(shí)為5V數(shù)字“0”時(shí)為-5V,所以單片機(jī)與計(jì)算機(jī)不
37、能直接相連進(jìn)行通信必須將RS-232C與TTL電平進(jìn)行轉(zhuǎn)換14。在通用的電平轉(zhuǎn)換芯片中MAX232系列的芯片以集成度高,單5V電源工作,只需外接5個(gè)小電容即可完成RS-232C與TTL電平之間的轉(zhuǎn)換而成為單片機(jī)系統(tǒng)中的常用芯片。在該顯示系統(tǒng)中,MAX232為通信系統(tǒng)中最重要的硬件組成部分15。電路如圖3-8所示:圖3-8 串口通信系統(tǒng)電路圖3.6 電源設(shè)計(jì)在系統(tǒng)中MAX232、74LS164、74LS373、AT89S51都需要5V的供電電壓,在系統(tǒng)開發(fā)過程中可以使用電腦USB供電。在實(shí)際的大屏幕LED顯示屏設(shè)計(jì)中,用電腦USB供電明顯不切實(shí)際。此時(shí)需要對(duì)民用的220V進(jìn)行降壓整流為5V直流電
38、壓為顯示系統(tǒng)供電。電路圖如圖3-9所示。如圖所示,用220V轉(zhuǎn)12V的變壓器進(jìn)行降壓后再通過一個(gè)橋式整流電路將交流電整流為直流電。最后通過5V三端穩(wěn)壓模塊LM7805得出穩(wěn)定的5V輸出。3.7 級(jí)連大屏幕LED顯示屏要實(shí)現(xiàn)LED的大屏幕顯示主要采用部譯碼器級(jí)連和多個(gè)單片機(jī)系統(tǒng)級(jí)連的方法。 將第1個(gè)74LS164的Q7端接第2個(gè)74LS164的A端,將第2個(gè)74LS164的Q7端接第3個(gè)74LS164的A端,如此炮制當(dāng)N塊74LS164相級(jí)連時(shí)就變?yōu)橐粋€(gè)串行輸入7×N口輸出的串并轉(zhuǎn)換器。這種級(jí)連的優(yōu)點(diǎn)在于一塊單片機(jī)可以同時(shí)控制更多的LED點(diǎn)陣顯示屏,且74LS164的價(jià)格低廉整體成本得
39、到了降低。但是這種級(jí)連方法也存在一定的缺點(diǎn),51系列的單片機(jī)的晶振頻率不高74LS164級(jí)連過多會(huì)增加一次掃描的時(shí)間從而導(dǎo)致顯示出現(xiàn)閃爍。從端口輸出的顯示數(shù)據(jù)的顯示也要作出相應(yīng)的改變。圖3-10 74LSL64級(jí)連構(gòu)建大屏幕LED顯示屏的另一種方法是將以較小的LED顯示系統(tǒng)做為模塊進(jìn)行級(jí)連。如圖3-11所示,由獨(dú)立的LED顯示系統(tǒng)組成一個(gè)大的LED顯示系統(tǒng)。其中各子顯示系統(tǒng)之間在功能和控制上都是相互獨(dú)立的,將一幅大屏幕畫面拆分為幾塊小畫面再分別送入到各子系統(tǒng)中,各子系統(tǒng)同步顯示便可以得到一幅大的畫面。使用這種級(jí)連的辦法可以避免51單片機(jī)晶振頻率低的弱點(diǎn),更容易實(shí)現(xiàn)大屏幕的顯示。但這種方法仍然存
40、在難點(diǎn),一是各獨(dú)立的子系統(tǒng)的通信和協(xié)調(diào)性要求更高了,如果要實(shí)現(xiàn)顯示容的實(shí)時(shí)性必須需要上位機(jī)不斷更新顯示容則增加了上位機(jī)的通信數(shù)據(jù)量,逐個(gè)的單片機(jī)傳送數(shù)據(jù)也會(huì)影響整個(gè)畫面的更新速度;二是成本提高了。在實(shí)際應(yīng)用常采用部擴(kuò)展和外部級(jí)連聯(lián)合使用的方法來構(gòu)建大屏幕LED顯示屏幕。即增加單個(gè)顯示系統(tǒng)顯示屏幕大小的同時(shí)又將單個(gè)的顯示系統(tǒng)級(jí)連。詳細(xì)硬件原理圖見附錄1。第4章 系統(tǒng)軟件設(shè)計(jì)4.1 程序設(shè)計(jì)系統(tǒng)軟件采用C語言編寫,按照模塊化的設(shè)計(jì)思路設(shè)計(jì)。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)串口通信,靜態(tài)顯示,動(dòng)態(tài)顯示三大功能。其功能結(jié)構(gòu)如圖2-4所示。通信程序接收上位機(jī)數(shù)據(jù),交給主程序處理再通過控制程序選擇不
41、同的顯示程序進(jìn)行顯示。 主程序的工作流程如圖4-1所示:系統(tǒng)初始化從顯示數(shù)組讀取數(shù)據(jù)到顯示寄存器讀取顯示控制命令選擇顯示方式調(diào)用相應(yīng)顯示程序RI=1?起始位?接收顯示數(shù)據(jù)與控制命令將顯示數(shù)據(jù)移入顯示數(shù)組將控制命令賦值給控制字符NNYY開 始中斷開始中 斷 返 回圖4-1 主程序流程圖程序開始時(shí)首先必須對(duì)單片機(jī)進(jìn)行初始化,其中初始化的容包括:中斷優(yōu)先級(jí)的設(shè)定,中斷初始化,串行通信時(shí)通信方式的選擇和波特率的設(shè)定,各IO口功能的設(shè)定等。初始化完成后程序進(jìn)入待機(jī)狀態(tài)等待中斷的發(fā)生,該程序中主要用到了兩個(gè)外部中斷源和串行中斷。外部中斷源由按鍵的電平變化觸發(fā),外部中斷主要功能是選擇LED點(diǎn)陣顯示屏的控制方
42、式是由按鍵控制還是上位機(jī)控制和顯示狀態(tài)是靜態(tài)顯示還是動(dòng)態(tài)顯示。串行中斷包括發(fā)送中斷和接收中斷都是由軟件觸發(fā)。中斷產(chǎn)生后由預(yù)先初始化時(shí)設(shè)定跳轉(zhuǎn)執(zhí)行中斷子程序。中斷程序設(shè)定了LED點(diǎn)陣顯示屏所要顯示的容和顯示的方式,最后執(zhí)行的是各種顯示程序。按照設(shè)定的方式和容顯示出所需要的容。4.2 顯示程序的設(shè)計(jì)4.2.1 LED顯示屏的顯示方式LED點(diǎn)陣屏顯示方式主要由靜態(tài)顯示和動(dòng)態(tài)掃描顯示兩種。 對(duì)靜態(tài)顯示來說,每一個(gè)發(fā)光二極管都需要一套驅(qū)動(dòng)電路,一幀畫面輸入以后便可一勞永逸地顯示,除非我們改變了顯示容,需要重新輸出新的點(diǎn)陣數(shù)據(jù)這種方式系統(tǒng)原理相對(duì)簡單一些,但所需的譯碼驅(qū)動(dòng)裝量很多,引線多而繁雜,不便于大屏
43、幕的制造,成本高,其可靠性也較低另一種動(dòng)態(tài)掃描顯示是把整個(gè)LED屏幕分成若干部分,每一幅畫面的顯示是顯示完一部分后,又顯示第二部分直到顯示完最后一部分又重新開始顯示第一部分,重復(fù)循環(huán)進(jìn)行在重復(fù)掃描速度足夠快的情況下,我們看到的就是一幅穩(wěn)定的畫面也就是說采用動(dòng)態(tài)掃描顯示需要不斷進(jìn)行畫面的刷新在這種方式下其顯示驅(qū)動(dòng)電路可重復(fù)利用,引線也大大減少,從而使硬件成本降低,且屏幕上的發(fā)光二極管輪流發(fā)光,使用時(shí)的耗電量大大降低大屏幕的制造、維護(hù)要容易許多,可靠性也增加了兩種顯示方式的比較再結(jié)合51單片機(jī)IO口數(shù)量有限的原因決定采用動(dòng)態(tài)掃描的方式進(jìn)行顯示。動(dòng)態(tài)掃描分為行掃描和列掃描兩種方式區(qū)別在于選通端和數(shù)據(jù)
44、輸入端分別是行還是列。在該顯示系統(tǒng)中掃描顯示的工作原理如圖4-2所示,先選通列然后再從行送入對(duì)應(yīng)列的數(shù)據(jù),這樣從第1列到第16列循環(huán)往復(fù),只要切換的速度足夠的快利用人眼的延時(shí)特性就可以看見一幅穩(wěn)定的畫面。圖4-2 掃描顯示程序原理圖4.2.2 點(diǎn)陣數(shù)據(jù)表達(dá)方式數(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ù)是0x82(B1000_0010)。如圖(4-3)所示,一幅16×16的點(diǎn)陣畫面點(diǎn)陣數(shù)據(jù)按照B1B2B3B31B32存儲(chǔ)。所以一幅畫面的數(shù)據(jù)量為32字節(jié)。畫面顯示時(shí)選通的第
45、i列對(duì)應(yīng)的數(shù)組元素為第i和i+16個(gè)元素16。4.2.3 顯示程序的設(shè)計(jì) 顯示程序分為靜態(tài)顯示程序、左移顯示、右移顯示、上移顯示、下移顯示五種種顯示方式。其中上下左右移動(dòng)程序都調(diào)用了靜態(tài)顯示程序?yàn)樽映绦?。靜態(tài)顯示程序流程圖如圖4-4所示:開 始初 始 化讀取顯示數(shù)據(jù)依次選通列,行74LS164的CLOCK端置低,鎖存器禁止輸出對(duì)應(yīng)行數(shù)組元素與0X01相與,相與結(jié)果寫入單片機(jī)端口輸出數(shù)組元素右移一位,對(duì)應(yīng)74LS164 CLOCK端置高N右移次數(shù)是否為8?Y鎖存器允許輸出圖4-4 靜態(tài)顯示程序流程圖顯示采用的是列掃描的顯示方式,選通一列后按照列與數(shù)據(jù)元素的對(duì)應(yīng)關(guān)系第i列對(duì)應(yīng)的行數(shù)據(jù)為數(shù)組中的第i
46、和第i+16個(gè)元素。將對(duì)應(yīng)元素的由低至高位依次從端口輸出具體做法為將元素向右邏輯移位后再與0X01相與,所得結(jié)果通過單片機(jī)端口輸出到串并轉(zhuǎn)換器的A端,鎖存在鎖存器里完成一列數(shù)據(jù)移位后再將其輸出。如此依次循環(huán)選通各列來顯示所需畫面17。圖4-5 左右移/上下移程序流程圖 動(dòng)態(tài)顯示程序流程如圖4-5所示,根據(jù)顯示數(shù)據(jù)的存儲(chǔ)原理通過改變實(shí)際LED列與數(shù)據(jù)邏輯列的方法來實(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ù)。所以當(dāng)ULN2803選通時(shí),而送入后一列的數(shù)據(jù)則相當(dāng)于畫面左移移位,同理送入前一列數(shù)據(jù)相當(dāng)于右移一位。如此循環(huán)則產(chǎn)生一幅穩(wěn)定運(yùn)動(dòng)的畫面。
47、 顯示數(shù)組中,第1至16個(gè)元素的第8至第1位LED顯示屏中的第1至第8行。同理第17至32個(gè)元素的第8至第1位LED顯示屏中的第9至第16行。所以將元素?cái)?shù)據(jù)進(jìn)行邏輯位移便能產(chǎn)生上下移動(dòng)的效果18。4.3 通信程序的設(shè)計(jì)系統(tǒng)采用串行中斷的方式進(jìn)行通信。MCS-51單片機(jī)的五個(gè)中斷源兩種類型:一類是外部中斷源;另一類是部中斷源,包括兩個(gè)定時(shí)器/計(jì)數(shù)器(T0和T1)的溢出中斷和串行口的接收和發(fā)送中斷。MCS-51單片機(jī)設(shè)置了4個(gè)專用寄存器用于中斷控制,分別為定時(shí)器控制寄存器(TCON),串行口中斷控制器(SCON),中斷允許控制寄存器(IE),中斷優(yōu)先級(jí)控制寄存器(IP)。編程時(shí)通過設(shè)置其狀態(tài)來管理
48、中斷系統(tǒng)。在編輯中斷程序時(shí)首先是將中斷控制寄存器(IE)初始化。其控制位分布如表。EA為中斷允許總控制位,EA=1時(shí)CPU開發(fā)中斷;EA1時(shí)。CPU屏蔽所有中斷。ES、ET、EX1、ET0、EX0為對(duì)應(yīng)的串行口中斷、定時(shí)器/計(jì)數(shù)器1中斷、外部中斷1中斷、定時(shí)器/計(jì)數(shù)器0中斷、外部中斷0中斷的中斷允許位。對(duì)應(yīng)位為1時(shí)允許其中斷,對(duì)應(yīng)位為0時(shí),禁止其中斷。表4-1 中斷允許寄存器格式D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0 所以初始化時(shí)設(shè)定中斷允許寄存器初值為0XFF,指令為 IE=0XFF。程序設(shè)計(jì)時(shí)還要考慮到中斷優(yōu)先級(jí)的問題。因?yàn)椴煌闹袛嗤瑫r(shí)產(chǎn)生而CPU響應(yīng)的順序取決
49、于部查詢順序。設(shè)置串口工作方式1,波特率9600,計(jì)算可得計(jì)數(shù)器初值的十六進(jìn)制表示為0XFD。通信協(xié)議如表4-2所示:表4-2 串口通信數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)第1個(gè)字節(jié)第2至第33個(gè)字節(jié)第34個(gè)字節(jié)容起始標(biāo)志位S顯示數(shù)據(jù)控制指令作用判斷是否開始接收數(shù)據(jù)LED的顯示容控制LED顯示方式具體串口中斷程序流程圖如圖4-6所示,在主程序中先進(jìn)行了串行中斷的初始化,初始化容包括了串行工作方式選擇,波特率的設(shè)定,計(jì)數(shù)初值的設(shè)定。程序開始進(jìn)入中斷等待,當(dāng)PC機(jī)向單片機(jī)發(fā)送數(shù)據(jù)時(shí)產(chǎn)生中斷接收允許位RI置1,將SBUF(緩沖寄存器)中的值輸入到暫存器中進(jìn)行數(shù)據(jù)處理。首先判斷數(shù)據(jù)是否設(shè)定的起始標(biāo)志位S如果是則開始接收起
50、始位后的33個(gè)字節(jié),不是則中斷返回繼續(xù)等待。接收到第34個(gè)字節(jié)后便將收到的數(shù)據(jù)發(fā)送回PC機(jī)進(jìn)行驗(yàn)證比較。RI=1?接收串口數(shù)據(jù)起始位S接收起始位后33位數(shù)據(jù)接收到第34位?將第2位起的32位數(shù)據(jù)發(fā)回PC機(jī)NNNYYY中斷開始中斷返回圖4-6 通信程序流程圖所有軟件編寫完成后都必須經(jīng)過編譯才能被單片機(jī)識(shí)別使用。為了減小軟件的修改和優(yōu)化難度,先把各子程序?qū)憺橐粋€(gè)可單獨(dú)執(zhí)行的完整程序。各子程序編譯沒有錯(cuò)誤后再輸入單片機(jī)進(jìn)行驗(yàn)證,這兩項(xiàng)都通過后再將所有的程序整合到一起形成一個(gè)完整的程序再進(jìn)行編譯和驗(yàn)證。詳細(xì)程序見附錄2。第5章 系統(tǒng)調(diào)試硬件制作和軟件編寫過后,得出實(shí)物如圖5-1所示。實(shí)物完成后必須對(duì)其
51、進(jìn)行調(diào)試,檢查設(shè)計(jì)功能是否實(shí)現(xiàn)了。軟件硬件完成后開始進(jìn)行調(diào)試。調(diào)試可分為硬件調(diào)試,軟件調(diào)試和系統(tǒng)聯(lián)合調(diào)試。5.1 系統(tǒng)硬件部分調(diào)試方法硬件調(diào)試主要是調(diào)試各部分的焊接是否合格和各芯片的輸出輸入電壓是否符合設(shè)計(jì)要求,最后測(cè)試各硬件部分能否完成設(shè)計(jì)功能。因此把硬件調(diào)試按照以下四部分分步來進(jìn)行:(1)測(cè)試所有焊點(diǎn)是否有短路和虛焊的現(xiàn)象存在;(2)通電測(cè)試所有硬件芯片的輸入輸出電壓是否在設(shè)計(jì)要求的圍;(3)測(cè)試ISP下栽線的功能是否能夠?qū)崿F(xiàn);(4)測(cè)試串口系統(tǒng)的通信功能是否能夠?qū)崿F(xiàn)。由于最重要的顯示系統(tǒng)功能的測(cè)試需要軟件配合所以在硬件調(diào)試部分只測(cè)試單片機(jī)復(fù)位電平,功能部分測(cè)試放在系統(tǒng)聯(lián)合調(diào)試部分來完成。
52、5.1.1 短路與虛焊檢測(cè) 檢測(cè)工具為萬用表,使用萬用表的短路報(bào)警功能,逐個(gè)測(cè)試相臨的兩個(gè)焊點(diǎn)檢測(cè)是否短路。按照電路圖檢測(cè)需要連接的兩點(diǎn)是否短路來檢測(cè)是否已經(jīng)連接上,以此來檢測(cè)虛焊的情況。檢測(cè)和修改完成后為下一步通電檢測(cè)排除了短路的危險(xiǎn)和由于虛焊引起檢測(cè)結(jié)果不真實(shí)的麻煩。5.1.2 上電測(cè)試由于系統(tǒng)測(cè)試時(shí)是采用USB電源為系統(tǒng)電源,所以電源輸入都為5V。顯示系統(tǒng)中單片機(jī)、譯碼器,鎖存器,驅(qū)動(dòng)電路的電源電壓均要求為5V所以可同時(shí)直接接入。上電后首先觀察電路是否有過熱,異味,冒煙的現(xiàn)象出現(xiàn)。經(jīng)過觀察,沒有這些現(xiàn)象出現(xiàn)。然后測(cè)試各器件的電源,接地與一些電平應(yīng)該固定的端口的電壓。測(cè)試的結(jié)果為:各器件電
53、源端在4.3V4.8V之間滿足器件的電源電壓要求,單片機(jī)端口在未接負(fù)載時(shí)端口電壓為4.5V。5.1.3 串口調(diào)試串口部分的作用為單片機(jī)與PC機(jī)之間通信,要檢查硬件是否正常工作可以采用將MAX232芯片的單片機(jī)端輸出口與輸入口直接相連的辦法來測(cè)試。具體電路圖如圖5-2所示,將MAX232的第10端和第9端直接短接。功能上表示將單片機(jī)的輸出口與輸入口直接相連,單片機(jī)收到數(shù)據(jù)的同時(shí)就將數(shù)據(jù)發(fā)送回PC機(jī)。如果發(fā)送的數(shù)據(jù)能夠被接收則證明串口通信部分的硬件是正常的。19將串口與電腦COM1相接,通過串口調(diào)試助手發(fā)送不同位數(shù)的數(shù)據(jù)再在把發(fā)送的數(shù)據(jù)與接收數(shù)據(jù)相比較。圖5-2 串口硬件調(diào)試5.2 系統(tǒng)軟件調(diào)試方
54、法由于已經(jīng)進(jìn)行了硬件調(diào)試,所以軟件調(diào)試主要是軟件編譯和將各功能塊程序分別寫入以驗(yàn)證其功能的可實(shí)現(xiàn)性。在進(jìn)行功能調(diào)試前必須用KEIL C對(duì)所有程序進(jìn)行編譯,編譯成功生產(chǎn)可執(zhí)行的.hex后方可進(jìn)行功能測(cè)試。其中測(cè)試串口程序的功能是否完善不但要連接單片機(jī)系統(tǒng)還要借助串口調(diào)試工具。串口調(diào)試工具選用的是串口調(diào)試助手,其功能是按照設(shè)定的串口、波特率向單片機(jī)發(fā)送數(shù)據(jù)和接收單片機(jī)向PC機(jī)發(fā)送的數(shù)據(jù)。并且能把發(fā)送和接收的數(shù)據(jù)容顯示在狀態(tài)欄。因此只要設(shè)定PC機(jī)向單片機(jī)發(fā)送的容和單片機(jī)向PC機(jī)發(fā)送的容就可以通過串口調(diào)試助手驗(yàn)證串口通信是否準(zhǔn)確,是否滿足功能要求。串口程序的設(shè)計(jì)為:設(shè)定波特率位9600,以0XAA為起
55、始標(biāo)志位,單片機(jī)接收自起始標(biāo)志位后的32位十六進(jìn)制數(shù)再發(fā)送會(huì)PC機(jī)。測(cè)試程序時(shí)設(shè)定波特率為9600,選擇串口1,無校驗(yàn),8位數(shù)據(jù)。PC機(jī)向單片機(jī)發(fā)送的容為aa 900aabbccddeeff900aabbccddeeff。PC機(jī)收到的數(shù)據(jù)為 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF。測(cè)試表明串口程序和串口電路實(shí)現(xiàn)了設(shè)計(jì)目的。再進(jìn)行數(shù)次不同數(shù)據(jù)的發(fā)送,接收到的數(shù)據(jù)也驗(yàn)證了設(shè)計(jì)要求的實(shí)現(xiàn)。串口程序測(cè)試成功后為顯示程序提供了準(zhǔn)確的顯示容。余下得各種顯示
56、程序和中斷程序都編譯成功后只有聯(lián)合硬件才能驗(yàn)證其功能的可行性。5.3 系統(tǒng)聯(lián)合調(diào)試與結(jié)果經(jīng)過硬件調(diào)試和軟件調(diào)試,排除了硬件的連接問題和驗(yàn)證了串口功能的可實(shí)現(xiàn)性。其余功能的軟件便可以在此基礎(chǔ)上調(diào)試驗(yàn)證其功能的正確性。聯(lián)合調(diào)試的具體方法如下:(1)編寫一個(gè)逐點(diǎn)掃描的顯示程序,再結(jié)合硬件電路運(yùn)行。這樣做的目的在于檢測(cè)各器件是否能夠正常運(yùn)行和顯示屏的各個(gè)LED燈是否有損壞。結(jié)果顯示顯示屏中只有邊角出有一個(gè)LED燈被燒壞,其他器件邏輯功能運(yùn)行正常。(2)將靜態(tài)顯示子程序與各種動(dòng)態(tài)顯示程序結(jié)合硬件電路進(jìn)行調(diào)試。系統(tǒng)運(yùn)行時(shí)顯示如圖5-1所示,顯示圖像比較清晰,各動(dòng)態(tài)顯示效果也能夠?qū)崿F(xiàn)。但顯示存在兩個(gè)問題。一是發(fā)光點(diǎn)的下方會(huì)出現(xiàn)一個(gè)很微弱的亮點(diǎn),影響了整體的顯示效果。二是同一列的LED燈被點(diǎn)亮的數(shù)量與其亮度出反比,即如果同一列的燈都被點(diǎn)亮則亮度比只點(diǎn)亮幾個(gè)時(shí)要暗一點(diǎn)。(3)將串口通信,顯示,硬件聯(lián)合調(diào)試。按照設(shè)定的通信協(xié)議,先由PC機(jī)向單片機(jī)發(fā)送起始控制字s,接著再發(fā)送32比特的顯示數(shù)據(jù),最后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲業(yè)溝通管理模板
- 保險(xiǎn)業(yè)務(wù)年終報(bào)告模板
- 保險(xiǎn)風(fēng)險(xiǎn)管理策略模板
- 專業(yè)基礎(chǔ)-房地產(chǎn)經(jīng)紀(jì)人《專業(yè)基礎(chǔ)》深度自測(cè)卷2
- 房地產(chǎn)交易制度政策-《房地產(chǎn)基本制度與政策》全真模擬試卷2
- 二零二五年度軌道交通信號(hào)系統(tǒng)安裝合同協(xié)議2篇
- 部編版2024-2025學(xué)年六年級(jí)上語文寒假作業(yè)(二)(有答案)
- 重大版小學(xué)英語六年級(jí)下冊(cè)期末試卷(含答案含聽力原文無聽力音頻)
- 二零二五版廣東文化娛樂產(chǎn)業(yè)勞務(wù)派遣用工協(xié)議3篇
- 二零二五年標(biāo)準(zhǔn)個(gè)人養(yǎng)老保障貸款擔(dān)保合同樣本3篇
- GB/T 4348.1-2013工業(yè)用氫氧化鈉氫氧化鈉和碳酸鈉含量的測(cè)定
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語寫作能力的培養(yǎng)策略
- 柴油發(fā)電機(jī)空載試運(yùn)行和負(fù)荷試運(yùn)行記錄
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
評(píng)論
0/150
提交評(píng)論