基于AT89c51的LED廣告顯示電路的設計畢業論文_第1頁
基于AT89c51的LED廣告顯示電路的設計畢業論文_第2頁
基于AT89c51的LED廣告顯示電路的設計畢業論文_第3頁
基于AT89c51的LED廣告顯示電路的設計畢業論文_第4頁
基于AT89c51的LED廣告顯示電路的設計畢業論文_第5頁
已閱讀5頁,還剩24頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、南 寧 學 院畢 業 論 文 論文題目:基于AT89c51的LED廣告顯示電路的設計 院 系: 機電學院 專 業: 電氣自動化技術 班 級: 電氣2班 學 號: 姓 名: 指導教師: 2013 年10 月10 日基于AT89c51的LED廣告顯示電路的設計摘 要LED點陣顯示屏作為一種新興的顯示器件,是由多個獨立的LED發光二極管封裝而成。LED點陣顯示屏可以顯示數字或符號, 通常用來顯示時間、速度、系統狀態等。由于單片機技術的不斷發展和高亮度LED發光管的出現使得大屏幕高亮度LED電子廣告屏成為可能,與傳統的霓虹燈廣告在顯示效果以及可修改性上都有著無法比擬的優勢,而且單片機的日益平民化以及L

2、ED技術的不斷創新,使得高亮度高清晰的LED點陣廣告牌與傳統霓虹燈廣告牌的成本日益接近。為了能簡單的實現基于單片機的LED顯示系統控制,本文設計了基于AT89C51單片機64×16 LED漢字滾動顯示屏電路并運用Proteus軟件仿真實現其顯示功能。本系統的設計具有體積小、硬件少、電路結構簡單及容易實現等優點。關鍵詞:LED,單片機,Proteus仿真目 錄1 緒 論11.1 課題背景11.2 課題研究現狀11.3 課題設計任務22 系統總體設計方案22.1 總體設計方案的論證22.2 總體設計方案的確定33 系統硬件電路設計43.1單片機系統電路43.2時鐘電路63.3復位電路73

3、.4電源電路73.5點陣顯示電路73.6驅動電路94 系統的軟件程序設計94.1軟件系統分析94.1.1模塊細分104.1.2確定算法104.1.3編寫程序104.3顯示驅動程序125 整體電路的設計136 字模的提取147 軟件仿真調試157.1 Proteus軟件介紹157.2 進入Proteus ISIS157.3 工作界面167.4 創建源代碼仿真文件17結 論19謝 辭20參考文獻21附 錄22外文資料24第一章 緒 論1.1 課題背景LED顯示屏是用來顯示文字、圖形、圖像、動畫、行情、視頻、錄像信號等各種信息的顯示屏幕。它的優點是亮度高、工作電壓低、功耗小、微型化、易與集成電路匹配

4、、驅動簡單、壽命長、耐沖擊、性能穩定。圖文顯示屏可與計算機同步顯示漢字、英文文本和圖形。視頻顯示屏采用微型計算機進行控制,圖文、圖像并茂,以實時、同步、清晰的信息傳播方式播放各種信息,還可顯示二維、三維動畫、錄像、電視、VCD節目以及現場實況1。LED顯示屏顯示畫面色彩鮮艷,立體感強,靜如油畫,動如電影,廣泛應用于車站、碼頭、機場、商場、醫院、賓館、銀行、證券市場、建筑市場、拍賣行、工業企業管理和其它公共場所。伴隨世界技術的飛速發展,以前,需要花大量的時間和精力來搭建一個模擬電路,繁多的元器件不僅給電路構成增加了成本,也使電路復雜化,而現在只需要一塊幾平方厘米的單片機,在寫入相應的功能程序,便

