版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科生畢業(yè)設(shè)計(論文)資料袋題目名稱基于proteus的led漢字顯示屏電路設(shè)計學(xué)生姓名學(xué) 號專 業(yè)分 院指導(dǎo)教師姓名職 稱序號資料名稱袋內(nèi)有者劃并寫明份數(shù)序號資料名稱袋內(nèi)有者劃并寫明份數(shù)1任務(wù)書7答辯專家評審表2開題報告8答辯評分表3原創(chuàng)性申明9成績匯總表 4畢業(yè)設(shè)計(論文)10圖 紙 ( )張 5指導(dǎo)教師評審表11軟件或程序光盤軟盤 ( )張 6評閱人評審表12其 它綜合評定成績?nèi)A東交通大學(xué)理工學(xué)院institute of technologyeast china jiao tong university 畢 業(yè) 設(shè) 計(論 文)graduation design (thesis)(201
2、32014年)題 目 基于proteus的led漢字顯示屏電路設(shè)計 分 院: 電氣與信息工程分院 專 業(yè): 電子信息工程 班 級: 電信2010-3 畢業(yè)論文(設(shè)計)原創(chuàng)性聲明本人所呈交的畢業(yè)論文(設(shè)計)是我在導(dǎo)師的指導(dǎo)下進(jìn)行的研究工作及取得的研究成果。據(jù)我所知,除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計)不包含其他個人已經(jīng)發(fā)表或撰寫過的研究成果。對本論文(設(shè)計)的研究做出重要貢獻(xiàn)的個人和集體,均已在文中作了明確說明并表示謝意。 作者簽名: 日期: 畢業(yè)論文(設(shè)計)授權(quán)使用說明本論文(設(shè)計)作者完全了解*學(xué)院有關(guān)保留、使用畢業(yè)論文(設(shè)計)的規(guī)定,學(xué)校有權(quán)保留論文(設(shè)計)并向相關(guān)部門送交論文(設(shè)計
3、)的電子版和紙質(zhì)版。有權(quán)將論文(設(shè)計)用于非贏利目的的少量復(fù)制并允許論文(設(shè)計)進(jìn)入學(xué)校圖書館被查閱。學(xué)??梢怨颊撐模ㄔO(shè)計)的全部或部分內(nèi)容。保密的論文(設(shè)計)在解密后適用本規(guī)定。 作者簽名: 指導(dǎo)教師簽名: 日期: 日期: 注 意 事 項1.設(shè)計(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300字左右)、關(guān)鍵詞4)外文摘要、關(guān)鍵詞 5)目次頁(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論)、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對論文支持必要時)2.論文字?jǐn)?shù)要求:理工類設(shè)計(論文)正文字?jǐn)?shù)不少于1萬字(不包括圖紙、程序清單等),文科類論文正
4、文字?jǐn)?shù)不少于1.2萬字。3.附件包括:任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯別字,不準(zhǔn)請他人代寫2)工程設(shè)計類題目的圖紙,要求部分用尺規(guī)繪制,部分用計算機繪制,所有圖紙應(yīng)符合國家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須用a4單面打印,論文50頁以上的雙面打印4)圖表應(yīng)繪制于無格子的頁面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(論文)2)附件:按照任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)次序裝訂3)其它摘 要作為led點
5、陣的一個新興顯示裝置,通常是由多個獨立的發(fā)光二級管封裝而成,可以顯示數(shù)字或符號, 通常用來顯示時間、速度、系統(tǒng)狀態(tài)等。由于proteus是目前最先進(jìn)、最完整的多種型號未處理器系統(tǒng)的仿真設(shè)計平臺,單片機技術(shù)的不斷發(fā)展和高亮度led發(fā)光管的出現(xiàn)使得大屏幕高亮度led電子廣告屏成為可能,與傳統(tǒng)的霓虹燈廣告在顯示效果以及可修改性上都有著無法比擬的優(yōu)勢,而且單片機的日益平民化以及l(fā)ed技術(shù)的不斷創(chuàng)新,使得高亮度高清晰的led點陣廣告牌與傳統(tǒng)霓虹燈廣告牌的成本日益接近。通過對基于proteus的led顯示屏的研究,采用proteus軟件實現(xiàn)1616 led點陣漢字的分批顯示,仿真運行通過后在進(jìn)行點陣顯示電
6、路制作,大大縮減實際開發(fā)周期,節(jié)約了開發(fā)成本。關(guān)鍵詞:led; 單片機; proteus仿真abstractasa newleddot matrixdisplay device,usuallyconsisting of a plurality of independent lightlevel twotubepackaged can display numbers or symbols, usually used to display time, speed, and the state of the system. because proteus is a simulation design
7、 platform for various types of the most advanced, the most complete not processor system,the continuous development of scm technologyand highbrightness led light tubemakes the emergence oflarge screen and highbrightness ledelectronic advertising screen becomes possible, and the traditional neon ligh
8、ts advertising in the display effect andmodificationarenotcompare the advantages,but also increasinglycommonmcu as well as the led technology unceasing innovation,make thehigh brightness and high resolution led lattice billboards and traditional neon light billboards cost increasingly cost to. throu
9、gh the study of led based proteus display. display in batches to achieve 16*16 led dot matrixchinese charactersby using proteus software,the simulation run throughafter thedot matrix displaycircuit,greatly reducingthe development cycle,reduce the development cost.key words: led, mcu, proteus simulat
10、ion目 錄摘 要4abstract5目 錄6引 言71 系統(tǒng)總體設(shè)計方案81.1 總體設(shè)計方案的論證81.2 總設(shè)計方案的確定82 系統(tǒng)硬件電路設(shè)計102.1 單片機系統(tǒng)電路10211 at89c51主要特性10212 管腳說明112.2 時鐘電路122.3 復(fù)位電路132.4 電源電路132.5 點陣顯示電路142.6 驅(qū)動電路153 系統(tǒng)的軟件程序設(shè)計173.1 軟件系統(tǒng)分析17311 模塊細(xì)分17312 確定算法17313 編寫程序183.2 系統(tǒng)主程序193.3 顯示驅(qū)動程序194 整體電路的設(shè)計214.1 用proteus繪制原理圖215 字模的提取235.1 點陣原理236 軟件
11、仿真調(diào)試256.1 proteus軟件的介紹25611 proteus軟件的使用25612 proteus的工作界面266.2 創(chuàng)建源代碼仿真程序266.3 仿真調(diào)試28結(jié) 論30參考文獻(xiàn)31附 錄32后 記34引 言led點陣顯示屏在國內(nèi)外公共場所受到廣泛的應(yīng)用。由于單片機與proteus仿真等科技的不斷發(fā)展,高亮度led發(fā)光管的出現(xiàn),使得大屏幕高亮度led電子廣告屏成為可能,與傳統(tǒng)的霓虹燈廣告在顯示效果以及可修改性上都有著無法比擬的優(yōu)勢。目前,國內(nèi)的led點陣顯示屏大部分是單顯示型,其顯示的內(nèi)容相對較少,顯示花樣較單一,花費時間長,成本高。而proteus是目前最先進(jìn)、最完整的多種型號未處
12、理器系統(tǒng)的仿真設(shè)計平臺,特別適用于單片機仿真,能夠在線、實時仿真多種類型的單片機,諸如mcs-51系列單片機、pic單片機、avr單片機等,能夠像硬件仿真器一樣進(jìn)行軟硬件調(diào)試。本論文基于proteus軟件實現(xiàn)16*16 led點陣漢字的分批顯示,仿真運行通過后在進(jìn)行點陣顯示電路制作,將大大縮減實際開發(fā)周期,節(jié)約了開發(fā)成本。1 系統(tǒng)總體設(shè)計方案本章主要內(nèi)容是論述1616點陣漢字滾動顯示系統(tǒng)的總體設(shè)計設(shè)計方案。本系統(tǒng)包括由單片機電路、陰極、陽極驅(qū)動電路還有1616點陣顯示電路三大部分組成,在系統(tǒng)設(shè)計之前的方案論證是十分重要的。功能模塊具體實現(xiàn)的器件不同,也將直接影響整個系統(tǒng)的性能好壞及成本大小,這
13、樣可以達(dá)到效率高、經(jīng)濟(jì)實用的目的。1.1 總體設(shè)計方案的論證從理論上說,不論顯示圖形還是文字,只要控制與組成這些圖形或文字的各個點所在的位置相對應(yīng)的led器件發(fā)光,就可以得到我們想要的顯示結(jié)果,這種同時控制各個發(fā)光點亮滅的方法稱為靜態(tài)驅(qū)動顯示方式。1616的點陣共有256個發(fā)光二極管,顯然單片機沒有這么多的端口,我們僅僅是1616的點陣,在實際應(yīng)用中的顯示屏往往要大得多,這樣在鎖存器上花的成本將是一個很龐大的數(shù)字。因此在實際應(yīng)用中的顯示屏幾乎都不采用這種設(shè)計,而采用另外一種稱為動態(tài)掃描的顯示方法。動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行(比如16行)的同名列共用一
14、套驅(qū)動器。具體就1616的點陣來說,把所有同1行的發(fā)光管的陽極連在一起,把所有同1列的發(fā)光管的陰極連在一起(共陽極的接法),先送出對應(yīng)第一行發(fā)光管亮滅的數(shù)據(jù)并鎖存,然后選通第1行使其燃亮一定時間,然后熄滅;再送出第二行的數(shù)據(jù)并鎖存,然后選通第2行使其燃亮相同的時間,然后熄滅;以此類推,第16行之后,又重新燃亮第1行,反復(fù)輪回。當(dāng)這樣輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就能夠看到顯示屏上穩(wěn)定的圖形了。1.2 總設(shè)計方案的確定點陣式led滾動漢字顯示屏硬件電路設(shè)計框圖如圖2.1所示。電路包括單片機、電源電路、時鐘電路、復(fù)位電路、驅(qū)動電路和1616 led點陣電路等。本設(shè)計的
15、核心是利用單片機讀取顯示字型碼,通過驅(qū)動電路對1616 led點陣進(jìn)行動態(tài)列掃描,以實現(xiàn)漢字的滾動顯示。本設(shè)計選用的at89c51單片機,為顯示屏采用1616 led點陣。電源電路通過變壓整流元件為單片機和其他電路提供穩(wěn)定的+5v工作電壓。時鐘電路是單片機的驅(qū)動電路,復(fù)位電路可在需要時,手動使單片機程序計數(shù)器復(fù)位清零。通過陽極驅(qū)動電路向1616點陣送字型碼,通過陰極驅(qū)動電路對1616點陣進(jìn)行列掃描,本課題采用的驅(qū)動芯片為74hc154。圖1.1 硬件電路設(shè)計圖2 系統(tǒng)硬件電路設(shè)計硬件電路大致上可以分成單片機系統(tǒng)電路、陰極和陽極驅(qū)動電路、時鐘電路、復(fù)位電路、電源電路及l(fā)ed點陣電路幾部分。2.1
16、 單片機系統(tǒng)電路本設(shè)計的核心是利用單片機讀取顯示字型碼,通過驅(qū)動電路對1616 led點陣進(jìn)行動態(tài)列掃描,以實現(xiàn)漢字的滾動顯示。at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomflash programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機3。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除100次。三級程序存儲器鎖定、1288位內(nèi)部ram、32可編程i/o線、兩個16位定時器/計數(shù)器、5個中斷源、可編程串行通道、低功耗的閑置和掉電模
17、式、片內(nèi)振蕩器和時鐘電路;外部引腳如圖3.1所示:圖2.1 at89c51單片機外部引腳圖211 at89c51主要特性與mcs51兼容4k字節(jié)可編程閃爍存儲器壽命:1000寫擦循環(huán)數(shù)據(jù)保留時間:10年全靜態(tài)工作:0hz至24hz三級程序存儲器鎖定128*8位內(nèi)部ram32可編程io線兩個16位定時器計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路212 管腳說明vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向io口,每腳可吸收8t1l門電流。當(dāng)p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)地址的第八位
18、。在fiash編程時,po口作為原碼輸入口,當(dāng)flash進(jìn)行校驗時,po輸出原碼,此時p0外部必須被拉高4。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向io口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向io口,p2口緩沖器可接收,輸出4個1vrl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口
19、當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號5。p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向io口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,同時為閃爍編程和編程校驗接收一些控制信號。rst-復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要
20、保持rst腳兩個機器周期的高電平時間。aleprog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的116。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時,ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。psen外部程序存儲器的選通信號:在由外部程序存儲器取指期間,每個機
21、器周期兩次psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的psen信號將不出現(xiàn)。eavpp:當(dāng)ea保持低電平時,則在此期間外部程序存儲器(0000hffffh),不管是否有內(nèi)部程序存儲器。注意加密方式l時,ea將內(nèi)部鎖定為reset;當(dāng)ea端保持高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。xtal2:來自反向振蕩器的輸出。2.2 時鐘電路at89c51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳xtal1和xtal2分別是該放大器的輸入端和輸出端6。這個放大器與作為負(fù)反饋的片外
22、石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖3.2;外接石英晶體(或陶瓷諧振器)及電容c1、c2接在放大器的反饋電路中構(gòu)成并聯(lián)振蕩電路。對外接電容c1、c2雖然沒有十分的嚴(yán)格要求,但電容容量的大小會輕微影響振蕩頻率的高低、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性,本設(shè)計使用石英晶體,其電容容量使用30pf10pf。圖2.2 時鐘電路2.3 復(fù)位電路在這個系統(tǒng)中的復(fù)位電路是采用上電加按鈕來實現(xiàn)的。因為mcs-51單片機的復(fù)位是靠外部電路實現(xiàn)的。mcs-51單片機工作之后,只要在他的rst引線上加載10ms以上的高點平,單片機就能有地進(jìn)行復(fù)位。我們采用的是上電加按鍵復(fù)位方式,這樣做
23、的優(yōu)點是上電后可以直接進(jìn)入復(fù)位狀態(tài),當(dāng)程序出現(xiàn)錯誤時,可以隨時使電路復(fù)位。單片機在啟動或斷電后,程序需要從頭開始執(zhí)行,機器內(nèi)全部積存器,i/o接口等都必須重新復(fù)位。圖3.3是一個簡單的上電復(fù)位和按鈕復(fù)位電路,圖中上電時接通電源,電容c1相當(dāng)于瞬間短路,+5v電源直接加到了rst/vpd端,該高電平使89c51全機復(fù)位,若運行過程中需要程序從頭執(zhí)行,只需要按鈕s即可,按下s則直接把+5v加到rst/vpd端從而復(fù)位。圖2.3 復(fù)位電路圖2.4 電源電路電源電路是單片機系統(tǒng)最基本的部分,所以我們應(yīng)該高度重視電源部分,不能因為電源部分電路比較簡單而有所忽略,電源部分做好才能保證電路的正常工作。對電源
24、電路來說,最重要的就是穩(wěn)壓,我們采用的是+5v電源供的直流電7。2.5 點陣顯示電路本設(shè)計用4片led88點陣組成一個1616點陣顯示電路8。led數(shù)碼管是本設(shè)計中的顯示器件下面對它作一簡單介紹。此處選用的是八段數(shù)碼管,它是由8個發(fā)光二極管組合而成的,它有共陰極和共陽極兩種形式(如圖3.4 a、b、c)。共陰極的內(nèi)部接法為將8個發(fā)光二極管的陰極結(jié)在一起,工作時公共極接地,在8個陽極上通以不同的電平是將顯示不同的字符;共陽極接法與共陰極相反,它是將8個發(fā)光二極管的陽極接在一起,工作時公共極接+5v,在8個陰極上通以不同的電平來顯示相應(yīng)的字符。本設(shè)計選用led88點陣作為顯示器件,從顯示亮度來說要
25、求越高,其效果越好,從節(jié)能的角度上看,led器件較為節(jié)能,工作電壓不高,功耗又小,且性能一定要穩(wěn)定,維修方便, led電子顯示屏以基色彩鮮亮奪目,大的顯示信息量、壽命長、耗電量小,重量輕,空間尺寸小,穩(wěn)定性高,易于操作、安裝和維護(hù)等特點將在本設(shè)計中扮演著重要的角色。等效電路看起來簡單,1腳加高電平,再在abcdefgh段加低電平,第一行的發(fā)光二極管就會亮,但是實際的器件引腳并不是一排引腳按12345678的順序排列,另一排引腳按abcdefgh的順序排列。而實際引腳通常是亂序的,不過我們可以自己測試引腳的分布情況。其電路排列如圖3.5圖(a)和圖(b)所示。圖 2.4 led數(shù)碼管結(jié)構(gòu)圖圖2.
26、5 (a) 88 led平面圖圖2.5(b)88 led等效電路圖2.6 驅(qū)動電路單片機p1口低4位輸出的行號經(jīng)4/16線譯碼器74hc154(如圖3.6)譯碼后生成16條行選通信號線,再經(jīng)過驅(qū)動器驅(qū)動對應(yīng)的行線。動態(tài)掃描顯示時,74hc154用來確定某一時刻顯示的行號,保證某一時刻只有一行選中。一條行線上要帶動16列的led進(jìn)行顯示,按每一led器件10ma電流計算,16個led同時發(fā)光時,需要160ma電流(即16個led點陣同時亮的情況),74hc154為一行16個led點陣提供足夠大的驅(qū)動電流。74hc154來做列選控制只使用了單片機的4個io口,節(jié)約了很多io資源,為單片機系統(tǒng)擴充使
27、用功能提供了條件。圖2.6 74hc154外形及引腳3 系統(tǒng)的軟件程序設(shè)計軟件設(shè)計是一件細(xì)致而復(fù)雜的工作,應(yīng)按照合理的順序有條不絮的進(jìn)行。本次畢業(yè)設(shè)計中我們在軟件設(shè)計部分依然采用模塊化的設(shè)計思想題,將整個系統(tǒng)劃分為若干個模塊,設(shè)計時將各個模塊非開來設(shè)計,最后將整個模塊連接起來,這樣易于調(diào)試,有助于發(fā)現(xiàn)問題并及時改正。3.1 軟件系統(tǒng)分析根據(jù)畢業(yè)設(shè)計的要求及該系統(tǒng)應(yīng)該滿足的功能要求,決定該系統(tǒng)應(yīng)該具有的部分及所需的各種元器件及其分別的型號,所起到的作用。按信息的流行向分析說明信息的性質(zhì),來源或去向,有多少數(shù)據(jù)信息、多少狀態(tài)信息,是模擬量還是數(shù)字量,是串行還是并行,數(shù)據(jù)輸入/輸出端口地址,與外設(shè)聯(lián)
28、絡(luò)控制的方法以及輸入中斷源的類別和優(yōu)先級的安排。每一個輸入/輸出還應(yīng)注意是否與其他輸入/輸出有關(guān)。311 模塊細(xì)分按照所分析的結(jié)果將整個系統(tǒng),按不同的功能劃分為幾個相對獨立的模塊,并分析出各個模塊之間的關(guān)系幾由他兩端出現(xiàn)的信號的形式??梢詫⒄麄€系統(tǒng)化分為:前端模塊,主機模塊,顯示模塊,輸入模塊,這樣就可以對各個模塊同時進(jìn)行設(shè)計,只要保證相連模塊間滿足相應(yīng)的數(shù)據(jù)流通關(guān)系就行。在此次設(shè)計中顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設(shè)計的要求顯示。根據(jù)軟件分層次設(shè)計的原理,可以把顯示屏的軟件系統(tǒng)分為兩層;第一層是底層的顯示驅(qū)動程序,第二層是上層的系統(tǒng)應(yīng)用程序。顯示驅(qū)動程序
29、負(fù)責(zé)向屏體送顯示數(shù)據(jù),并負(fù)責(zé)產(chǎn)生行掃描信號和其它控制信號,配合完成led顯示屏的掃描顯示工作。顯示驅(qū)動器程序由定時器t0中斷程序?qū)崿F(xiàn)。系統(tǒng)應(yīng)用程序完成系統(tǒng)環(huán)境設(shè)置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)。312 確定算法算法設(shè)計是軟件設(shè)計很重要的階段,合理和可靠的算法將導(dǎo)致優(yōu)化程序設(shè)計。不同功能塊有不同的算法,同一個問題也可以有很多算法,要根據(jù)具體的情況選擇合適的算法。算法設(shè)計的總目標(biāo)是,在達(dá)到要求功能的基礎(chǔ)上,保證程序流程結(jié)構(gòu)簡單,運行可靠。313 編寫程序在手編寫各部分的程序之前,還需做兩件事:分配系統(tǒng)資源和設(shè)計流程圖。提高軟件設(shè)計總體效率的有效方法是先設(shè)計流程圖,在開始編程。程序流
30、程圖3.1的設(shè)計過程就是程序邏輯設(shè)計的過程。流程圖直觀明了,有利于查錯和修改。明確任務(wù)題目定義題目細(xì)分明確算法確定算法設(shè)計流程設(shè)計流程編寫程序編寫程序程序有錯程序調(diào)試程序裝配綜合調(diào)試 結(jié)束圖 3.1 顯示驅(qū)動程序流程圖3.2 系統(tǒng)主程序系統(tǒng)主程序開始以后,首先是對系統(tǒng)環(huán)境初始化,然后向左滾動顯示“單片機仿真”這5個漢字,然后以“卷簾入”效果隱去。由于單片機沒有停機指令,所以可以設(shè)置系統(tǒng)程序不斷的循環(huán)執(zhí)行上述顯示效果。圖3.2主程序流程圖。詳細(xì)主程序見附錄a開始初始化調(diào)出顯示程序調(diào)整數(shù)據(jù)指針是否顯示完畢yn圖3.2系統(tǒng)主程序流程圖3.3 顯示驅(qū)動程序由led點陣顯示器的內(nèi)部結(jié)構(gòu)可知,器件宜采用動
31、態(tài)掃描驅(qū)動方式工作,由于led管芯大多為高亮度型,因此某行或某列的單體 led驅(qū)動電流可選用窄脈沖,但其平均電流應(yīng)限制在20ma內(nèi)多數(shù)點陣顯示器的單體led的正向壓降約在2v左右。動態(tài)顯示采用掃描的方式工作,由峰值較大的窄脈沖驅(qū)動,從上到下逐次不斷地對顯示屏的各行進(jìn)行選通,同時又向各列送出表示圖形或文字信息的脈沖信號,反復(fù)循環(huán)以上操作,就可顯示各種圖形或文字信息。圖4.3驅(qū)動程序(顯示屏掃描函數(shù))流程圖。顯示驅(qū)動程序在進(jìn)入中斷后首先要對定時器t0重新賦初值,以保證顯示屏刷新率的穩(wěn)定,1/16掃描顯示屏的刷新率(幀頻)計算如公式3.1所示:刷頻率(幀頻)=1/16t0溢出率 =1/16f/12(
32、65536-t) (3.1)在公式3.1中f為晶振頻率,t為定時器t0初值(工作在16位定時器模式)。然后顯示驅(qū)動程序查詢當(dāng)前燃亮的行號,從顯示緩存區(qū)內(nèi)讀取下一行的顯示數(shù)據(jù),并通過串口發(fā)送給移位寄存器。為消除在切換行顯示數(shù)據(jù)的時候產(chǎn)生拖尾現(xiàn)象,驅(qū)動程序先要關(guān)閉顯示屏,即消隱,等顯示數(shù)據(jù)打入輸出鎖存器鎖存,然后再輸出新的行號,重新打開顯示。進(jìn)入中斷定時器賦初值讀取行號并增加1送新行顯示數(shù)據(jù)消 隱切換顯示數(shù)據(jù)發(fā)送新行號,打開顯示退出中斷圖 3.3顯示驅(qū)動程序流程圖4 整體電路的設(shè)計4.1 用proteus繪制原理圖用proteus 繪制原理圖:運行 proteus 的 isis 程序后,進(jìn)入該仿真
33、軟件的主界面9。通過元件選擇按鈕 p (從庫中選擇元件命令) 命令,在彈出的 pick devices 窗口中選擇電路所需的元件,放置元件并調(diào)整其相對位置,對元件參數(shù)設(shè)置及元器件間連線, 完成單片機系統(tǒng)的硬件原理圖繪制。整體電路原理圖如4.1圖。圖4.1 led點陣顯示的整機電路原理圖本文把行列控制總線接在單片機的i/o口,然后把通過軟件編譯的掃描代碼送入總線,就可以得到顯示的漢字了??紤]到p0口必需設(shè)置上拉電阻,本文采用1k排電阻作為上拉電阻。在進(jìn)行顯示時,每一行有一個行驅(qū)動器,各行的同名列共用一個驅(qū)動器。顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列
34、的數(shù)據(jù)都傳送到相應(yīng)的列驅(qū)動器上去。漢字掃描顯示的基本過程是這樣的:通電后由于電阻r1,電容c4的作用,使單片機的rst復(fù)位腳電平先高后低,從而達(dá)到復(fù)位;之后,在c2,c3,x1以及單片機內(nèi)部時鐘電路的作用下,單片機89c51按照設(shè)定的程序在p0和p2口輸出與內(nèi)部漢字對應(yīng)的代碼電平送至led點陣的行選線(高電平驅(qū)動),同時在p1.1,p1.2,p1.3,p1.4口輸出列選掃描信號(低電平驅(qū)動),從而選中相應(yīng)的象素led發(fā)光,并利用人眼的視覺暫留特性合成整個漢字的顯示,再改變?nèi)”淼刂穼崿F(xiàn)漢字的滾動顯示10。5 字模的提取5.1 點陣原理在ucdos中文宋體字庫中,每一個字由16行16列的點陣組成顯
35、示。如果用 8位我們以ucdos中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標(biāo)漢字庫中的每一個字均由256點陣來表示11。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字, 也可以顯示在256像素范圍內(nèi)的任何圖形。我們以顯示漢字的89s51單片機為例, 由于單片機的總線為8位一個字需要拆分為2個部分。 一般我們把它拆分為上部和下部,上部由816點陣組成,下部也由816點陣組成。 在本例中單片機首先顯示的是左上角的第一列的上半部分,即第一列的p0.0-p0.7口。方向為p0.0到p0.7 ,顯示漢字“大”時,p0.5點亮,由上往
36、下排列,為p0.0滅,p0.1 滅, p0.2 滅p0.3 滅, p0.4 滅, p0.5 亮, p0.6 滅, p0.7 滅。即二進(jìn)制00000100轉(zhuǎn)換為16進(jìn)制為 04h.。 上半部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方便,我們?nèi)栽O(shè)計成由上往下掃描,即從p27向p20方向掃描,可以看出此部分沒有燈亮,二進(jìn)制碼為00000000,即16位的00h。從圖6.1看出,第二列掃描時仍為p0.5點亮,為00000100,即16進(jìn)制04h. 這一列完成后繼續(xù)進(jìn)行下半部分的掃描,p2.1點亮,為二進(jìn)制00000010,即16進(jìn)制02h. 依照這個方法,繼續(xù)進(jìn)行下面的掃描,一共掃描32個8位
37、,可以得出漢字大。 圖 5.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 如果通過描點來造字的話,任務(wù)量太大?,F(xiàn)在有很多現(xiàn)成的漢字字模生成軟件, 我們就不必自己去畫表格算代碼了。軟件打開后輸入漢字,點“檢取”,十六進(jìn)制數(shù)據(jù)的漢字代碼即可自動生成,但是我們要根據(jù)自己硬件的連接方式來在選項中選擇取碼方式,然后把我們所需要的數(shù)據(jù)復(fù)制到我們的程序中即可。我們把行列
38、總線接在單片機的i/0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。通過軟件提取 “單片機仿真”的單片機編程打下基礎(chǔ)。字模提取軟件是完成本設(shè)計的一個重要的輔助軟件,它能夠很容易的將需要的漢字翻譯成1616的漢字字模。6 軟件仿真調(diào)試6.1 proteus軟件的介紹proteus isis是英國labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于windows操作系統(tǒng)上,可以仿真、分析(spice)各種模擬器件和集成電路,該軟件的特點是:實現(xiàn)了單片機仿真和spice電路仿真相結(jié)合。具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真、rs232動態(tài)仿真、i
39、2c調(diào)試器、spi調(diào)試器、鍵盤和lcd系統(tǒng)仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。支持主流單片機系統(tǒng)的仿真。目前支持的單片機類型有:68000系列、8051系列、avr系列、pic12系列、pic16系列、pic18系列、z80系列、hc11系列以及各種外圍芯片。提供軟件調(diào)試功能。在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能;同時支持第三方的軟件編譯和調(diào)試環(huán)境,如keil c51 uvision2等軟件。具有強大的原理圖繪制功能。總之,該軟件是一款集單片機和spice分析于一身的
40、仿真軟件,功能極其強大11。611 proteus軟件的使用雙擊桌面上的isis 7 professional圖標(biāo)或者單擊屏幕左下方的“開始”“程序”“proteus 7 professional” “isis 7professional”,出現(xiàn)如圖6.1所示屏幕,表明進(jìn)入proteus isis集成環(huán)境。圖6.1 proteus isis啟動時的屏幕612 proteus的工作界面proteus isis的工作界面是一種標(biāo)準(zhǔn)的windows界面,如圖7.2所示。包括:標(biāo)題欄、主菜單、標(biāo)準(zhǔn)工具欄、繪圖工具欄、狀態(tài)欄、對象選擇按鈕、預(yù)覽對象方位控制按鈕、仿真進(jìn)程控制按鈕、預(yù)覽窗口、對象選擇器窗口
41、、圖形編輯窗口。以下為主窗口和四個輸出窗口的主要菜單項。對于主窗口,在菜單項旁邊同時列出工具條中對應(yīng)的快捷鼠標(biāo)按鈕。圖6.2 proteus isis的工作界面6.2 創(chuàng)建源代碼仿真程序proteus虛擬仿真系統(tǒng)將源代碼的編輯與編譯整合在統(tǒng)一設(shè)計環(huán)境中,所以我們可以直接編輯原程序和生成仿真代碼,所以使用時先要設(shè)置代碼生成具,單機“source”下拉菜單中“define code generation tools”選項,會出現(xiàn)如6.3所示點擊ok。點擊“source”下拉菜單中“add/remove source code files”對話框。在“code generation tool”欄內(nèi)選
42、擇asem51,再點擊“new”按鈕,查找程序源,點擊“打開”,然后單機“source”下拉菜單“build all”選項,生成可執(zhí)行的十六進(jìn)制的文件(.asm)如圖6.4源程序在軟件中的編譯結(jié)果。6.3 source工作界面圖6.4源程序在軟件中的編譯結(jié)果6.3 仿真調(diào)試單擊仿真運行開始按鈕,單擊仿真運行結(jié)束按鈕,仿真結(jié)束12。本設(shè)計的proteus仿真圖如圖6.4和圖6.5所示。圖6.4系統(tǒng)仿真結(jié)果圖6.5系統(tǒng)仿真結(jié)果結(jié) 論本文設(shè)計的1616的點陣led圖文顯示屏,電路簡單,成本較低,且較容易擴展成更大的顯示屏。顯示屏各點亮度均勻、充足、顯示圖形或文字穩(wěn)定、清晰無串?dāng)_;可用靜止、移入移出等
43、多種顯示方式顯示圖形或文字。利用proteus實現(xiàn)了對點陣式led滾動漢字顯示屏的仿真,完成了“單片機仿真”五個字滾動顯示,達(dá)到了良好的設(shè)計效果。該仿真電路接近實際電路,可以直接由該電路利用相關(guān)軟件設(shè)計印制電路板,加上電源電路和時鐘電路,就可以制作出實際的點陣式led滾動漢字顯示屏。通過前期仿真縮短了開發(fā)周期,降低了開發(fā)成本,達(dá)到事半功倍之成效。此設(shè)計是基于電子技術(shù)的應(yīng)用,以調(diào)研、搜集資料、方案為基礎(chǔ),擬訂了系統(tǒng)規(guī)劃,編程,調(diào)試的流程。本設(shè)計開拓了我的思維,使我深刻的體會到理論與實踐相結(jié)合的重要性,同時也解決了我以前在學(xué)習(xí)中遇到的許多專業(yè)知識問題。通過本設(shè)計的實踐掌握,使我的專業(yè)知識更加系統(tǒng)化
44、、結(jié)構(gòu)化。但由于水平有限,難免有遺漏、錯誤之處,請大家給予指正。參考文獻(xiàn)1ciletti m d. advanced digital design with the ver-ilog hdl j. , 2004.2元增民.單片機的復(fù)位與程序執(zhí)行n.長沙:國防科學(xué)大學(xué)出版社,2006.3胡漢才.單片機原理與接口技術(shù)m北京:清華大學(xué)出版社,1995.64李全利.單片機原理及接口技術(shù)m.北京:北京航空航天大學(xué)出版社,2004.5at89c51 data sheep philips semiconductors 1999.6何立民. 單片機高級教程m北京:北京航空航天大學(xué)出版社,20017夏繼強. 單
45、片機實驗與實踐教程m. 北京:北京航空航天大學(xué)出版社,2001.8羅亞非.凌陽十六位單片機應(yīng)用基礎(chǔ)m. 北京:北京航天航空出版社,2001.9清源計算機工作室proteus軟件入門北京:機械工業(yè)出版社,200410侯玉寶. 基于proteus的51系列單片機設(shè)計與仿真.北京:電子工業(yè)出版社,2008.11 huang b, chen c. development of constant-power driving control for light-emitting-diode (led) luminaire j. applied thermal engineering, 2013-1.12
46、blazy s, leroy x. mechanized semantics for the clight subset of the c language j. journal of automated reasoning, 2009-3.13 leroy x. formal verification of a realistic compiler j. 美國計算機協(xié)會期刊, 2009-7.14 彭江. 單片機原理及接口技術(shù)的開發(fā) j. 軟件導(dǎo)刊 , 2011 .15 王俊. 基于8051的16128led點陣顯示屏的設(shè)計與仿真實現(xiàn)j.江西: 電子報 , 2009.附 錄1616的點陣led
47、電子圖文顯示屏的源程序采用匯編語言編寫,以下為用匯編語言編寫的字符顯示控制程序:org0000hajmpmainorg0030hmain:movdptr,#tab;字碼表初址賦值movr1,#00h;列制碼movr4,#96;移動“ ”及“單片機仿真”6個字符共96列cm:movr5,#5;每屏反復(fù)顯示5次movr3,#16;列數(shù)c1:movr2,#0;取碼指針c16:movp0,#00hmovp2,#00h;關(guān)顯示clrp3.0mova,r2movca,a+dptr;取當(dāng)前列顯示字碼的第一個字節(jié)movp0,a;送18行控制口incr2mova,r2movca,a+dptr;取當(dāng)前列的顯示字碼
48、的第二個字節(jié)movp2,a;送915行控制口incr2movp1,r1;送列控制碼incr1 acalld1ms;顯示2msacalld1msdjnzr3,c16;一屏16列是否顯示完movr3,#16djnzr5,c1;未顯示5次,繼續(xù)incdptr;一屏反復(fù)顯示5次完,字碼表初值加2incdptrdjnzr4,cm;96列未移動完,繼續(xù)ajmpmain;96列移動完,返回,重新從“ ”開始顯示d1ms:movr6,#2movr7,#248djnzr7,$djnzr6,$-4rettab:db 000h ,000h ,000h ,000h ,000h ,000h ,000h ,000h ,0
溫馨提示
- 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ù)緊力三元電芯膨脹應(yīng)力
- PCI術(shù)后患者手術(shù)的圍術(shù)期管理
- 滬教版九年級(初三)化學(xué)上冊:構(gòu)成物質(zhì)的基本微粒-課件1
- 2021年初一人教版下冊《黃河頌》原文及教案
- 2020年部編版八年級語文上冊期末試卷(附參考答案)
- 網(wǎng)絡(luò)金融服務(wù)咨詢合同
- 網(wǎng)絡(luò)營銷渠道選擇策略實戰(zhàn)培訓(xùn)
- 專題06(解決問題策略專項)-2024-2025學(xué)年四年級數(shù)學(xué)上學(xué)期期末備考真題分類匯編(江蘇專版)(學(xué)生版+解析)
- 網(wǎng)絡(luò)廣告投放與效果監(jiān)測服務(wù)合同
- 移動互聯(lián)網(wǎng)應(yīng)用開發(fā)項目合同
- 只爭朝夕不負(fù)韶華崗位競聘述職報告
- 農(nóng)場工作制度與農(nóng)民崗位職責(zé)
- 2024年山東公務(wù)員考試行測真題及解析【完美打印版】
- 田賽裁判法與規(guī)則2
- 社區(qū)心肺復(fù)蘇術(shù)普及
- 冬棗植保知識培訓(xùn)課件
- 校園突發(fā)事件與應(yīng)急管理課件
- 計算機網(wǎng)絡(luò)技術(shù)職業(yè)生涯規(guī)劃
- DR拼接技術(shù)及常規(guī)攝片注意事項
- 《股票入門》課件
- 《不為人知的間歇泉》課件
評論
0/150
提交評論