




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、PAGE PAGE 4河南技術學院畢業設計(論文)題 目 單片機在LED滾動顯示上的設計 系(分院) 機械電子工程系 學生姓名 學 號 專業名稱 機電一體化 指導教師 2012年3月10日河南職業技術學院機械電子工程系(分院)畢業設計(論文)任務書姓 名專 業機電一體化班 級畢業設計(論文)題 目單片機在LED滾動顯示上的設計畢業設計(論文)選題的目的與意義 點陣式LED顯示技術是近幾年發展較快的顯示技術之一,其抗干擾能力強等特點使得其在戶外廣告、公共告示等方面得到了廣泛的應用,因此研究點陣式LED顯示屏接口與控制技術具有較高的實際應用價值。畢業設計(論文)的資料收集情況(含指定參考資料) =
2、 1 * GB3 胡健, 劉玉賓. 定時/計數器,單片機原理與接口技術M. 北京: 機械工業出版社, 2005. 向繼文, 廖立新. 基于80C51的LED系統設計J. 機電產品開發與創新, 2007, 20 (2): 6263. 范立南. 單片機原理及應用教程M北京: 北京大學出社, 2006.畢業設計(論文)工作進度計劃2011.11.2 接受畢業論文任務書,根據要求在圖書館查閱相關書籍并通過互聯網收集相關資料2011.11.13 論證開題2011.11.25 論文提綱檢查2011.12.10 論文前期檢查2011年12月25日 交初稿,并在老師的指導下修改和完善初稿2012年1月6日 進
3、一步完善后,交定稿接受任務日期 2011年11月10日要求完成日期 2012 年 3月10日學 生簽名: 2012年 月 日指導教師簽名:年 月 日 系(分院)主任(院長)簽名:年 月 日畢業設計(論文)指導教師評閱意見表姓 名學 號性 別專 業機電一體化班 級畢業設計(論文)題 目單片機在LED滾動顯示上的設計評閱意見 成績指導教師簽字年 月 日畢業設計(論文)答辯意見表姓 名錢李寧學 號09111061性 別女專 業機電一體化班 級機電092畢業設計(論文)題 目單片機在LED滾動顯示上的設計答辯時間地 點答辯小組成員姓 名職 稱學 歷組 長成 員秘 書答辯小組意見 答 辯 成 績:答辯小
4、組組長簽名:年 月 日 河南職業技術學院 PAGE 25PAGE 27 單片機在LED滾動顯示上的應用 摘要:LED顯示屏是一種通過控制半導體發光的顯示方式,它是由很多個紅色的發光二極管組成,靠燈的亮滅來顯示字符。LED顯示屏分為數碼顯示屏、圖文顯示屏和視頻顯示頻。均由LED矩陣塊組成。目前由于LED顯示屏造價昂貴,主要應用于比較較高檔的場所,主要集中在城市的繁華場所。在舉辦的2010年上海世博會未來各項大項運動賽事等新增需求,都將促使LED顯示屏的大規模發展。此外,已架設的大型LED顯示屏幕梅10年將歷經一次換機潮,隨著人們生活水平的提高,戶外LED顯示屏將逐漸應用于各個行業。本設計主要實現
5、16*16LED顯示屏對文字及簡單圖像的顯示,擴展功能有實時鐘及實時溫度采集,并通過LCD1602及LED點陣屏靜態及滾動顯示。設計分為三大步,分別是軟件設計,硬件仿真及實物制作,兼顧理論性及實用性,充分體現了理論與實踐相結合,設計過程中不僅學到了很多有用的知識,也增長了自己的專業技能,提高了自己的動手能力。 關鍵字: LED 顯示屏 發光二極管 半導體 引言隨著電子技術和信息技術的迅速發展,LED的應用范圍越來越廣泛。它作為一個重要的宣傳平臺,已經受到全社會的普遍認可和廣泛使用。如今,它幾乎成為各個廣場和大型超市的必備品。然而這些功能的實現離不開單片機的功勞。單片機是一種微型處理器,負責數據
6、的接收、發送和處理的工作。LED顯示屏則可以顯示變化的數字、文字、圖形和圖像等。它不僅可以用于室內環境還可以用于室外環境,具有投影儀、電視墻、液晶顯示屏等無法比擬的優點1。點陣顯示器的特點是可以按照實物所需要的大小、形狀和顏色進行組合,用單片機控制實行各種文字或圖形的變化,達到廣告宣傳和提示的目的。一、系統的硬件部分設計本設計主要采用單片機及其周邊芯片,設計點陣LED與單片機的接口電路。(一)、設計要求1、通過對80C51單片機的C語言編程,實現漢字的左移滾動顯示。2、成本低,功能強,設計明了化實用化。3、動態顯示過程的仿真成果中沒有明顯的抖動。(二)、設計基本方案為使該模塊化的點陣式LED顯
7、示屏控制系統使用更加方便,并具有較高的靈活性和視覺舒適性,我對系統的硬件做了非常精心的設計4。本設計的硬件電路包括:主控單片機模塊、譯碼器選擇數據模塊、LED顯示模塊這三大模塊??傮w組成框圖如圖2.1所示。譯碼器LED顯示模塊主控單片機送斷碼值到顯示模塊驅動顯示模塊圖2.1 總體結構框圖圖2.1 簡略的描述了系統的結構,本系統先由主控單片機來控制譯碼器進行位選,然后再將段碼的值通過主控單片機的I/O口送往LED顯示模塊進行漢字的顯示。(三)、硬件電路芯片介紹該設計主要介紹LED顯示電路所采用的主要芯片,如單片機80C51,譯碼器74LS138。此外,還簡要闡述了選取這些芯片的優點。1、單片微型
8、計算機簡介單片微型計算機(Single Chip Micro Computer)簡稱單片機,它是一種把組成微型計算機的各功能部件:中央處理單元CPU、一定容量的隨機存儲器RAM和只讀存儲器ROM、I/O接口電路、定時器/計數器以及串行口等制作在一塊芯片中的計算機,從而實現微型計算機的基本功能5。單片機具有結構簡單、控制功能強、可靠性高、體積小、價格低等特點,在家用電器、智能化儀器、工業控制以及火箭導航尖端技術領域都發揮著十分重要的作用6。單片機的內部結構示意圖如下圖2.2所示。 單片機 接口電路及外設等 + + 軟 件 單片機應用系統 圖2.2 單片機內部結構示意圖 圖2.3 單片機應用系統組
9、成示意圖單片機實質上是一個芯片,在實際應用中通常很難直接把單片機和受控對象進行電氣連接,而是必須外加各種擴展接口電路以至外部設備,連同受控對象和單片機程序軟件構成一個單片機應用系統。單片機應用系統是以單片機為核心,配以輸入、輸出、顯示、測量和控制等外圍電路和軟件能實現一種或多種功能的實用系統。單片機應用系統的組成示意圖如上圖2.3所示。2、系統芯片的選擇 方案一:8031芯片內部無ROM,需要外擴程序存儲器,由此造成電路焊接的困難,況且使用8031還需要另外購買其他的芯片,從而造成成本比較高,且性價比低。方案二:80C51芯片內部有ROM,且片內ROM全部采用Flash ROM,它能夠在3V的
10、超低壓工作,與51系列單片機完全兼容。因此,本設計選擇80C51芯片。3、主控制單片機80C51是一種高性能CMOS8位微處理器,俗稱 HYPERLINK /view/1012.htm t _blank 單片機,它帶有4K字節閃爍可編程可擦除 HYPERLINK /view/132973.htm t _blank 只讀存儲器(FPEROMFlash Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱 HYPERLINK /view/1012.htm t _blank 單片機。單片機的可擦除只讀存儲器可以反復擦除100
11、次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的80C51是一種高效微控制器, 80C2051是它的一種精簡版本。80C51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案8。80C51引腳即外觀如圖2.4所示。圖2.4 80C51引腳外觀圖4、80C51接口說明Vss(20腳):接地。VCC(40腳):主電源+5V。XTAL1(19腳):接外部晶體的一端。在片內它是振蕩電路反相放大器的輸入端。在采用外部時鐘時,對于HMOS單片機,該端引腳必須接地;對于CHMOS單片
12、機,此引腳作為驅動端。XTAL2(18腳):接外部晶體的另一端。在片內它是個振蕩電路反相放大器輸出端,振蕩電路的頻率是晶體振蕩頻率。若需采用外部時鐘電路,對于HMOS單片機,該引腳輸入外部時鐘脈沖;對于CHMOS單片機,此引腳應懸浮。RST(9腳):單片機剛剛接上電源時,其內部各寄存器處于隨機狀態,在該腳輸入24個時鐘周期寬度以上的高電平將使單片機復位。PSEN(29腳):在訪問片外程序存儲器時,此端輸出負脈沖作為存儲器讀選通信號。CPU在向片外存儲器取指令期間,PSEN信號在12個時鐘周期中兩次生效。不過,在訪問片外數據存儲器時,這兩次有效PSEN信號不出現。PSEN端同樣可驅動8個LSTT
13、L負載。我們根據PSEN、ALE和XTAL2輸出端是否有信號輸出,可以判別80C51是否在工作。ALE/(30腳):地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在Flash編程時,此引腳()也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可以用來作為外部定時器或時鐘使用。然而,特別強調,在每次訪問外部數據存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執行MOVX或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR
14、的第0位)的設置對微控制器處于外部執行模式下無效。EA/VPP(31腳):當EA端輸入高電平時,CPU從片內程序存儲器地址0000H單元開始執行程序。當地址超出4KB時,將自動執行片外程序存儲器的程序。當EA輸入低電平時,CPU僅訪問片外程序存儲器。在對87C51EPROM編程時,此引腳用于施加編程電壓VPP。輸入/輸出引腳:(1) P0.0P0.7(39腳32腳)。(2) P1.0P1.7(1腳 8 腳)。(3) P2.0P2.7(26腳21腳)。(4) P3.0P3.7(10腳17腳)。80C51單片機P3口的第二功能如表2.1所示。表2.1 80C51單片機P3口第二功能引腳號第二功能P
15、3.0RXD(串行輸入線)P3.1TXD(串行輸出線)P3.2(外部中斷0輸入線)P3.3 (外部中斷0輸入線)P3.4T0(定時器0外部計數脈沖輸入)P3.5T1(定時器1外部計數脈沖輸入)P3.6(外部數據存儲器寫選通信號輸出)P3.7(外部數據存儲器寫選通信號輸出)一個16*16的點陣顯示系統由單片機80C51,74LS138,1個16*16的LED點陣模塊,單片機的時鐘復位電路和P0口的上拉電阻組成。16*32的點陣顯示電路由單片機80C51,4個74LS138和2個16*16的LED點陣模塊組成。該電路所設計的電子屏可顯示多個漢字,并實現左移滾動。(四)、LED點陣制作 HYPERL
16、INK /view/52538.htm t _blank LED(Light Emitting Diode),50年前人們已經了解半導體材料可產生光線的基本知識,第一個商用二極管產生于1960年。LED是英文Light Emitting Diode(發光二極管)的縮寫,它的基本結構是一塊電致發光的半導體材料,置于一個有引線的架子上,然后四周用環氧樹脂密封,即固體封裝,所以能起到保護內部芯線的作用,所以LED的抗震性能好9。點陣式LED的顯示采用逐列掃描方式。工作時,由單片機取出第一列需要顯示的內容經延時一段時間后再進行下一列點陣數據的顯示。需要注意的是,每次只能選通一列數據,即要通過不斷的逐列
17、掃描變換來實現漢字或字符的顯示。1、顯示模塊的選擇方案一:點陣顯示,是由八行八列的發光二極管集成在一塊電路上組成,主要用來顯示漢字,同時也能顯示數字和少量圖像。而且程序簡單,顯示的效果比較清晰。方案二:LED數碼管靜態顯示,電路容易理解且驅動的程序簡單,多片七段譯碼器驅動顯示,這不僅增加了成本,還需要占用單片機多個I/O口,也給電路的焊接帶來一定的困難,因此不選用這種方案作為顯示模塊。經過兩種方案的比較,最后選擇方案一:LED的點陣顯示。2、LED驅動模塊的選擇方案一:采用靜態鎖存方式,將每一個LED發光管的一端接至單片機的一個I/O口,另一端通過電阻接電源。這種方法可以直接驅動LED,原理簡
18、單,驅動能力強,LED的亮度也可以通過限流電阻調節,非常方便,但此種方法太浪費單片機的I/O口,只適合于較小的系統。方案二:采用動態掃描方式,通過三極管驅動并聯在一起的LED發光管的一端(共陰極或共2端),LED發光管的另一腳接通用I/O口,控制其亮滅。該方法能驅動較多的LED,控制方式較靈活,而且節省單片機的資源10。比較以上兩種方案,系統設計中采用方案二。3、主要芯片74LS138的介紹譯碼器是組合邏輯電路的一個重要的器件,芯片74LS138為 3線8線譯碼器, 74LS138譯碼器的引腳(管腳)如下圖2.5所示。圖2.5 74LS138的引腳圖所謂譯碼,就是將每一組代碼的含意翻譯出來的過
19、程。譯碼是編碼的逆過程。廣泛被使用的譯碼器是74LS138譯碼器,因此該設計中采用74LS138且其作用也就是將一組碼轉換為想要的確定的信息。74LS138為3線8線譯碼器,共有54/74S138和54/74LS138 兩種線路結構型式。其工作原理:當一個選通端(E3)為高電平,另兩個選通端(E1和E2)為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應的輸出端以低電平的方式譯出。利用E1、E2和E3可級聯擴展成一個24線的譯碼器;若外接一個反相器還可以級聯擴展成為32線譯碼器。若將選通端中的一個作為數據的輸入端時,74LS138還可作 HYPERLINK /view/990217.h
20、tm t _blank 數據分配器。假設地址端的值為001,那么則說明其/Y1輸出口是有效的,且其輸出值為10111111。假設地址端的值為010,那么則說明其/Y2輸出口是有效的,且其輸出值為11011111。假設地址端的值為011,那么則說明其/Y2輸出口是有效的,且其輸出值為11101111。在該畢業設計中,由于單片機中的P2口只有八個數據線,顯然不夠三十二個數據使用。因此,74LS138譯碼器在此是用于擴展數據的輸入端的。4個74LS138譯碼器正好一共有三十二個輸出端口,于是就對應了LED顯示屏中的三十二個列選端。滿足了16*32點陣式LED顯示屏的列需求。74LS138譯碼器引腳功
21、能如表2.2所示。表2.2 74LS138譯碼器功能表 輸 入輸 出S1S2+S3ABC01111111111111111110000011111111000110111111100101101111110011111011111010011110111101011111101110110111111011011111111110(五)、16*16 LED點陣顯示制作我們以Version1.0字模精靈為例,每一個漢字由一個16行16列的點陣組成顯示。即國標漢字庫中的每一個字均由256點陣來表示。1、16*16 LED點陣的內部結構及工作原理我們可以把每一個點理解為一個像素,而把每一個字的字形理
22、解為一幅圖像。事實上這個漢字屏幕不僅可以顯示漢字,也可以顯示在256像素范圍內的任何圖形。這里我們以“尚”字說明,如圖2.6所示。 圖2.6 “尚”字顯示圖用8位的80C51單片機控制,由于單片機的總線為8位,一個字需要拆分為2個部分。在此我們把它拆分為上部和下部,上部由8*16點陣組成,下部也由8*16點陣組成。在本例中單片機首先顯示的是左上角的第一列的上半部分,即第0列的P00P07口。方向為P00到P07,顯示漢字“學”時,由上往下排列,為P00亮,P01滅,P02滅,P03滅,P04滅,P05滅,P 06滅,P 07 滅。即二進制10000000,轉換為16進制為 80H。第一列的上半
23、部完成后,繼續掃描第一列的下半部,為了接線的方便,我們仍設計成由上往下掃描,從上圖可以看到,這一列全部為不亮,即為00000000,16進制則為00H。 然后單片機轉向第二列的上半部,P01點亮,為01000000,即16進制40h.這一列完成后繼續進行下半部分的掃描,P20點亮,為二進制00000001,即16進制01H。依照這個方法,繼續進行下面的掃描,一共掃描32個8位,可以得出漢字“尚”的掃描代碼為: 080H,000H, 040H,001H, 067H,0FFH,034H,004H 01CH,008H, 015H,0FCH,007H,030H,0FDH,050H 005H,090H,
24、 00DH,050H, 017H,0F8H,064H,012H 02CH,009H, 017H,0FEH, 020H,002H,040H,001H由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。不過現在有很多現成的漢字字模生成軟件,就不必去畫表格算代碼了。打開字模,設定一下輸出方式, 輸入漢字后,再單擊“取?!薄JM制數據的漢字代碼即可自動生成,把我們所需要漢字代碼復制到我們的C程序中即可,如下圖2.7所示。圖2.7 漢字字模生成圖(六)、硬件系統的整體設計圖與原理分析硬件系統的整體設計圖如下圖2.8所示。圖2.8 硬件系統的整體設計圖原理分
25、析:Proteus 7.4軟件中只有8*8和5*7等LED點陣,所以需要由小的LED屏拼接成一個大的LED顯示屏。上圖的LED顯示部分是由8個8*8的點陣構成整體的16*32點陣屏,可以同時顯示兩個漢字(或4個英文字母)。要注意的是:在Proteus7.4軟件中,由于點陣塊數太多,所以其接線比較的復雜。此處采用以上接線方式,把8個LED點陣屏以“一共兩行,每行4個”的方式緊湊連接在一起,隱藏了那些錯綜復雜的連線,使我們在視覺上覺得更清新,更一目了然。原理圖中,拼接后的點陣式LED顯示屏采用的是逐列掃描的工作方式。將事先已經編寫好的C語言程序輸入到單片機中,80C51單片機的P2口的P2.0口至
26、P2.2口連接4個74LS138(3線8線)譯碼器的輸入端,再由4組8個相應的輸出端,與連接LED顯示屏對應的列端相連,用來選中所要顯示的字符的列。單片機的P0口負責輸入所要顯示的第一個字的代碼信息,P1口負責輸入所要顯示的第二個字的代碼信息。然后又由P0口負責輸入所要顯示的第二個字的代碼信息,P1口負責輸入所要顯示的第三個字的代碼信息,這樣在我們的視覺上就感覺字是在連續著在向左移動了。這樣依次類推,所有的字都能連續的左移著顯示出來。另外,在對單片機進行校驗時,P0口須接上10K左右的上拉電阻,就是上圖中的RP1電阻。對于74LS138譯碼器U2來說,其中E1端必須為高電平才能有效,也就是說此
27、時譯碼器才能正常工作。E2和E3端是低電平有效,用來接地端。其余的3個譯碼器的原理都是這樣。 (七)、小結本章節主要介紹了設計中硬件電路用到的單片機80C51芯片的總體結構和各個重要引腳的功能、顯示電路中主要器件74LS138譯碼器的各個引腳及其功能、以及整體設計結構框圖的講解和具體實現字符的連續左移顯示的詳細分析。二、系統的軟件部分設計應用系統中的應用軟件是根據系統功能要求而設計的,能可靠地實現系統的各種功能。 (一)、程序設計思路與結構系統采用模塊化結構,包括主程序、延時程序、顯示子程序。1、程序設計思路計算機按照給定的程序,逐條執行指令,以完成某項規定的任務。因此,使用計算機必須編寫出計
28、算機能執行的程序,用簡短的C語言程序進行設計,實現與計算機的通訊,能方便改動顯示的內容,使顯示內容能夠一個接一個的左移滾動慢慢的顯示。由單片機80C51的P2口輸出進行片選。片選1有效時,將所要顯示的漢字的段碼值送給P0,P1。驅動相應段點亮。直到送完16個段碼就可以顯示一個漢字了。2、程序設計流程圖系統程序主要由開始、初始化、主程序、字庫等組成。其中主程序和子程序的流程圖如圖3.1和圖3.2所示。Y開始初始化調用顯示程序調整數據指針是否顯示完圖3.1 主程序流程圖對圖3.1主程序流程圖的簡要分析如下:首先“開始”,然后對整個系統進行初始化,之后調用相應的顯示程序,之后開始調整一下數據的指針,
29、判斷此時需要顯示的字符是否已經顯示完畢。如果已經顯示完畢就返回到系統“初始化”的時刻繼續進行接下來的流程,如果沒有顯示完畢則返回到“調用顯示程序”的時刻繼續接著的流程。開始設一幀顯示時間關閉顯示并調整指針設片選及數據指針查漢字上部數據及顯示查漢字下部數據及顯示延時1ms結束是否顯示完漢字一幀時間是否到NNYY圖3.2 顯示程序流程圖對圖3.2顯示程序流程圖的簡要分析如下:首先開始,之后設定顯示一幀字符所用的時間,然后設定片選指針以及數據指針,然后查找相應的漢字或字符的上部數據及顯示,接著查找查相應的漢字或字符的下部數據及顯示,然后對整個系統延時1ms,之后關閉之前顯示的字符內容并調整相關數據的
30、指針,此時判斷需要顯示的字符是否顯示完畢。若沒有顯示完畢,則返回到“設片選及數據指針”處進行重新工作流程;若已經顯示完畢,則判斷此時一幀的時間是否完畢。如果時間沒有完畢,則返回至“設定一幀顯示時間”處重新設定該時間;反之整個系統程序結束完成。(二)、 模塊程序設計該設計中主要由系統初始化、LED動態顯示、漢字顯示程序設計以及顯示設計幾個部分組成。1、系統初始化將事先已經編寫好的C語言程序輸入到單片機中,80C51單片機的P2口的P2.0口至P2.2口連接4個74LS138(3線8線)譯碼器的輸入端,再由4組8個相應的輸出端,與連接LED顯示屏對應的的列端相連,用來選中所要顯示的字符的列。對于7
31、4LS138譯碼器U2來說,其中E1端必須為高電平才能有效,也就是說此時譯碼器才能正常工作。E2和E3端是低電平有效,用來接地端。其余的3個譯碼器的原理都是這樣。 2、LED動態顯示此次設計理論顯示結果為在顯示屏上,漢字按照從右向左的順序一個個顯示。設計時可采用如下方法:首先將LED顯示屏對應的顯示緩沖區全部清零,即 LED顯示空白,然后通過延時程序來設定各個字符的動態顯示時間,顯示緩沖區依次加入一個漢字點陣數據并進行掃描顯示,這樣就可達到動態顯示的效果12。 單片機的P0口負責輸入所要顯示的第一個字的代碼信息,P1口負責輸入所要顯示的第二個字的代碼信息。然后又由P0口負責輸入所要顯示的第二個
32、字的代碼信息,同時P1口來負責輸入所要顯示的第三個字的代碼信息,這樣在我們的視覺上就感覺字是在連續著在向左移動了。這樣依次類推,所有的字都能連續的左移著顯示出來。3、漢字顯示程序設計打開“字模提取伴侶”軟件,設定一下參數設置,即:選擇C51格式,字節倒序,冗余格式,縱向取模。 這樣輸入單個的漢字后,再單擊“取模”。此時十六進制數據的漢字代碼即可自動生成,把我們所需要漢字代碼復制到我們的C語言程序中就可以了13。從字模提取伴侶中得到需要顯示漢字的代碼值。如“余境成”的代碼為:unsigned char code ziku= /字符碼的存放格式為:從左到右共16列,并按列的上下部分依次存放 /一組
33、即為一列/*轉換字符 余 */0 x01,0 x00,0 x01,0 x00,0 x02,0 x80,0 x04,0 x40,0 x08,0 x20,0 x10,0 x10,0 x2F,0 xEE,0 xC1,0 x04,0 x01,0 x10,0 x3F,0 xF8,0 x01,0 x00,0 x09,0 x20,0 x19,0 x18,0 x21,0 x0C,0 x45,0 x04,0 x02,0 x00,/*轉換字符 境 */0 x20,0 x80,0 x20,0 x48,0 x27,0 xFC,0 x21,0 x10,0 x20,0 xA4,0 xFF,0 xFE,0 x20,0 x0
34、8,0 x23,0 xFC,0 x22,0 x08,0 x23,0 xF8,0 x22,0 x08,0 x3B,0 xF8,0 xE1,0 x20,0 x41,0 x22,0 x02,0 x22,0 x0C,0 x1E,/*轉換字符 成 */0 x00,0 x80,0 x00,0 xA0,0 x00,0 x90,0 x3F,0 xFC,0 x20,0 x80,0 x20,0 x80,0 x20,0 x84,0 x3E,0 x44,0 x22,0 x48,0 x22,0 x48,0 x22,0 x30,0 x2A,0 x20,0 x24,0 x62,0 x40,0 x92,0 x81,0 x0A
35、,0 x00,0 x06;4、顯示設計漢字顯示的原理:漢字的顯示主要是通過將需要顯示的漢字的段碼值送入顯示模塊而完成的。首先從字模軟件中得到需要顯示漢字的段碼值。while (1) for (i=0;i8;i+) /顯示左半邊屏幕 P0=*(p+offset+2*i); P2=i|0 x08; /P2.4=0,P2.3=1 選中U2, 輸出掃描碼給U6 delay(); P0=*(p+offset+2*i+1); P2=i|0 x10; /P2.4=1,P2.3=0 選中U3, 輸出掃描碼給U7 delay(); for (i=8;i16;i+) /顯示右半邊屏幕 P0=*(p+offset+
36、2*i); P2=(i-8)|0 x20; /P2.5=1 P2.4=0, P2.3=0 選中U4,輸出掃描碼U8 delay(); P0=*(p+offset+2*i+1); P2=(i-8)|0 x40; /P2.6=1 P2.5=0, P2.4=0 選中U5,輸出掃描碼U9 delay(); (三)、小結本章主要介紹了軟件設計中的主程序和顯示程序的流程圖以及對其內容的簡要介紹,以及相關的軟件程序,并最終達到所要求的LED顯示結果。三、系統仿真Proteus內容全面包括其能實驗的內容包括軟件部分的匯編、C51 等語言的調試過程,也包括硬件接口電路中的大部分類型。對同一類功能的接口電路,可以
37、采用不同的硬件來搭建完成,因此采用Proteus 仿真軟件進行實驗教學,克服了用單片機實驗教學板教學中硬件電路固定、學生不能更改、實驗內容固定等方面的局限性,可以擴展學生的思路和提高學生的學習興趣。(一)、仿真環境介紹Proteus是目前最好的模擬單片機外圍器件的工具,它可以仿真51系列、AVR,PIC等常用的MCU及其外圍電路(如LCD,RAM,ROM,鍵盤,馬達,LED,AD/DA,部分SPI器件,部分IIC器件)14。當然,軟件仿真精度有限,而且不可能所有的器件都找得到相應的仿真模型,用開發板和仿真器當然是最好選擇,可是對于單片機愛好者,或者簡單的開發應該是比較好的選擇。Proteus與
38、其它單片機仿真軟件不同的是,它不僅能仿真單片機CPU的工作情況,也能仿真單片機外圍電路或沒有單片機參與的其它電路的工作情況。因此在仿真和程序調試時,關心的不再是某些語句執行時單片機寄存器和存儲器內容的改變,而是從工程的角度直接看程序運行和電路工作的過程和結果。對于這樣的仿真實驗,從某種意義上講,是彌補了實驗和工程應用間脫節的矛盾和現象。KeilC51是美國KeilC Software公司出品的51系列兼容單片機C語言軟件開發系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C來開發,體會更加深刻。KeilC5軟件提供豐富的庫函數和功能強
39、大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KeilC51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。(二)、仿真過程與結果利用以上兩種軟件,就可以進行仿真了。這里以一個16*32點陣漢字顯示為例說明。1、繪制電路圖運行PROTEUS的ISIS程序后,進入該仿真軟件的主界面。在工作前,要設置VIEW菜單下的捕捉對齊和SYSTEAM下的顏色、圖形界面大小等項目。通過工具欄中的P (從庫中選擇元件命令)命令,在PICK DEVICES窗口中選擇電路所需的元件,放置元件并調整其相
40、對位置,元件參數設置,元器件間連線,將電路圖繪制完畢。2、HEX文件的生成利用KEIL51生成HEX文件。具體方法如下:(1) 打開單片機軟件開發系統KEIL uVision,單擊“uVision”菜單中的“PROJECT”,在此下拉菜單中單擊“NEW PROJECT”后。彈出“CREAT NEW PROJECT”對話框。鍵入新建項目名稱。(2) 鍵入新建項目名并單擊“確定后”,在彈出的“SELECT DEVICE”對話框中選擇合適的單片機型號,如80C51。(3) 單擊“uVision”菜單中的“FILE”,在此下拉菜單中選擇“NEW”后,打開一個空的文本編輯口,在此窗口總鍵入程序,創建新的
41、源程序“一個16*16點陣漢字顯示.C”(如是匯編語言程序的話為“一個16*16點陣漢字顯示.ASM)文件。(4) 在左邊的“PROJECT”窗口的“FILE”頁中單擊文件組,再單擊鼠標右鍵后,在彈出的窗口中選中“ADD FILES TO GROUP” “SOURCE GROUP1”選項,將“一個16*16點陣漢字顯示.C”程序導入到“SOURCE GROUP 1”中。(5) 在“PROJECT”下拉菜單中,選擇“OPTIONS FOR TARGET”對話框,在此對話框中“OUTPUT”選項卡中的“CREAT HEX FILE”選項。(6) 在“PROJECT”下拉菜單中,選擇“REBUILD ALL TARGET FILES”項。若程序編譯成功,將生產“一個16*16點陣漢字顯示.HEX”文件。3、調試與結果 在PROTEUS ISIS編輯窗口中,單擊鼠標右鍵選中單片機80
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 風電場項目未來發展潛力分析報告
- 2025年有機飾扣項目可行性研究報告
- 課題開題報告:自適應學習情境下調節厭倦情緒的反饋策略研究
- 2025年員工三級安全培訓考試試題完整答案
- 心理咨詢師的實踐反思能力提升試題及答案
- 健康管理師考試知識點回顧試題及答案
- 鐵路安全意識培訓
- 2024年系統架構設計師考試考點分析試題及答案
- 人力資源管理師考試多維度考試介紹試題及答案
- 臨床執業醫師考試新技術探討試題及答案
- 海南省省直轄縣級各縣區鄉鎮行政村村莊村名明細居民村民委員會
- 簡約喜慶元宵節介紹模板 教學課件
- 西藏林芝嘉園小區項目可研(可研發)
- 喪假證明模板
- summary-writing-概要寫作-優質課件
- 按期取得畢業證和學位證承諾書
- T∕CIC 049-2021 水泥窯用固體替代燃料
- 部編版高中語文必修下冊第八單元《單元導讀》教學設計
- 第五章 學校教育的主要活動形式:課堂教學
- 大會—冠脈微循環障礙
- 《辦公自動化》教學教案
評論
0/150
提交評論