5、可以代替以前的電路模式了。運用單片機技術,達到標識顯示的目的,也將舍去原來的畫圖描寫以及霓紅燈標識顯示方式了,而單片機有可重復編寫的功能,只需要將程序稍稍改動,就能達到相應顯示效果。同時利用嵌入式系統軟硬件設計仿真平臺,能夠在線、實時仿真多種類型的單片機,諸如MCS-51系列單片機、PIC單片機、AVR單片機等,能夠像硬件仿真器一樣進行軟硬件調試,而沒必要花錢去購買和維護價格不菲的仿真器,對于初學單片機的人來說,既減少了學習成本,又達到了良好的學習效果。1.2 課題研究現狀LED點陣顯示屏的構成型式有多種,其中典型的有兩種。一種把所需展示的廣告信息燒寫固化到EPROM芯片內,能進行固定內容的多

6、幅漢字顯示,稱為單顯示型;另一種在機內設置了字庫、程序庫,具有程序編制能力,能進行內容可變的多幅漢字顯示,稱可編程序型2。 目前,我發現LED點陣顯示屏大部分是單顯示型,其顯示的內容相對較少,顯示花樣較單一。一般在產品出廠時,顯示內容就已寫入顯示屏控制系統中的EPROM芯片內,當需要更換顯示內容時就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。國內的另一種LED顯示屏可編程序型LED顯示屏,雖然增加了顯示屏系統的編程能力,顯示內容和顯示花樣都有所增加,但也存在著更換顯示內容不便的缺點。隨著社會經濟的迅速發展,如今的廣告牌都存在著顯示內容豐富、信息量大、信息更換速度快等特點。因此傳統的LED

7、顯示屏控制系統已經越來越不能滿足現代廣告宣傳業的需要。而利用PC機通信技術控制LED顯示屏,則具有顯示內容豐富,信息更換靈活等優點。隨著社會發展,人民生活水平的不斷提高,信息化、智能化技術滲透于人們生活的各個領域。近年來,由于電子技術的迅速發展,電子元器件的成本大幅度下降,技術的完善,性能的提高,使得LED顯示屏的制造成本大大降低,LED顯示屏也開始普及起來,將LED顯示技術應用于日常生活和節能領域已經日漸被國內很多科研機構及廠家所重視。1.3 課題設計任務本設計一個用6416的點陣LED圖文顯示屏,通過Proteus仿真軟件并對電路進行仿真,并實現滾動漢字顯示要求在目測條件下LED顯示屏各點

8、亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應穩定、清晰無串擾,圖形或文字滾動顯示,并在Proteus嵌入式系統設計仿真平臺上完成點陣式LED滾動漢字顯示調試。本課題研究的內容就是以單片機為主要控制元件,驅動LED點陣顯示所想要現實的漢字,以后需要顯示更大的也可以用本課題設計來實現。第二章 系統總體設計方案 本章主要內容是論述64×16點陣漢字滾動顯示裝置的總體設計以及方案的論證。本系統由單片機電路、陰極、陽極驅動電路和64×16點陣顯示電路三大部分組成,功能模塊具體實現的器件的不同,將直接影響整個系統的性能及成本,為了達到高效、實用的目的,在系統設計之前的方案論證是十

9、分重要的。2.1 總體設計方案的論證從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個點所在的位置相對應的LED器件發光,就可以得到我們想要的顯示結果,這種同時控制各個發光點亮滅的方法稱為靜態驅動顯示方式。64×16的點陣共有1024個發光二極管,顯然單片機沒有這么多的端口,我們僅僅是64×16的點陣,在實際應用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數字。因此在實際應用中的顯示屏幾乎都不采用這種設計,而采用另外一種稱為動態掃描的顯示方法。動態掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅動電路就可以實現多行(比如16行)的同名列共用

10、一套驅動器。具體就16×16的點陣來說,把所有同1行的發光管的陽極連在一起,把所有同1列的發光管的陰極連在一起(共陽極的接法),先送出對應第一行發光管亮滅的數據并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行的數據并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;以此類推,第16行之后,又重新燃亮第1行,反復輪回。當這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現象,就能夠看到顯示屏上穩定的圖形了。2.2 總體設計方案的確定點陣式LED滾動漢字顯示屏硬件電路設計框圖如圖2.1所示。電路包括單片機、電源電路、時鐘電路、復位電路、驅動電路和64×16

