已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
西安電力高等??茖W校計算機工程_系_2010屆畢業(yè)設計(論文)題目LED顯示系統設計學號姓名專業(yè)計算機控制技術專業(yè)班級44071指導教師完成時間2010年6月日目錄摘要2第一章LED點陣顯示的背景和控制技術狀況211LED點陣顯示的背景312LED顯示的控制技術狀況3第二章開發(fā)環(huán)境簡介421單片機的發(fā)展422STC89C52的硬件結構5221STC89C52芯片引腳介紹5222STC89C52單片機的存儲器結構6223STC89C52單片機的輸入/輸出端口8224STC89C52單片機的復位電路1123VC60簡介1224KEILC51簡介12第三章點陣漢字編碼和漢字顯示原理1631漢字字模1632漢字顯示原理17第四章LED顯示系統硬件設計1841列掃描模塊1842硬件設計19第五章LED顯示系統軟件的設計2251設計流程2352軟件程序實現23第六章程序下載調試32設計總結35參考文獻36摘要隨著電子信息技術和智能化的不斷深入,人們的生活、工作等各個方面發(fā)生了巨大的變化。近些年,單片機的開發(fā)應用已成為高科技和工程領域的一項重要內容。因為它具有集成度高、體積小、功耗低、控制功能強、速度快、抗干擾能力強、易于開發(fā)等諸多優(yōu)點。因此,從導彈的導航裝置到飛機上各種儀表的控制;從計算機的網絡通訊與數據傳輸到工業(yè)自動化過程的實時控制和數據處理;以及我們生活中廣泛使用的各種智能IC卡、電子寵物等都離不開單片機。在發(fā)達國家單片機技術開發(fā)應用發(fā)展很快,并取得了明顯的經濟效益和社會效益。在我國,單片機的應有進展也很快,特別是在工業(yè)控制、通信、智能化儀器、儀表、產品自動化、分布式控制系統中已取得了可喜的成果。近幾年來我國LED顯示的相關技術也取得了較快和較大的發(fā)展,早期時曾因LED材料器件的限制,LED顯示屏的應用領域沒有廣泛展開,另一方面,顯示屏控制技術基本上是通信控制方式,客觀上影響了顯示效果。所以導致早期的LED顯示屏在國內很少,產品以紅、綠雙基色為主,控制方式為通信控制,灰度等級為單點四級調灰,產品的成本比較高。后來LED顯示屏迅速發(fā)展,進入九十年代,全球信息產業(yè)高速增長,信息技術各個領域不斷突破,LED顯示屏在LED材料和控制技術方面也不斷出現新的成果。藍色LED鏡片研制成功,全彩色LED顯示屏進入市場電子計算機及微電子領域的技術發(fā)展,在顯示屏控制技術領域出現了視頻控制技術,顯示屏的動態(tài)顯示效果大大提高。這個階段,LED顯示屏在我國發(fā)展迅速,LED顯示屏產業(yè)成為新興的高科技產業(yè)。今天,LED顯示屏應用領域更為廣闊。第一章LED點陣顯示的背景和控制技術狀況11LED點陣顯示的背景在當今現代信息化高速發(fā)展過程中,大屏幕顯示已經從公共信息展示等商業(yè)應用向消費多媒體類滲透。隨著寬帶網絡的發(fā)展,數字化的多媒體內容將在信息世界中占據主流,新型的大屏幕顯示設備將代替?zhèn)鹘y的電視機成為人們享受和多媒體內容的中心。與傳統顯示設備相比,這種未來的巨大需求讓大屏幕顯示技術成為眾人目光的焦點(1)、LED顯示屏色彩豐富,顯示方式變化多樣(圖形、文字、三維、二維動畫、電視畫面等)、亮度高、壽命長,是信息傳播設施化的產品。(2)、LED顯示屏是集光電子技術、微電子技術、計算機技術、信息處理技術于一體的高技術產品??捎脕盹@示文字、計算機屏幕同步的圖像。它以其超大畫面、超強視覺、靈活多變的顯示方式等獨具一格的優(yōu)勢成為目前國際上使用最廣泛的顯示系統。(3)、LED顯示屏廣泛應用在金融證券、銀行利率、商業(yè)廣告、文化娛樂等方面,有巨大的社會效益和豐厚的經濟效益。LED點陣顯示屏的發(fā)展歷史背景,其發(fā)展主要經歷了三個階段(1)、1990年以前LED顯示屏的成長時期。一方面,收LED燈材料的限制,LED顯示屏的應用領域沒有廣泛展開;另一方面,顯示屏控制技術基本上是通訊控制方式,客觀上影響了顯示效果。這一時期的LED在國外應用較廣,產品以紅、綠雙色為主,控制方式為通訊控制方式,灰度等級為4級調灰,成本較高。(2)、1990年1995年,這一段時LED迅速發(fā)展的時期,進入90年代,全球信息產業(yè)高速增長,信息技術各個領域不斷突破,LED顯示屏在LED材料和控制技術方面也不斷出現新成果。藍色LED晶研制成功、全色彩LED進入市場。電子計算機和微電子技術的發(fā)展,在顯示屏控制領域出現了視頻控制技術,顯示屏灰度等級實現16級灰度和64級灰度調灰,顯示屏的動態(tài)顯示效果大大提高,產品設計領域更加廣泛,特別是1993年的證券股票業(yè)的發(fā)展更引發(fā)了LED顯示屏市場的大幅增長,LED顯示屏在平板顯示領域的主流產品局面基本形成。LED技術產業(yè)成為新興的高科技產業(yè)。(3)、1995年以來,LED顯示屏的發(fā)展進入一個總體穩(wěn)步提高產業(yè)格局調整完善的時期。進入新世紀,光電子產業(yè)得到廣泛重視。中國加入WTO、北京申奧成功等成為LED顯示產業(yè)發(fā)展的契機。12LED顯示屏控制技術的情況顯示屏的控制系統包括輸入接口電路、信號控制、轉換和數字化處理電路及輸出接口電路等,涉及的技術很多,其關鍵技術包括串行傳輸與并行傳輸技術、動態(tài)掃描與靜態(tài)鎖存技術、自動檢測與遠程控制技術等。121串行傳輸與并行傳輸技術LED顯示屏的數據傳輸方式主要有串行和并行兩種。目前普遍采用串行控制技術。顯示屏每個單元內部的不同驅動電路和各級聯單元之間,每個時鐘僅傳送一位數據。采用這種方式的驅動IC種類較多,不同顯示單元之間的連線較少,可減少顯示單元的數據傳輸驅動元件,從而提高整個系統的可靠性和性價比。122動態(tài)掃描與靜態(tài)鎖存技術LED顯示屏控制系統實現顯示信息的刷新技術有動態(tài)掃描和靜態(tài)鎖存兩種方式。根據共用一行驅動寄存器的發(fā)光二極管像素數目,分為1/4,1/16掃描等。室外顯示屏基本上采用靜態(tài)鎖存技術,即每一個發(fā)光二極管都對應有一個驅動寄存器,無需分時工作,從而保證了每一個發(fā)光二極管的亮度占空比為100。動態(tài)掃描法可以大大減少控制器的I/O口,因此應用較廣。第二章STC89C52單片機簡介21單片機的發(fā)展單片機是單片微型計算機(SINGLECHIPMICROCOMPUTER)的簡稱。單片機是把微型計算機的各個功能部件(中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、I/O接口、定時/計數器以及串行通信接口)集成在一塊芯片上,構成一個完整的計算機。其發(fā)展經過了以下幾個階段(1)、1971年INTEL公司首次推出4位機。(2)、1976年INTEL公司推出8位機。(3)、1980年INTER公司推出MCS51單片機,其后INTER、PHILIPS、SIEMENS、ATMEL等公司相繼推出名目繁多的單片機。(4)、1983年INTER公司推出16位機。(5)、20世紀末32位單片機已進入使用階段。22STC89C52的硬件結構221STC89C52芯片引腳介紹STC89C52是一種低功耗、高性能CMOS8位微控制器,其基本特征如下1)、8位CPU,含片內振蕩器。2)、4KB的程序存儲器ROM3)、128B的數據存儲器RAM4、64KB的外部程序存儲器尋址能力。5)、64KB外部數據存儲器尋址能力。6)、32根輸入輸出(I/O)線。7)、2個16位定時、計數器。8)、1個全雙工異步串行口。9)、21個特殊功能寄存器。10)、5個中斷源、2個優(yōu)先級。11)、具有位尋址功能。其內部主要由片內RAM1288、片內ROM4K8、串行口、定時器、P0P3組成的I/O端口以及由運算器和控制器組成的中央處理器組成。其中,中央處理器(CPU)、存儲器(ROM和RAM)和輸入輸出端口這三部分則由內部總線緊密的聯系在一起??梢钥闯觯瑔纹瑱C的組成與一般微型計算機是相同的。以下是單片機的外部引腳及其功能40個引腳按其功能可分為以下三部分1)、電源及時鐘引腳VCC(40腳)接5V電源;VSS(20腳)接地。XTAL1(19腳)接外部晶體的一個腳。在單片機內部,它是一個反相放大器的輸入端。這個放大器構成了片內振蕩器。當采用外接晶體振蕩器時,此引腳應接地。XTAL2(18腳)接外部晶體的另一端,在單片機內部接反相放大器的輸出端。若采用外部振蕩器時,該引腳接收振蕩器的信號,即把此信號直接接入內部時鐘發(fā)生器的輸入端。2)、控制引腳RST/VPD(9腳)當振蕩器運行時,在此引腳外加上兩個機器周期的高電平將使單片機復位(RST)。掉電期間,此引腳可接上備用電源(VPD),以保持內部RAM的數據。ALE/PROG30腳黨訪問單片機外部存儲器時,ALE(地址鎖存允許)輸出脈沖的負跳沿用于16位地址的低8位的鎖存信號。即使不訪問外部鎖存器,ALE仍然有正脈沖信號輸出,此頻率約為時鐘振蕩頻率的1/6。PSEN(29腳)此腳的輸出是單片機訪問外部程序存儲器的讀選通信號。再由外部程序存儲器取指令(或常數)期間,每個機器周期PSEN兩次有效。但在此期間,每當訪問外部數據存儲器時(即從程序存儲器取來的指令是MOVX類指令),這兩次有效的PSEN信號將不出現。EA/VPP(31腳)當EA端保持高電平時,單片機訪問內部程序存儲器,當EA保持低電平時,則只訪問外部程序存儲器,不管是否有內部程序存儲器。222STC89C52單片機的存儲器結構STC89C52的存儲器可劃分為五類1)、程序存儲器用于存放編好的程序和表格常數。在MCS51指令系統中,同外部程序存儲器打交道的指令僅有兩條MOVCA,ADPTRMOVCA,APC2、內部數據存儲器MCS51單片機的內部數據存儲器在物理上和邏輯上都分為兩個地址空間,即數據存儲器空間(低128單元);特殊功能寄存器空間(高128單元);這兩個空間是相連的,從用戶角度而言,低128單元才是真正的數據存儲器。下面我們就來詳細的與大家講解一下低128單元片內數據存儲器為8位地址,所以最大可尋址的范圍為256個單元地址,對片外數據存儲器采用間接尋址方式,R0、R1和DPTR都可以做為間接尋址寄存器,R0、R1是8位的寄存器,即R0、R1的尋址范圍最大為256個單元,而DPTR是16位地址指針,尋址范圍就可達到64KB。也就是說在尋址片外數據存儲器時,尋址范圍超過了256B,就不能用R0、R1做為間接尋址寄存器,而必須用DPTR寄存器做為間接尋址寄存器。從上圖中我們可以看到,8051單片機片內RAM共有256個單元(00HFFH),這256個單元共分為兩部分。其一是地址從00H7FH單元(共128個字節(jié))為用戶數據RAM。從80HFFH地址單元(也是128個字節(jié))為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結構分布。A、通用寄存器區(qū)(00H1FH)在00H1FH共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以R0R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0R7,那么在程序中怎么區(qū)分和使用它們呢聰明的INTEL工程師們又安排了一個寄存器程序狀態(tài)字寄存器(PSW)來管理它們,CPU只要定義這個寄存的PSW的D3和D4位(RS0和RS1),即可選中這四組通用寄存器。對應的編碼關系如下表所示。惹程序中并不需要用4組,那么其余的可用做一般的數據緩沖器,CPU在復位后,選中第0組工作寄存器。B、位尋址區(qū)(20H2FH)片內RAM的20H2FH單元為位尋址區(qū),既可作為一般單元用字節(jié)尋址,也可對它們的位進行尋址。位尋址區(qū)共有16個字節(jié),128個位,位地址為00H7FH。C、用戶RAM區(qū)(30H7FH)在片內RAM低128單元中,通用寄存器占去32個單元,位尋址區(qū)占去16個單元,剩下的80個單元就是供用戶使用的一般RAM區(qū)了,地址單元為30H7FH。D、特殊功能寄存器特殊功能寄存器(SFR)的地址范圍為80HFFH。在MCS51中,除程序計數器PC和四個工作寄存器區(qū)外,其余21個特殊功能寄存器都在這SFR塊中。其中5個是雙字節(jié)寄存器,它們共占用了26個字節(jié)。各特殊功能寄存器的符號和地址見附表2。其中帶號的可位尋址。特殊功能寄存器反映了8051的狀態(tài),實際上是8051的狀態(tài)字及控制字寄存器。用于CPUPSW便是典型一例。這些特殊功能寄存器大體上分為兩類,一類與芯片的引腳有關,另一類作片內功能的控制用。與芯片引腳有關的特殊功能寄存器是P0P3,它們實際上是4個八位鎖存器(每個I/O口一個),每個鎖存器附加有相應的輸出驅動器和輸入緩沖器就構成了一個并行口。MCS51共有P0P3四個這樣的并行口,可提供32根I/O線,每根線都是雙向的,并且大都有第二功能。其余用于芯片控制的寄存器中,累加器A、標志寄存器PSW、數據指針DPTR等的功能。223STC89C52單片機的輸入/輸出端口8051有4組8位I/O口P0、P1、P2和P3口,P1、P2和P3為準雙向口,P0口則為雙向三態(tài)輸入輸出口,下面我們分別介紹這幾個口線P0口和P2口圖為P0口和P2口其中一位的電路圖,由圖可見,電路中包含一個數據輸出鎖存器和兩個三態(tài)數據輸入緩沖器,另外還有一個數據輸出的驅動和控制電路。這兩組口線用來作為CPU與外部數據存儲器、外部程序存儲器和I/O擴展口,而不能象P1、P3直接用作輸出口。它們一起可以作為外部地址總線,P0口身兼兩職,既可作為地址總線,也可作為數據總線。如下圖P2口作為外部數據存儲器或程序存儲器的地址總線的高8位輸出口AB8AB15,P0口由ALE選通作為地址總線的低8位輸出口AB0AB7。外部的程序存儲器由PSEN信號選通,數據存儲器則由WR和RD讀寫信號選通,因為21664K,所以8051最大可外接64KB的程序存儲器和數據存儲器。P1口右圖為P1口其中一位的電路圖,P1口為8位準雙向口,每一位均可單獨定義為輸入或輸出口,當作為輸入口時,1寫入鎖存器,Q非0,T2截止,內上拉電阻將電位拉至“1“,此時該口輸出為1,當0寫入鎖存器,Q非1,T2導通,輸出則為0。作為輸入口時,鎖存器置1,Q非0,T2截止,此時該位既可以把外部電路拉成低電平,也可由內部上拉電阻拉成高電平,正因為這個原因,所以P1口常稱為準雙向口。需要說明的是,作為輸入口使用時,有兩種情況,其一是首先是讀鎖存器的內容,進行處理后再寫到鎖存器中,這種操作即讀修改寫操作,象JBC邏輯判斷、CPL取反、INC遞增、DEC遞減、ANL與邏輯和ORL邏輯或指令均屬于這類操作。其二是讀P1口線狀態(tài)時,打開三態(tài)門G2,將外部狀態(tài)讀入CPU。P3口的電路如下圖所示,P3口為準雙向口,為適應引腳的第二功能的需要,增加了第二功能控制邏輯,在真正的應用電路中,第二功能顯得更為重要。由于第二功能信號有輸入輸出兩種情況,我們分別加以說明。P3口的輸入輸出及P3口鎖存器、中斷、定時/計數器、串行口和特殊功能寄存器有關,P3口的第一功能和P1口一樣可作為輸入輸出端口,同樣具有字節(jié)操作和位操作兩種方式,在位操作模式下,每一位均可定義為輸入或輸出。我們著重討論P3口的第二功能,P3口的第二功能各管腳定義如下P30串行輸入口RXDP31串行輸出口TXDP32外中斷0INT0P33外中斷1INT1P34定時/計數器0的外部輸入口T0P35定時/計數器1的外部輸入口T1P36外部數據存儲器寫選通WRP37外部數據存儲器讀選通RD對于第二功能為輸出引腳,當作I/O口使用時,第二功能信號線應保持高電平,與非門開通,以維持從鎖存器到輸出口數據輸出通路暢通無阻。而當作第二功能口線使用時,該位的鎖存器置高電平,使與非門對第二功能信號的輸出是暢通的,從而實現第二功能信號的輸出。對于第二功能為輸入的信號引腳,在口線上的輸入通路增設了一個緩沖器,輸入的第二功能信號即從這個緩沖器的輸出端取得。而作為I/O口線輸入端時,取自三態(tài)緩沖器的輸出端。這樣,不管是作為輸入口使用還是第二功能信號輸入,輸出電路中的鎖存器輸出和第二功能輸出信號線均應置“1”。P3口。224STC89C52單片機的復位電路單片機在啟動時都需要復位,以使CPU及系統各部件處于確定的初始狀態(tài),并從初態(tài)開始工作。89系列單片機的復位信號是從RST引腳輸入到芯片內的施密特觸發(fā)器中的。當系統處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如果RST引腳上有一個高電平并維持2個機器周期24個振蕩周期以上,則CPU就可以響應并將系統復位。單片機系統的復位方式有手動按鈕復位和上電復位1、手動按鈕復位手動按鈕復位需要人為在復位輸入端RST上加入高電平。一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當人為按下按鈕時,則VCC的5V電平就會直接加到RST端。手動按鈕復位的電路如所示。由于人的動作再快也會使按鈕保持接通達數十毫秒,所以,完全能夠滿足復位的時間要求。2、上電復位AT89C51的上電復位電路只要在RST復位輸入引腳上接一電容至VCC端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST端內部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1F。上電復位的工作過程是在加電時,復位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著VCC對電容的充電過程而逐漸回落,即RST端的高電平持續(xù)時間取決于電容的充電時間。為了保證系統能夠可靠地復位,RST端的高電平信號必須維持足夠長的時間。上電時,VCC的上升時間約為10MS,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHZ,起振時間為1MS;晶振頻率為1MHZ,起振時間則為10MS。在圖2的復位電路中,當VCC掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內部電路的限制作用,這個負電壓將不會對器件產生損害。另外,在復位期間,端口引腳處于隨機狀態(tài),復位后,系統將端口置為全“L”態(tài)。如果系統在上電時得不到有效的復位,則程序計數器PC將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。3、積分型上電復位常用的上電或開關復位電路上電后,由于電容C3的充電和反相門的作用,使RST持續(xù)一段時間的高電平。當單片機已在運行當中時,按下復位鍵K后松開,也能使RST為一段時間的高電平,從而實現上電或開關復位的操作。23VC60簡介VC60是MICROSOFT公司推出的一個基于WINDOWS系統平臺、可視化的集成開發(fā)環(huán)境,它的源程序按C語言的要求編寫,并加入了微軟提供的功能強大的MFCMICROSOFTFOUNDATIONCLASS類庫。MFC中封裝了大部分WINDOWSAPI函數和WINDOWS控件,它包含的功能涉及到整個WINDOWS操作系統。MFC不僅給用戶提供了WINDOWS圖形環(huán)境下應用程序的框架,而且還提供了創(chuàng)建應用程序的組件,這樣,開發(fā)人員不必從頭設計創(chuàng)建和管理一個標準WINDOWS應用程序所需的程序,而是從一個比較高的起點編程,故節(jié)省了大量的時間。另外,它提供了大量的代碼,指導用戶編程時實現某些技術和功能。因此,使用VC提供的高度可視化的應用程序開發(fā)工具和MFC類庫,可使應用程序開發(fā)變得簡單。24KEILC51簡介KEILC51是美國KEILSOFTWARE公司出品的51系列兼容單片機C語言軟件開發(fā)系統,與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。KEILC51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全WINDOWS界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到KEILC51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。UVISION2集成開發(fā)環(huán)境1)、項目管理工程PROJECT是由源文件、開發(fā)工具選項以及編程說明三部分組成的。一個單一的UVISION2工程能夠產生一個或多個目標程序。產生目標程序的源文件構成“組”。開發(fā)工具選項可以對應目標,組或單個文件。UVISION2包含一個器件數據庫DEVICEDATABASE,可以自動設置匯編器、編譯器、連接定位器及調試器選項,來滿足用戶充分利用特定微控制器的要求。此數據庫包含片上存儲器和外圍設備的信息,擴展數據指針EXTRADATAPOINTER或者加速器MATHACCELERATOR的特性。UVISION2可以為片外存儲器產生必要的連接選項確定起始地址和規(guī)模。2)、集成功能UVISION2的強大功能有助于用戶按期完工。A集成源極瀏覽器利用符號數據庫使用戶可以快速瀏覽源文件。用詳細的符號信息來優(yōu)化用戶變數存儲器。B文件尋找功能在特定文件中執(zhí)行全局文件搜索。C工具菜單允許在V2集成開發(fā)環(huán)境下啟動用戶功能。D可配置SVCS接口提供對版本控制系統的入口。EPCLINT接口對應用程序代碼進行深層語法分析。FINFINEON的EASYCASE接口集成塊集代碼產生。GINFINEON的DAVE功能協助用戶的CPU和外部程序。DAVE工程可被直接輸入UVISION2編輯器和調試器1)、源代碼編輯器UVISION2編輯器包含了所有用戶熟悉的特性。彩色語法顯像和文件辯識都對C源代碼進行和優(yōu)化??梢栽诰庉嬈鲀日{試程序,它能提供一種自然的調試環(huán)境,使你更快速地檢查和修改程序。2)、斷點UVISION2允許用戶在編輯時設置程序斷點(甚至在源代碼未經編譯和匯編之前)。用戶啟動V2調試器之后,斷點即被激活。斷點可設置為條件表達式,變量或存儲器訪問,斷點被觸發(fā)后,調試器命令或調試功能即可執(zhí)行。在屬性框ATTRIBUTESCOLUMN中可以快速瀏覽斷點設置情況和源程序行的位置。代碼覆蓋率信息可以讓你區(qū)分程序中已執(zhí)行和未執(zhí)行的部分。3)、調試函數語言UVISION2中,你可以編寫或使用類似C的數語言進行調試。A內部函數如PRINTF,MEMSET,RAND及其它功能的函數。B信號函數模擬產生CPU的模擬信號和脈沖信號SIMULATEANALOGANDDIGITALINPUTSTOCPU。C用戶函數擴展指令范圍,合并重復動作。4)、變量和存儲器用戶可以在編輯器中選中變呈來觀察其取值。雙層窗口顯示,可進行以下調整A當前函數的局部變量B用戶在兩個不同WATCH窗口頁面上的自定義變量C堆棧調用CALLSTACK頁面上的調用記錄(樹)CALLTREED不同格式的四個存儲區(qū)C51編譯器KEILC51編譯器在遵循ANSI標準的同時,為8051微控制器系列特別設計。語言上的擴展能讓用戶使用應用中的所有資源。1)、存儲器和特殊功能寄存器的存取C51編譯器可以實現對8051系列所有資源的操作。SFR的存取由SFR和SBIT兩個關鍵字來提供。變量可旋轉到任一個地址空間。用關鍵字AT還能把變量放入固定的存儲器存儲模式(大,中,?。Q定了變量的存儲類型。連接定位器支持的代碼區(qū)可達32個,這就允許用戶在原有64KROM的8015基礎上擴展程序。在V2的編譯器和許多高性能仿真器中,可以支持應用程序的調試。2)、中斷功能C51允許用戶使用C語言編寫中斷服務程序,快速進、出代碼和寄存器區(qū)的轉換功能使C語言中斷功能更加高效。可再入功能是用關鍵字來定義的。多任務,中斷或非中斷的代碼要求必須具備可再入功能。3)、靈活的指針C51提供了靈活高效的指針。通用指針用3個字節(jié)來存儲存儲器類型及目標地址,可以在8051的任意存儲區(qū)內存取任何變量。特殊指針在聲明的同時已指定了存儲器類型,指向某一特定的存儲區(qū)域。由于地址的存儲只需12字節(jié),因此,指針存取非常迅速。測試程序UVISION2調試器具備所有常規(guī)源極調試,符號調試特性以及歷史跟蹤,代碼覆蓋,復雜斷點等功能DDE界面和SHIFT語言支持自動程序測試1)、和外設模擬裝置UVISION2為8051及衍生產品提供了高速模擬功能和片上擴展口在對話框內可直接觀察和修改值,也可以用預裝的CLIKE宏指令書寫符號函數來提供動態(tài)輸入。2)、目標監(jiān)控器UVISION2含一個可配置的監(jiān)控器,可測試目標器件上的軟件體。監(jiān)控器用UVISION2的調試器直接工作,可支持代碼區(qū)。它要求目標系統具備6字節(jié)堆棧空間,6KB的代碼和256字節(jié)XDATARAM。3)、MCB517/251啟動工具包在開始一項8051工程時,MCB啟動工具會對你有很大幫助。每一個啟動工具包括一套2K字節(jié)的開發(fā)工具和許多可快速運行的舉例程序。用戶可在檢測8051性能的同時,查看開發(fā)工具的可行性。MCB517AC板含高性能INFINEONC517A單片機,它提供標準8052外圍設備和A/D轉換器,PWM,搜索比較,8位數據指針,一個高速運算單元。同時包含對81C90CAN控制器和代碼區(qū)的支持。第三章點陣漢字編碼和漢字顯示原理31漢字字模我們以UCDOS中文宋體字庫為例,每一個字由16行16列的點陣組成顯示。即國標漢字庫中的每一個字均由256點陣來表示。我們可以把每一個點理解為一個像素,而把每一個字的字形理解為一幅圖像。事實上這個漢字屏不僅可以顯示漢字,也可以顯示在256像素范圍內的任何圖形。用8位的AT89C51單片機控制,由于單片機的總線為8位,一個字需要拆分為2個部分。一般我們把它拆分為上部和下部,上部由816點陣組成,下部也由816點陣組成。在本例中單片機首先顯示的是左上角的第一列的上半部分,即第0列的P00P07口。方向為P00到P07,顯示漢字“大”時,P05點亮,由上往下排列,為P00滅,P01滅,P02滅P03滅,P04滅,P05亮,P06滅,P07滅。即二進制00000100,轉換為16進制為04H。上半部第一列完成后,繼續(xù)掃描下半部的第一列,為了接線的方便,我們仍設計成由上往下掃描,即從P27向P20方向掃描,從上圖可以看到,這一列全部為不亮,即為00000000,16進制則為00H。然后單片機轉向上半部第二列,仍為P05點亮,為00000100,即16進制04H這一列完成后繼續(xù)進行下半部分的掃描,P21點亮,為二進制00000010,即16進制02H依照這個方法,繼續(xù)進行下面的掃描,一共掃描32個8位,可以得出漢字“大”的掃描代碼為04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出它的掃描代碼從而顯示在屏幕上。但在國標16漢字庫里,漢字的代碼是橫向取得的,所以在編寫漢字提取程序時要將所要顯示的漢字通過矩陣轉置編程轉換成與硬件電路圖相符的代碼,即轉換成以以上方法取出來的字模代碼。因此可以得到“大“的掃描代碼如下大DB0X04,0X00,0X04,0X02,0X04,0X02,0X04,0X04DB0X04,0X08,0X04,0X30,0X05,0XC0,0XFE,0X00DB0X05,0X80,0X04,0X60,0X04,0X10,0X04,0X08DB0X04,0X04,0X0C,0X06,0X04,0X04,0X00,0X0011111111111111111111111111111111111111111由這個原理可以看出,無論顯示何種字體或圖像,都可以用這個方法來分析出他的掃描代碼從而顯示在屏幕上。32字模提取原理使用漢字的點陣顯示,需要提取漢字字模。漢字的點陣字模是從點陣字庫文件中提取出來的。例如常用的1616點陣HZKL6文件,1212點陣HZKL2文件等等,下面以HZKL6文件為例,分析取得漢字點陣字模的方法。HZKL6文件是按照GB231280標準,也就是通常所說的國標碼或區(qū)位碼的標準排列的。國標碼分為94個區(qū),每個區(qū)94個位,所以也稱為區(qū)位碼。其中OL09區(qū)為符號、數字區(qū),1687區(qū)為漢字區(qū)。而1015區(qū)、8894區(qū)是空白區(qū)域。在計算機處理漢字和ASCII字符時,使每個ASCII字符占用1個字節(jié),而一個漢字占用兩個字節(jié),其值稱為漢字的內碼。其中第一個字節(jié)的值為區(qū)號加上3220H,第二個字節(jié)的值為位號加上3220H。為了與ASCII符區(qū)別開,表示漢字的兩個字節(jié)的最高位都是1,也就是兩個字節(jié)的值都又加上了12880H。這樣,通過漢字的內碼,就可以計算出漢字的區(qū)位碼。它與區(qū)位碼的關系為高字節(jié)一160區(qū)碼,低字節(jié)一160位碼再由區(qū)位碼獲得漢字字模。根據區(qū)號和位號可以得到漢字字模在文件中的位置起始地址位置94區(qū)碼一1位碼一1一個點陣字模的字節(jié)數使用16“16點陣。字模中每一點使用一個二進制位BIT表示,如果是1,則說明此處有點,若是0,則說明沒有。這樣,一個1616點陣的漢字總共需要16“16832個字節(jié)表示。字模的表示順序為先從左到右,再從上到下,也就是先畫左上方的8個點,再是右上方的8個點,然后是第二行左邊8個點,右邊8個點,依此類推,畫滿16“16個點,例如上面的“大“字就是這樣提取出來的。第四章LED顯示系統硬件設計41列掃描模塊本設計的列掃描驅動電路采用74HC154芯片實現。本芯片是一個有24個引腳的416譯碼器。該譯碼器采用先進的CMOS技術,并適合內存地址譯碼和數據路由應用。它抗噪聲能力強,低功耗,并與低電壓TTL電路兼容。其管腳圖如下引腳說明如下1111317輸出端。(OUTPUTSACTIVELOW)12GND電源地(GROUND0V)1819使能輸入端ENABLEINPUTSACTIVELOW2023地址輸入端ADDRESSINPUTS24VCC電源正POSITIVESUPPLYVOLTAGE其輸入、輸出對應表如下其中H高電平(HIGHVOLTAGELEVEL)L低電平(LOWVOLTAGELEVEL)X任意電平(DONTCARE)只要控制端G1、G2任意一個為高電平,A、B、C、D任意電平輸入都無效。42硬件設計本產品采用以STC89C52單片機為核心芯片的電路來實現,主要由AT89C51芯片、時鐘電路、復位電路、列掃描驅動電路74HCL54、1616LED點陣5部分組成,如圖1所示。其中,AT89C51是一種帶4KB閃爍可編程可擦除只讀存儲器FALSHPROGRAMMABLEANDERASABLEREADONLYMEMORY,FPEROM的低電壓、高性能CMOS型8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,工業(yè)標準的MCS一5L指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進行1000次寫擦循環(huán),數據保留時間為10年。他是一種高效微控制器,為很多嵌人式控制系統提供了一種靈活性高且價廉的方案。因此,在智能化電子設計與制作過程中經常用到AT89C51芯片。時鐘電路由AT89C5L的18,19腳的時鐘端XTAIL及XTAL2以及12MHZ晶振X、電容C2、C3組成,采用片內振蕩方式。復位電路采用簡易的上電復位電路,主要由電阻R,R2,電容C,開關K組成,分別接至AT89C51的RST復位輸入端。LED點陣顯示屏采用1616共256個象素的點陣,可通過萬用表檢測發(fā)光二極管的方法測試判斷出該點陣的引腳分布。我們把行列總線接在單片機的I0口,然后把上面分析到的掃描代碼送入總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入89S51單片機,則需要使用32條I0口,這樣會造成I0口資源的耗盡,系統也再無擴充的余地。因此,我們在實際應用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由416線譯碼器74HCL54來選擇控制,這樣一來列選控制只使用了單片機的4個IO口,節(jié)約了很多IO口資源,為單片機系統擴充使用功能提供了條件??紤]到P0口必需設置上拉電阻,我們采用47K排電阻作為上拉電阻。漢字掃描顯示的基本過程是這樣的通電后由于電阻R,電容C1的作用,使單片機的RST復位腳電平先高后低,從而達到復位;之后,在C、C3、X以及單片機內部時鐘電路的作用下,單片機89C51按照設定的程序在P0和P2接口輸出與內部漢字對應的代碼電平送至LED點陣的行選線高電平驅動,同時在P11,P12,P13,P14接口輸出列選掃描信號低電平驅動,從而選中相應的象素LED發(fā)光,并利用人眼的視覺暫留特性合成整個漢字的顯示。再改變取表地址實現漢字的滾動顯示。其硬件線路圖和實物連接圖如下實物連接圖在實物連線圖中,P1口的P10P14接列選信號,其中P10接譯碼器的G2信號、P11、P12、P13、P14分別接譯碼器的A、B、C、D端。P0、P2口控制行選信號。由USB口轉串口提供電源。第五章LED顯示系統軟件的設計51設計流程圖主程序的流程圖如下圖所示開始設1幀顯示時間設片選信號及其數字指針查漢字上部數據及其顯示查漢字下部數據及其顯示延時100MS關顯示并調整指針是否顯示完漢字1幀時間是否到結束NNYY52軟件程序實現1)、在漢字庫中提取漢字程序/1616點陣漢字庫轉LED點陣/INCLUDEINCLUDEUNSIGNEDCHARS9,B3VOIDCHANGE2_16INTI0,J0,K1,RESULT0FORI7I0IIFSI1RESULT1KMAT2IJK1ELSEMAT2IJKJ1FORK0KKMAT2IJK71ELSEMAT2IJK7/對1616點陣數組轉置/FORI0I0IIPRINTF“C“,BIIFPRINTFF,“C“,BIIPRINTF“,0X“FPRINTFF,“,0X“K0SKMAT3IJKIFJ16FORII1II0IIPRINTF“C“,BIIFPRINTFF,“C“,BIIIFI140/每輸出8個16進制數換一行/PRINTF“H“PRINTF“N“FPRINTFF,“N“ELSEPRINTF“,0X“FPRINTFF,“,0X“K0/在顯示器上顯示轉置后漢字點陣PRINTF“N“FPRINTFF,“N“FORI0I16IFORJ0J16JPRINTF“C“,MAT3IJFPRINTFF,“C“,MAT3IJPRINTF“N“FPRINTFF,“N“FCLOSEFPRINTF“繼續(xù)進行嗎(Y/N)“IFGETCHARN|GETCHARNBREAKRETURN12)、用匯編實現控制點陣的程序ORG0000HAJMPLOOPORG0030HHZSEQU0E0H控制漢字個數的變量LOOPMOVA,0FFH開機初始化,清除畫面MOVP0,A清除P0口ANLP2,00H清除P2口MOVR2,200D100MSMOVR3,250延時100毫秒DJNZR3,DJNZR2,D100MSMOV20H,00H取碼指針的初值L100MOVR1,60每個字的停留時間L16MOVR6,16每個字16個碼MOVR4,00H掃描指針清零MOVR0,20H取碼指針存入R0L3MOVA,R4掃描指針存入AMOVDPTR,TABLE1MOVCA,ADPTRMOVP1,A掃描輸出INCR4掃描指針加1,掃描下一個MOVA,R0取碼指針存入AMOVDPTR,TABLE2取數據表的上半部分的代碼MOVCA,ADPTRMOVP0,A輸出到P0INCR0取碼指針加1,取下一個碼。MOVA,R0MOVDPTR,TABLE2取數據表下半部份的代碼MOVCA,ADPTRMOVP2,A輸出到P2口INCR0MOVR3,02掃描1毫秒DELAY2MOVR5,248DJNZR5,DJNZR3,DELAY2MOVA,0FFH清除屏幕MOVP0,AANLP2,00HDJNZR6,L3一個字16個碼是否完成DJNZR1,L16每個字的停留時間是否到了MOV20H,R0取碼指針存入20HCJNER0,HZS,L100N個字3232N個碼是否完成LCALLZUOYI調用左移子程序LCALLYOUYIJMPLOOP反復循環(huán)/左移子程序/ZUOYIMOVR7,00HMOVA,0FFH開機初始化,清除畫面MOVP0,A清除P0口ANLP2,00H清除P2口MOVR2,200D100MS1MOVR3,250延時100毫秒DJNZR3,DJNZR2,D100MS1MOV20H,00H取碼指針的初值L1001MOVR1,40每個字的停留時間L161MOVR6,16每個字16個碼MOVR4,00H掃描指針清零MOVR0,20H取碼指針存入R0L31MOVA,R4掃描指針存入AMOVDPTR,TABLE1MOVCA,ADPTRMOVP1,A掃描輸出INCR4掃描指針加1,掃描下一個MOVA,R0取碼指針存入AMOVDPTR,TABLE2取數據表的上半部分的代碼MOVCA,ADPTRMOVP0,A輸出到P0INCR0取碼指針加1,取下一個碼。MOVA,R0MOVDPTR,TABLE2取數據表下半部份的代碼MOVCA,ADPTRMOVP2,A輸出到P2口INCR0MOVR3,02掃描1毫秒DELAY21MOVR5,248DJNZR5,DJNZR3,DELAY21MOVA,0FFH清除屏幕MOVP0,AANLP2,00HDJNZR6,L31一個字16個碼是否完成DJNZR1,L161每個字的停留時間是否到了INCR7INCR7MOV20H,R7取碼指針存入20HCJNER0,HZS,L1001N個字3232N個碼是否完成/右移子程序/YOUYIMOVR7,HZSMOVA,0FFH開機初始化,清除畫面MOVP0,A清除P0口ANLP2,00H清除P2口MOVR2,200D100MS2MOVR3,250延時100毫秒DJNZR3,DJNZR2,D100MS2MOV20H,00H取碼指針的初值L1002MOVR1,40每個字的停留時間L162MOVR6,16每個字16個碼MOVR4,00H掃描指針清零MOVR0,20H取碼指針存入R0L32MOVA,R4掃描指針存入AMOVDPTR,TABLE1MOVCA,ADPTRMOVP1,A掃描輸出INCR4掃描指針加1,掃描下一個MOVA,R0取碼指針存入AMOVDPTR,TABLE2取數據表的上半部分的代碼MOVCA,ADPTRMOVP0,A輸出到P0INCR0取碼指針加1,取下一個碼。MOVA,R0MOVDPTR,TABLE2取數據表下半部份的代碼MOVCA,ADPTRMOVP2,A輸出到P2口INCR0MOVR3,02掃描1毫秒DELAY22MOVR5,248DJNZR5,DJNZR3,DELAY22MOVA,0FFH清除屏幕MOVP0,AANLP2,00HDJNZR6,L32一個字16個碼是否完成DJNZR1,L162每個字的停留時間是否到了DECR7DECR7MOV20H,R7取碼指針存入20HCJNER0,00H,L1002N個字3232N個碼是否完成TABLE1DB0XE0,0XE2,0XE4,0XE6,0XE8,0XEA,0XEC,0XEEDB0XF0,0XF2,0XF4,0XF6,0XF8,0XFA,0XFC,0XFE列掃描字碼TABLE2書DB0X00,0X80,0X10,0X80,0X10,0X80,0X10,0X80DB0X10,0X80,0X10,0X80,0XFF,0XFF,0X10,0X80DB0X10,0X80,0X10,0X80,0X1F,0X84,0X40,0X82DB0X20,0X84,0X30,0XF8,0X00,0X00,0X00,0X00山DB0X00,0X00,0X0F,0XFE,0X00,0X04,0X00,0X04DB0X00,0X04,0X00,0X04,0X00,0X04,0XFF,0XFCDB0X00,0X04,0X00,0X04,0X00,0X04,0X00,0X04DB0X00,0X04,0X0F,0XFE,0X00,0X00,0X00,0X00有DB0X
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022年工作參考總結月度工作參考總結報告
- 2024年甘肅民族師范學院馬克思主義基本原理概論期末考試題附答案解析(奪冠)
- 2025年三原縣幼兒園教師招教考試備考題庫含答案解析(必刷)
- 信息化項目可行性研究報告編制指南
- 2025年貴陽職業(yè)技術學院單招職業(yè)傾向性考試題庫附答案解析
- 2025年外交學院馬克思主義基本原理概論期末考試模擬題附答案解析(奪冠)
- 2025年天津渤海職業(yè)技術學院單招綜合素質考試題庫附答案解析
- 2025年江西婺源茶業(yè)職業(yè)學院單招綜合素質考試題庫帶答案解析
- 2025年乾縣幼兒園教師招教考試備考題庫帶答案解析(奪冠)
- 2024年重慶電力職工大學馬克思主義基本原理概論期末考試題帶答案解析(必刷)
- 質量管理體系內審流程及表單
- 劍南春市場管理辦法
- (2025)新版gcp考試題庫附答案
- it項目采購管理制度
- 2025年四川省成都市中考英語真題(附答案解析)
- 2025貴州省專業(yè)技術人員繼續(xù)教育公需科目考試題庫(2025公需課課程)
- 《電影制作流程》課件
- 工程股東協議合同
- 幼兒園入園合同協議
- 技術服務合同模板樣本范本2024年
- 2024版鋁錠采購合同
評論
0/150
提交評論