11、 LED點陣電路等。本設計的核心是利用單片機讀取顯示字型碼,通過驅動電路對64×16 LED點陣進行動態列掃描,以實現漢字的滾動顯示。本設計選用的AT89C51單片機,為顯示屏采用64×16 LED點陣。電源電路通過變壓整流元件為單片機和其他電路提供穩定的+5V工作電壓。時鐘電路是單片機的驅動電路,復位電路可在需要時,手動使單片機程序計數器復位清零。通過陽極驅動電路向64×16點陣送字型碼,通過陰極驅動電路對64×16點陣進行列掃描,本課題采用的驅動芯片為74HC154。 圖2.1 硬件電路設計框圖第三章 系統硬件電路設計硬件電路大致上可以分成單片機系統

12、電路、陰極和陽極驅動電路、時鐘電路、復位電路、電源電路及LED點陣電路幾部分。3.1單片機系統電路 本設計的核心是利用單片機讀取顯示字型碼,通過驅動電路對64×16 LED點陣進行動態列掃描,以實現漢字的滾動顯示。AT89C51是一種帶4K字節閃爍可編程可擦除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱單片機3。AT89C2051是一種帶2K字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。三級程序存儲器鎖定、128×8

13、位內部RAM、32可編程I/O線、兩個16位定時器/計數器、5個中斷源、可編程串行通道、低功耗的閑置和掉電模式、片內振蕩器和時鐘電路;外部引腳如圖3.1所示:圖3.1 AT89C51單片機外部引腳圖1AT89C51主要特性:·與MCS51兼容·4K字節可編程閃爍存儲器·壽命:1000寫擦循環·數據保留時間:10年·全靜態工作:0Hz至24Hz·三級程序存儲器鎖定·128*8位內部RAM·32可編程IO線·兩個16位定時器計數器·5個中斷源·可編程串行通道·低功耗的閑置和掉電模

14、式·片內振蕩器和時鐘電路2管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向IO口,每腳可吸收8T1'L門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據地址的第八位。在FIASH編程時,PO口作為原碼輸入口,當FLASH進行校驗時,PO輸出原碼,此時P0外部必須被拉高4。P1口:P1口是一個內部提供上拉電阻的8位雙向IO口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時

15、,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向IO口,P2口緩沖器可接收,輸出4個1vrL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號5。P3口:P3口管腳是8個帶內部上拉電阻的雙向IO口,可接收輸出4個TTL門電流

16、。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號。RST-復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALEPROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的116。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過

17、一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執行狀態ALE禁止,置位無效。PSEN外部程序存儲器的選通信號:在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現。EAVPP:當EA保持低電平時,則在此期間外部程序存儲器(0000HFFFFH),不管是否有內部程序存儲器。注意加密方式l時,EA將內部鎖定為RESET;當EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(

18、VPP)。XTALl:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.2時鐘電路 AT89C51中有一個用于構成內部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端6。這個放大器與作為負反饋的片外石英晶體或陶瓷諧振器一起構成自激振蕩器,振蕩電路參見圖3.2;外接石英晶體(或陶瓷諧振器)及電容C1、C2接在放大器的反饋電路中構成并聯振蕩電路。對外接電容C1、C2雖然沒有十分的嚴格要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩定性、起振的難易程序及溫度穩定性,本設計使用石英晶體,其電容容量使用30PF±

19、10PF。圖3.2時鐘電路3.3復位電路 在這個系統中的復位電路是采用上電加按鈕來實現的。因為MCS-51單片機的復位是靠外部電路實現的。MCS-51單片機工作之后,只要在他的RST引線上加載10ms以上的高點平,單片機就能有地進行復位。我們采用的是上電加按鍵復位方式,這樣做的優點是上電后可以直接進入復位狀態,當程序出現錯誤時,可以隨時使電路復位。單片機在啟動或斷電后,程序需要從頭開始執行,機器內全部積存器,I/O接口等都必須重新復位。圖3.3是一個簡單的上電復位和按鈕復位電路,圖中上電時接通電源,電容C1相當于瞬間短路,+5V電源直接加到了RST/VPD端,該高電平使89C51全機復位,若運

20、行過程中需要程序從頭執行,只需要按鈕S即可,按下S則直接把+5V加到RST/VPD端從而復位。圖3.3 復位電路圖3.4電源電路電源電路是單片機系統最基本的部分,所以我們應該高度重視電源部分,不能因為電源部分電路比較簡單而有所忽略,電源部分做好才能保證電路的正常工作。對電源電路來說,最重要的就是穩壓,我們采用的是+5V電源供的直流電7。3.5點陣顯示電路本設計用4片LED16×16點陣組成一個64×16點陣顯示電路8。LED數碼管是本設計中的顯示器件下面對它作一簡單介紹。此處選用的是八段數碼管,它是由8個發光二極管組合而成的,它有共陰極和共陽極兩種形式(如圖3.4 a、b、

21、c)。共陰極的內部接法為將8個發光二極管的陰極結在一起,工作時公共極接地,在8個陽極上通以不同的電平是將顯示不同的字符;共陽極接法與共陰極相反,它是將8個發光二極管的陽極接在一起,工作時公共極接+5V,在8個陰極上通以不同的電平來顯示相應的字符。本設計選用LED8×8點陣作為顯示器件,從顯示亮度來說要求越高,其效果越好,從節能的角度上看,LED器件較為節能,工作電壓不高,功耗又小,且性能一定要穩定,維修方便, LED電子顯示屏以基色彩鮮亮奪目,大的顯示信息量、壽命長、耗電量小,重量輕,空間尺寸小,穩定性高,易于操作、安裝和維護等特點將在本設計中扮演著重要的角色。等效電路看起來簡單,1

22、腳加高電平,再在abcdefgh段加低電平,第一行的發光二極管就會亮,但是實際的器件引腳并不是一排引腳按12345678的順序排列,另一排引腳按abcdefgh的順序排列。而實際引腳通常是亂序的,不過我們可以自己測試引腳的分布情況。其電路排列如圖3.5圖(a)和圖(b)所示:圖 3.4 LED數碼管結構圖圖3.5 (a) 8×8LED平面圖3.6驅動電路單片機P1口低4位輸出的行號經4/16線譯碼器74HC154(如圖3.6)譯碼后生成16條行選通信號線,再經過驅動器驅動對應的行線。動態掃描顯示時,74HC154用來確定某一時刻顯示的行號,保證某一時刻只有一行選中。一條行線上要帶動1

23、6列的LED進行顯示,按每一LED器件10mA電流計算,16個LED同時發光時,需要160mA電流(即16個LED點陣同時亮的情況),74HC154為一行16個LED點陣提供足夠大的驅動電流。74HC154來做列選控制只使用了單片機的4個IO口,節約了很多IO資源,為單片機系統擴充使用功能提供了條件。圖3.6 74HC154外形及引腳第四章 系統的軟件程序設計軟件設計是一件細致而復雜的工作,應按照合理的順序有條不絮的進行。本次畢業設計中我們在軟件設計部分依然采用模塊化的設計思想題,將整個系統劃分為若干個模塊,設計時將各個模塊非開來設計,最后將整個模塊連接起來,這樣易于調試,有助于發現問題并及時

24、改正。4.1軟件系統分析根據畢業設計的要求及該系統應該滿足的功能要求,決定該系統應該具有的部分及所需的各種元器件及其分別的型號,所起到的作用。按信息的流行向分析說明信息的性質,來源或去向,有多少數據信息、多少狀態信息,是模擬量還是數字量,是串行還是并行,數據輸入/輸出端口地址,與外設聯絡控制的方法以及輸入中斷源的類別和優先級的安排。每一個輸入/輸出還應注意是否與其他輸入/輸出有關。4.1.1模塊細分按照所分析的結果將整個系統,按不同的功能劃分為幾個相對獨立的模塊,并分析出各個模塊之間的關系幾由他兩端出現的信號的形式??梢詫⒄麄€系統化分為:前端模塊,主機模塊,顯示模塊,輸入模塊,這樣就可以對各個

25、模塊同時進行設計,只要保證相連模塊間滿足相應的數據流通關系就行。在此次設計中顯示屏軟件的主要功能是向屏體提供顯示數據,并產生各種控制信號,使屏幕按設計的要求顯示。根據軟件分層次設計的原理,可以把顯示屏的軟件系統分為兩層;第一層是底層的顯示驅動程序,第二層是上層的系統應用程序。顯示驅動程序負責向屏體送顯示數據,并負責產生行掃描信號和其它控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅動器程序由定時器T0中斷程序實現。系統應用程序完成系統環境設置(初始化)、顯示效果處理等工作,由主程序來實現。4.1.2確定算法算法設計是軟件設計很重要的階段,合理和可靠的算法將導致優化程序設計。不同功能塊有不同

26、的算法,同一個問題也可以有很多算法,要根據具體的情況選擇合適的算法。算法設計的總目標是,在達到要求功能的基礎上,保證程序流程結構簡單,運行可靠。4.1.3編寫程序在手編寫各部分的程序之前,還需做兩件事:分配系統資源和設計流程圖。提高軟件設計總體效率的有效方法是先設計流程圖,在開始編程。程序流程圖4.1的設計過程就是程序邏輯設計的過程。流程圖直觀明了,有利于查錯和修改。明確任務題目定義題目細分明確算法確定算法設計流程設計流程編寫程序編寫程序程序有錯程序調試程序裝配綜合調試結束圖 4.1 顯示驅動程序流程圖4.2系統主程序系統主程序開始以后,首先是對系統環境初始化,然后向左滾動顯示“單片機仿真”這

27、5個漢字,然后以“卷簾入”效果隱去。由于單片機沒有停機指令,所以可以設置系統程序不斷的循環執行上述顯示效果。圖4.2主程序流程圖。詳細主程序見附錄A開始初始化調出顯示程序調整數據指針是否顯示完畢YN圖4.2系統主程序流程圖4.3顯示驅動程序 由LED點陣顯示器的內部結構可知,器件宜采用動態掃描驅動方式工作,由于LED管芯大多為高亮度型,因此某行或某列的單體 LED驅動電流可選用窄脈沖,但其平均電流應限制在20mA內多數點陣顯示器的單體LED的正向壓降約在2V左右。動態顯示采用掃描的方式工作,由峰值較大的窄脈沖驅動,從上到下逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示圖形或文字信息的脈

28、沖信號,反復循環以上操作,就可顯示各種圖形或文字信息。圖4.3驅動程序(顯示屏掃描函數)流程圖。顯示驅動程序在進入中斷后首先要對定時器T0重新賦初值,以保證顯示屏刷新率的穩定,1/16掃描顯示屏的刷新率(幀頻)計算如公式4.1所示: (4.1)在公式4.1中f為晶振頻率,t為定時器T0初值(工作在16位定時器模式)。然后顯示驅動程序查詢當前燃亮的行號,從顯示緩存區內讀取下一行的顯示數據,并通過串口發送給移位寄存器。為消除在切換行顯示數據的時候產生拖尾現象,驅動程序先要關閉顯示屏,即消隱,等顯示數據打入輸出鎖存器鎖存,然后再輸出新的行號,重新打開顯示。進入中斷定時器賦初值讀取行號并增加1送新行顯

29、示數據消 隱切換顯示數據發送新行號,打開顯示退出中斷圖 4.3顯示驅動程序流程圖第五章 整體電路的設計用PROTEUS 繪制原理圖:運行 Proteus 的 ISIS 程序后,進入該仿真軟件的主界面9。通過元件選擇按鈕 P (從庫中選擇元件命令) 命令,在彈出的 Pick Devices 窗口中選擇電路所需的元件,放置元件并調整其相對位置,對元件參數設置及元器件間連線, 完成單片機系統的硬件原理圖繪制。本文把行列控制總線接在單片機的I/O口,然后把通過軟件編譯的掃描代碼送入總線,就可以得到顯示的漢字了??紤]到P0口必需設置上拉電阻,本文采用1k排電阻作為上拉電阻。在進行顯示時,每一行有一個行驅

30、動器,各行的同名列共用一個驅動器。顯示數據通常存儲在單片機的存儲器中,按8位一個字節的形式順序排放。顯示時要把一行中各列的數據都傳送到相應的列驅動器上去。漢字掃描顯示的基本過程是這樣的:通電后由于電阻R1,電容C4的作用,使單片機的RST復位腳電平先高后低,從而達到復位;之后,在C2,C3,X1以及單片機內部時鐘電路的作用下,單片機89C51按照設定的程序在P0和P2口輸出與內部漢字對應的代碼電平送至LED點陣的行選線(高電平驅動),同時在P1.1,P1.2,P1.3,P1.4口輸出列選掃描信號(低電平驅動),從而選中相應的象素LED發光,并利用人眼的視覺暫留特性合成整個漢字的顯示,再改變取表

31、地址實現漢字的滾動顯示10。第六章 字模的提取在UCDOS中文宋體字庫中,每一個字由16行16列的點陣組成顯示。如果用 8位我們以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標漢字庫中的每一個字均由256點陣來表示11。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在256像素范圍內的任何圖形。我們以顯示漢字的89S51單片機為例, 由于單片機的總線為8位一個字需要拆分為2個部分。 一般我們把它拆分為上部和下部,上部由8×16點陣組成,下部也由8×16點陣組成。 在本例中單片機首先

32、顯示的是左上角的第一列的上半部分,即第一列的P0.0-P0.7口。方向為P0.0到P0.7 ,顯示漢字“大”時,P0.5點亮,由上往下排列,為P0.0滅,P0.1 滅, P0.2 滅P0.3 滅, P0.4 滅, P0.5 亮, P0.6 滅, P0.7 滅。即二進制00000100轉換為16進制為 04H.。 上半部第一列完成后,繼續掃描下半部的第一列,為了接線的方便,我們仍設計成由上往下掃描,即從P27向P20方向掃描,可以看出此部分沒有燈亮,二進制碼為00000000,即16位的00H。從圖6.1看出,第二列掃描時仍為P0.5點亮,為00000100,即16進制04H. 這一列完成后繼續

33、進行下半部分的掃描,P2.1點亮,為二進制00000010,即16進制02H. 依照這個方法,繼續進行下面的掃描,一共掃描32個8位,可以得出漢字“大”。圖 6.1 點陣原理它的掃描代碼為:04H,00H,04H,02H,04H,02H,04H,04H 04H,08H,04H,30H,05H,0C0H,0FEH,00H 05H,80H,04H,60H,04H,10H,04H,08H 04H,04H,0CH,06H,04H,04H,00H,00H 如果通過描點來造字的話,任務量太大?,F在有很多現成的漢字字模生成軟件, 我們就不必自己去畫表格算代碼了。軟件打開后輸入漢字,點“檢取”,十六進制數據的

34、漢字代碼即可自動生成,但是我們要根據自己硬件的連接方式來在選項中選擇取碼方式,然后把我們所需要的數據復制到我們的程序中即可。我們把行列總線接在單片機的I/0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。通過軟件提取 “單片機仿真”的單片機編程打下基礎。字模提取軟件是完成本設計的一個重要的輔助軟件,它能夠很容易的將需要的漢字翻譯成64×16的漢字字模。 第七章 軟件仿真調試7.1 Proteus軟件介紹Proteus ISIS是英國Labcenter公司開發的電路分析與實物仿真軟件。它運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和集成電路,

35、該軟件的特點是:實現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統的仿真、RS232動態仿真、I2C調試器、SPI調試器、鍵盤和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發生器等。支持主流單片機系統的仿真。目前支持的單片機類型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。提供軟件調試功能。在硬件仿真系統中具有全速、單步、設置斷點等調試功能,同時可以觀察各個變量、寄存器等的當前狀態,因此在該軟件仿真系統中,也必須具有這些功能;同時支

36、持第三方的軟件編譯和調試環境,如Keil C51 uVision2等軟件。具有強大的原理圖繪制功能??傊?,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大11。7.2 進入Proteus ISIS雙擊桌面上的ISIS 7 Professional圖標或者單擊屏幕左下方的“開始”“程序”“Proteus 7 Professional” “ISIS 7Professional”,出現如圖7.1所示屏幕,表明進入Proteus ISIS集成環境。圖7.1 Proteus ISIS啟動時的屏幕7.3 工作界面Proteus ISIS的工作界面是一種標準的Windows界面,如圖7.2

37、所示。包括:標題欄、主菜單、標準工具欄、繪圖工具欄、狀態欄、對象選擇按鈕、預覽對象方位控制按鈕、仿真進程控制按鈕、預覽窗口、對象選擇器窗口、圖形編輯窗口。以下為主窗口和四個輸出窗口的主要菜單項。對于主窗口,在菜單項旁邊同時列出工具條中對應的快捷鼠標按鈕。 圖7.2 Proteus ISIS的工作界面7.4 創建源代碼仿真文件PROTEUS虛擬仿真系統將源代碼的編輯與編譯整合在統一設計環境中,所以我們可以直接編輯原程序和生成仿真代碼,所以使用時先要設置代碼生成具,單機“Source”下拉菜單中“DEFINE CODE GENERATION TOOLS”選項,會出現如7.3所示點擊OK。點擊“So

38、urce”下拉菜單中“ADD/REMOVE SOURCE CODE FILES”對話框。在“CODE GENERATION TOOL”欄內選擇ASEM51,再點擊“NEW”按鈕,查找程序源,點擊“打開”,然后單機“Source”下拉菜單“BUILD ALL”選項,生成可執行的十六進制的文件(.ASM)如圖7.4源程序在軟件中的編譯結果。7.3 source工作界面圖7.4源程序在軟件中的編譯結果圖7.4仿真調試結 論本文設計的64×16的點陣LED圖文顯示屏,電路簡單,成本較低,且較容易擴展成更大的顯示屏。顯示屏各點亮度均勻、充足、顯示圖形或文字穩定、清晰無串擾;可用靜止、移入移出等

39、多種顯示方式顯示圖形或文字。利用Proteus實現了對點陣式LED滾動漢字顯示屏的仿真,完成了“單片機仿真”五個字滾動顯示,達到了良好的設計效果。該仿真電路接近實際電路,可以直接由該電路利用相關軟件設計印制電路板,加上電源電路和時鐘電路,就可以制作出實際的點陣式LED滾動漢字顯示屏。通過前期仿真縮短了開發周期,降低了開發成本,達到事半功倍之成效。此設計是基于電子技術的應用,以調研、搜集資料、方案為基礎,擬訂了系統規劃,編程,調試的流程。本設計開拓了我的思維,使我深刻的體會到理論與實踐相結合的重要性,同時也解決了我以前在學習中遇到的許多專業知識問題。通過本設計的實踐掌握,使我的專業知識更加系統化

40、、結構化。但由于水平有限,難免有遺漏、錯誤之處,請大家給予指正。謝 辭感謝我的導師,我的本次畢業設計和論文是在他的悉心指導和關心下完成的,老師給予我很大的關心和支持,正是由于這些細微的關懷,一直激勵著我去努力做好本次畢業設計,老師精湛的專業知識、耐心的工作態度和真誠的待人風格給我留下了非常深刻的印象,對我以后的工作和生活將產生很大的影響,老師工作能力實際應用能力也相當強,給予了我相當大的幫助,真摯的向導師說聲謝謝。感謝幫助過我的所有同學,特別是在我的設計遇到困難的時候,他們在精神上和行動上,都給予我很大的支持,鼓勵我不要泄氣,勇敢的面對困難,使我終于突破了設計的難點,順利完成了此次畢業設計。我

41、也感謝本科這兩年里所有知道過我的老師們,他們教授給我的各方面專業知識讓我在設計中能更好的運用以及發揮,感謝他們對我無私的教誨和幫助。 總之,在這次課程設計中,我受益匪淺,學到了很多書本上所沒有的東西,懂得了理論和實際聯系的重要性。在以后的學習中,我不僅要把理論知識掌握牢固,更要提高自己的動手能力和分析能力。參考文獻1 Michael D Ciletti. Advanced Digital Design with the Ver-ilog HDL, 2004:64-69.2元增民.單片機原理與應用M.長沙:國防科學大學出版社,2006:15-18,30.3馬忠梅.單片機外圍電路設計.北京:北京航

42、空航天大學出版社,2005:42-46.4李全利.單片機原理及接口技術M.北京:北京航空航天大學出版社,2004:23-30.5 AT89C51 DATA SHEEP Philips Semiconductors 1999:12-19.6黃繼昌.電子元器件應用M.北京:人民郵電出版社,2004:65-70.7周雪主.電子技術基礎M.北京:電子工業出版社,2003:104-107.8羅亞非.凌陽十六位單片機應用基礎M. 北京:北京航天航空出版社,2001:87-89.9清源計算機工作室Proteus軟件入門北京:機械工業出版社,2004:20-3410侯玉寶. 基于Proteus的51系列單片機

43、設計與仿真.北京:電子工業出版社,2008:112-118.11朱清慧,張鳳蕊,翟天嵩,王志奎.Proteus教程電子線路設計、制版與仿真.北京:清華大學出版社,2008:224-228,235-240.附 錄6416的點陣LED電子圖文顯示屏的源程序采用匯編語言編寫,以下為用匯編語言編寫的字符顯示控制程序:ORG0000HAJMPMAINORG0030HMAIN:MOVDPTR,#TAB;字碼表初址賦值MOVR1,#00H;列制碼MOVR4,#96;移動“ ”及“單片機仿真”6個字符共96列CM:MOVR5,#5;每屏反復顯示5次MOVR3,#16;列數C1:MOVR2,#0;取碼指針C16

44、:MOVP0,#00HMOVP2,#00H;關顯示CLRP3.0MOVA,R2MOVCA,A+DPTR;取當前列顯示字碼的第一個字節MOVP0,A;送18行控制口INCR2MOVA,R2MOVCA,A+DPTR;取當前列的顯示字碼的第二個字節MOVP2,A;送915行控制口INCR2MOVP1,R1;送列控制碼INCR1 ACALLD1MS;顯示2MSACALLD1MSDJNZR3,C16;一屏16列是否顯示完MOVR3,#16DJNZR5,C1;未顯示5次,繼續INCDPTR;一屏反復顯示5次完,字碼表初值加2INCDPTRDJNZR4,CM;96列未移動完,繼續AJMPMAIN;96列移動

45、完,返回,重新從“ ”開始顯示D1MS:MOVR6,#2MOVR7,#248DJNZR7,$DJNZR6,$-4RETTAB:DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",DB 000H ,000H ,000H ,008H

46、 ,000H ,008H ,0E0H ,008H ,0F4H ,00DH ,054H ,005H ,0F4H ,07FH ,0F8H ,07FH ;DB 01EH ,005H ,0FEH ,005H ,0FAH ,006H ,010H ,002H ,000H ,006H ,000H ,004H ,000H ,000H ,000H ,000H ;"單",0DB 000H ,000H ,000H ,000H ,000H ,010H ,000H ,01CH ,0FCH ,00FH ,0FCH ,003H ,040H ,002H ,040H ,002H ;DB 07EH ,07FH

47、 ,03EH ,07FH ,020H ,000H ,020H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;"片",1DB 000H ,008H ,040H ,00CH ,040H ,006H ,0DCH ,03FH ,0FEH ,03FH ,022H ,011H ,020H ,01DH ,0F0H ,00FH ;DB 0F0H ,003H ,0F0H ,00FH ,0F0H ,01FH ,010H ,010H ,000H ,01CH ,000H ,01CH ,000H ,010H ,000H ,000H ;&

48、quot;機",2DB 000H ,001H ,080H ,001H ,0C0H ,000H ,0F0H ,03FH ,0FCH ,03FH ,04CH ,018H ,040H ,00CH ,040H ,027H ;DB 0CCH ,063H ,0ECH ,079H ,028H ,01FH ,020H ,007H ,020H ,000H ,020H ,000H ,000H ,000H ,000H ,000H ;"仿",3DB 000H ,000H ,000H ,010H ,000H ,098H ,000H ,0C8H ,0E8H ,06FH ,0E8H ,03FH ,07CH ,01BH ,07EH

溫馨提示

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

評論

0/150

提交評論