




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
PAGE10學科分類號0806本科生畢業論文(設計)題目(中文):LED點陣顯示屏驅動器的設計與實現(英文):TheDesignandImplementationofLEDDotMatrixDisplayDriver本科畢業論文(設計)誠信聲明作者鄭重聲明:所呈交的本科生論文(設計),是在指導老師的指導下,獨立進行研究所取得的成果,成果不存在知識產權爭議。除文中已近注明引用的內容外,論文不含任何其他個人或集體已經發表或撰寫過的成果。對論文的研究做出重要貢獻的個人和集體均已在文中以明確的方式標明。本聲明的法律結果由作者承擔。本科生論文(設計)作者簽名:年月日PAGE29目錄摘要 III關鍵詞 IIIAbstract IIIKeywords IV1引言 12總體設計方案 32.1設計任務與要求 32.2.1基本要求 42.2.2發揮部分 43系統硬件設計 43.1整體電路 43.2AT89S52單片機最小系統 63.3標準08接口 73.4鍵盤模塊 93.5LED顯示模塊 93.6列驅動模塊 103.7行驅動模塊 114系統軟件設計 124.1顯示驅動程序 124.2漢字字模的提取方法 134.3程序流程圖 144.4顯示子程序 165系統調試與分析 185.1硬件調試 185.2軟件調試 196總結 20參考文獻 21致謝 23附錄 24附錄A實物顯示效果圖 24附錄B主程序 24LED點陣顯示屏驅動器的設計與實現摘要本文設計了一個以整機為美國ATMEL公司生產的40腳單片機AT89S52[1]為控制核心,以一個64*32點陣模塊控制器,根據標準的08控制接口要求,可以驅動市面上常見的16掃單色顯示屏,顯示漢字、英文、阿拉伯數字及其他信息等。同時通過調用HZK16*16標準漢字庫文件讀取字模的方法,把漢字從上位機發送到LED顯示屏控制卡上。整個系統提供外部擴展,包括常規點陣控制器模塊。該系統實現了1/16掃描驅動電路等功能,并能通過PC機串口修改程序對顯示信息進行控制更新,具有刷新速度快、亮度高、功耗低等特點。關鍵詞LED點陣控制器;AT89S52;1/16掃;08接口TheDesignandImplementationofLEDDotMatrixDisplayDriverAbstractThispaperhasdesignedamachinebasedonthemodelwhichisproducedbyATMELcompanyintheUnitedStateswitha40feetMCUAT89S52asthecontrolcore,[1]anda64*32dotmatrixmodulecontroller,soaccordingtotherequirementsofthestandard08controlinterface,italsocandrivethecommononthemarketof16monochromedisplay,displayChinesecharacter,English,ArabicNumbers,andotherinformation,etc.Atthesametime,byadoptingthemethodofreadingChinesecharactersfromtheHZK16*16standarddocuments,andtheChinesecharactersfromtheuppermachinesenttoLEDdisplaycontrolcard,theentiresystemalsoprovidestheexternalexpansion,includingregularlatticecontrollermodule.Thissystemhasrealizedthefunctionofupdatingthecontrollingof1/16scandrivercircuit,anditalsoobtainsotherfunctions,suchas,andwithafastershuabing,ahigherbrighterandalowerenergy-needandwaste,etc.KeywordsLEDdotmatrixcontroller;89S52;1/16sweep;08Interface1引言LED(light
emitting
diode,發光二極管)是六十年代末發展起來的一種半導體顯示器件。七十年代,隨著半導體材料合成技術、單晶制造技術和P一結形成技術的研究進展,發光二極管在發光顏色、亮度等性能方面得以提高,并迅速進入批量化和實用化。進入八十年代后,LED在發光波長范圍和性能方面大大提高,并開始形成平面顯示產品即LED顯示屏。由于LED具有發光率高、使用壽命長、組態靈活、工作性能穩定以及在室內室外適應力強等優點,且LED顯示屏的最大特點是不受面積的限制,可以達到幾十甚至幾百平方米以上,應用于室內外各種公共場所顯示文字、圖形、動畫、視頻圖像等各種信息。LED顯示屏的應用涉及到社會經濟的許多領域,主要包括:機場、港口、車站旅客引導信息顯示;證券交易、金融信息顯示;郵政、電信、商場購物中心等服務領域的業務宣傳及信息顯示;道路交通信息顯示;高校教學管理信息發布顯示;文藝演出和體育比賽;室外產品廣告及信息發布。除單一大型戶內、戶外顯示屏作為廣告媒體外,國內一些城市還出現了集群LED顯示屏廣告系統。另外,自2000年后隨著高亮度LED產品亮度與效率增進,可攜式產品(如手機、PDA、數字相機等)大量使用作為產品屏幕或按鍵光源,配合可攜式產品市場成長,使得可攜式產品成為LED最大應用市場。隨著電子技術的發展,LED點陣書寫顯示屏是信息傳播一種重要手段,成為現代化社會的一個閃亮標志,它的廣泛應用將是一種趨勢。因此,在科技以日新月異的速度向前發展,經濟全球一體化的社會中,LED點陣顯示技術發展前景樂觀。作為一種新型的發光體,LED自誕生以來就倍受關注。特別是進入21世紀后,世界面臨嚴重的能源、環境危機,在發達國家,照明用電占總用電量的20%;我國的照明用電約占總用電量的12%,至2010年,我國照明用電將高達3000億度,相當于三峽水電站完工后的年發電量的3倍以上。而目前我國的發電主要還是依靠火力,對于環境的污染非常嚴重,這就需要改進現有的照明設備,提高其效率。而半導體照明作為新興的發光體,具有電光效率高、體積小、壽命長、電壓低、節能和環保等優點,是下一代照明的不二之選。根據各種照明器件的效率,可以得出,LED與傳統的白熾燈、日光燈相比,在電光效率、壽命上占有絕對的優勢,一旦在成本、光效上取得突破,將很快占領照明市場。因而,現今不管是國內還是國外我們都是圍繞先進的LED技術做進一步研究。目前我國的信息行業發展迅速,作為主要平面顯示媒介的LED顯示屏的作用也越練越廣泛,相關的從業人員也會越來越緊缺。但同時應該清楚的認識到我國的LED技術雖然發展迅速但和世界先進水平還有一定的差距。因此本設計課題不論是對自己的就業還是對我國LED顯示技術的發展都有非常現實與積極的意義。在設計本課題時本人查閱了大量的書籍和相關知識使我能夠掌握LED點陣顯示驅動的基本顯示原理和設計方法,對LED顯示屏這個行業有了較為深刻的了解和認識。并且對大學期間所學習的一些理論進行了實踐,使我對所學過的理論知識有了新的認識。并且通過本設計課題學習掌握AT89S52單片機的控制功能和用它作為主控單元完成許多設計目標的方法。熟悉AT89S52單片機軟件編程。且能掌握使用AD進行電路設計和制圖的方法步驟。為以后從事相關行業的工作積累了實際工作經驗。因此,學習LED點陣顯示驅動與工程技術很有必要。本文通過設計一個可顯示文字與圖形的64*32點陣控制器來學習和熟悉LED的使用。本文采用89S52單片機為核心,在軟件編程中采用C語言,顯示時采用點陣顯示。講述了LED點陣顯示驅動的基本原理、硬件組成與設計、程序編譯與下載等基本環節和相關技術。2總體設計方案2.1設計任務與要求本系統由AT89S52、16個74HC595[2]、16個74HC138[3]及LED顯示屏為核心組成的點陣式LED漢字顯示屏,主要由24MHZ晶振電路、復位電路、89S52單片機、點陣陽極驅動電路、點陣陰極驅動電路、64*32顯示屏6部分組成。采用的AT89S52單片機最小化應用設計,P1口作為I/O口,輸出行數據和控制信號,P2口作為I/O口,與“寫”控制信號配合,輸出列控制信號。LED顯示采用動態掃描方式實現,控制電路部分由4片74HC138和2片74HC595傳輸信號,傳輸出來的信號通過74HC595輸出,再通過編譯最終達到依次顯示漢字的目的。而接口部分,一般采用08接口,如果需要不同的接口類型,可以根據08接口為基礎進行轉接,這也是本系統采用08接口的原因之一。2.2設計要求2.2.1基本要求(1)顯示區域:64點*32點,單色;(2)通過上位機修改顯示內容;(3)能存儲16*16點陣漢字數不少于64個;(4)按鍵可改變顯示內容;(5)可兼容T12和T08顯示屏單元板。2.2.2發揮部分(1)LED顯示屏亮度連續可調;(2)實現信息的左右滾屏顯示,預存信息的的定時循環。3系統硬件設計3.1整體電路本系統由AT89S52、16個74HC595及LED顯示屏為核心組成的點陣式LED漢字顯示屏,主要由24MHZ晶振電路、復位電路、單片機、點陣陽極驅動電路、點陣陰極驅動電路、64*32顯示屏6部分組成。采用的AT89S52單片機最小系統設計,P1口作為I/O口,輸出行數據和控制信號,P2口作為I/O口,與“寫”控制信號配合,輸出列控制信號。LED顯示采用動態掃描方式實現,控制電路部分由4片74HC138和2片74HC595傳輸信號,傳輸出來的信號通過74HC595輸出,再通過編譯最終達到依次顯示漢字的目的。系統整體電路如圖3.1所示:圖3.1整體電路本設計一般使用的是開關電源,220V輸入,5V直流輸出。需要指出,由于LED顯示屏幕屬于精密電子設備,所以要采用開關電源[4],不能采用變壓器。對于1個單紅色戶內64*32的單元板,全亮的時候,電流為2A。選用的是條屏控制卡,可以控制1/16掃的64*32個點的單色屏幕,可以組裝出最有成本優勢的LED屏幕。該控制卡屬于異步卡,就是說,該卡可以斷電保存信息,不需要連接PC都可以顯示儲存在里面的信息。其中注意的問題是16PIN、08接口的接口順序為:ABCD為行選信號,STB(LT)為鎖存信號,CLK(CK)為時鐘信號,R1,R2,G1,G2為顯示數據,EN為顯示使能,N為地(GND)。只有當單元板和控制卡的接口一致時,才可以直接連接起來。如果不一致,就需要利用轉換線轉換一下線的順序。3.2AT89S52單片機最小系統單片機[5]也被稱作“單片機微型計算機”、“微控制器”,國際上采用“MCU”(MicroControllerUnit)稱呼單片機。單片機的發展的歷史大致可以分為4個階段。第一階段是單片機探索階段,主要探索如何把計算機的主要部件集成在單芯上;第二階段是單片機完善階段,完善了8位單片機的并行總線結構、外圍功能單元由CPU集中管理模式、體現控制特性的位地址空間和位操作方式、指令系統趨于豐富和完善,并且增加了許多突出控制功能的指令;第三階段是向微控制器發展的階段,說的是在51系列的基本結構的基礎上,加強了外圍電路的功能,突出了單片機的控制功能,將一些用測控對象的模數轉換器、數模轉換器、程序運行監視器、脈寬調制器等納入芯片中,體現單片機的微控制器特征;第四階段是單片機的全面發展階段,很多大半導體和電氣廠商都開始加入單片機的研制和生產,單片機世界出現了百花齊放,欣欣向榮的景象。隨著單片機在各個領域全面深入地發展和應用,出現了高速、大尋址范圍、強運算能力的8位、16位、32位通用型單片機,以及小型謙價的專用型單片機。目前,單片機正朝著高性能和多品種方向發展,今后單片機的發展趨勢將是進一步向著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路內裝等方面發展。最小系統包括AT89S52、晶體振蕩電路、復位開關。其中晶體振蕩電路[6]采用24MHZ,圖3.2為AT89S52單片機最小系統。圖3.2最小系統電路圖3.3標準08接口單元板輸入08接口[7]的接口定義如圖3.3所示:圖3.308接口ABCD是4個行選信號,實際上是用4個二進制位計數來實現的。A為最低位,D為最高位,從0記錄到15,板子上的2個138組成一個4-16譯碼器,會自動選通第0行和第15行。R0、R1、G0、G1分別是紅色和不亮的595的數據,SCK和LT分別是595的時鐘和鎖存,OE是整個單元板的顯示時能,OE為0時單元板暗亮,為1時高亮。OE是為了適應不同廠家的單元板信號的。一個單元板的寬和高的點數是64*32點,分上下兩個半屏,兩個半屏共用時鐘、鎖存和OE、R0、G0是上半屏數據,R1、G1是下半屏數據。從單元板的顯示面看,數據是從右側向左輸入,一行是64個點,也就是通過8個595控制,因為是單色,每個半屏是兩行595,整個屏是4行595。單元板控制卡工作順序:把顯示緩沖里的第一行紅色數據送往R0,顯緩的第8行紅色數據送往R1,每行是8個數據——>關閉OE使能——>行選選中第0行、LT鎖存——>開啟OE使能,9數據顯示。間隔一定時間3-5ms,重復以上循環,行選第1行,送第1行和第9行數據...間隔一定時間3-5ms,重復以上循環,行選第2行,送第2行和第10行數據...以此類推。3.4鍵盤模塊鍵盤、狀態顯示模塊:為了使軟件編程簡單,本設計利用可編程芯片8255。接法如圖一所示,PA口接按鍵,PC口則用用于控制狀態顯示所用LED點陣。每個按鍵都通過一個10K的上拉電阻接+VCC,按鍵的另一端接地。當有鍵按下時,與該鍵相連的PA口的相應位變為低電平,單片機檢測到該變化后即轉到相應是鍵處理程序,同時在程序中點亮LED點陣模塊電路如圖3.4。圖3.4鍵盤電路3.5LED顯示模塊點陣系統串行輸入,器件為移位寄存器TPIC6B595595[8],門控和掃描信號常以16點陣為一行進行并行處理。在點陣顯示中以4*8個LED點陣構成一個LED顯示單元,采用行共陽陰共列的編排方式。其驅動分為行列兩部分,分別來自于行、列移位寄存器,行數據是掃描數據,16行中每次只有一行被驅動,采用逐行掃描方式,列數據則為漢子的點陣碼。對于字符和圖形顯示也可以用點陣處理。其顯示原理和方法相同,如圖3.5。圖3.5LED顯示電路3.6列驅動模塊本設計采用了74HC595是LED列驅動芯片,8位移位鎖存器用于驅動顯示列,每片74HC595可以驅動8列,多片74HC595串接在一起,串行列數據信號RI(DATA)、鎖存信號STB、串行時鐘信號CLK都在這個芯片上。第8腳:GND,電源地。
第16腳:VCC,電源正極。
第14腳:DATA,串行數據輸入口,顯示數據由此進入,必須有時鐘信號的配合才能移入。
第13腳:EN,始能口,當該引腳上為“1”時QA~QH口全部為“1”,為“0”時QA~QH的輸出由輸入的數據控制。
第12腳:STB,鎖存口,當輸入的數據在傳入寄存器后,只有供給一個鎖存信號才能將移入的數據送QA~QH口輸出。
第11腳:CLK,時鐘口,每一個時鐘信號將移入一位數據到寄存器。由于要顯示64*32個單元,必須采用74HC595級聯的方式來實現,本設計兩片74HC595列驅動模塊級聯如下圖3.6所示:圖3.6兩片74HC595級聯3.7行驅動模塊32*64點陣屏共用16片138級聯,通過總線驅動芯片74LS254驅動行/列信號,從總線上的低4位輸出的行號經兩片138級聯后形成4/16線譯碼器后生成16條行選信號,再經過驅動管驅動對應的行線。一條線上要帶動32列的LED燈同時發光時,按每一LED器件15MA電流計算,32個LED同時發光時,需要480MA的電流,選用三極管8550作為驅動管可以滿足要求。74LS138為3線—8線譯碼器,其工作原理為:當一個選通端(E1)為高電平,另外兩個選通端E2和E3為低電平時,可將地址端(A0、A1、A2)的二進制編碼在Y0至Y7對應的輸出端以低電平譯出,當數據超過8位之后,電平拉高后可對16數據操作。四片級聯后的138電路如下圖3.7所示:圖3.7四片74HC138級聯4系統軟件設計4.1顯示驅動程序顯示驅動程序在進入中斷后,首先要對定時器T0重新賦值,以保證顯示刷屏新率的穩定,1/32掃描顯示屏的刷新率(幀頻)計算公式如下:刷新率(幀頻)=(式4.1)溢出率(式4.2)其中為fosc晶振頻率[9],t0為定時器T0初值(工作在32位定時器模式)。由公式可知,顯示屏刷頻新率由定時器T0的溢出率和單片機的晶振頻率決定,因此,我們調試時首先選定晶振頻率,然后給定不同的初值T0,只要能獲得24MHz以上的刷新頻率,就能連續穩定的顯示,而且刷新率越高,顯示越穩定,但會過多的占用CPU時間,實驗證明,24MHz晶振時刷新率達到50MHz以上,目測畫面基本無閃爍發生。4.2漢字字模的提取方法l6*16點陣漢字字庫可以在中文操作軟件(UCDOS)中找到現成的文件。一般漢字字庫均符合國家標準GB2312-80的規定。在漢字系統中使用機內碼形式存儲漢字,國標碼的最高位置l作為漢字的機內碼。而國標碼由兩個字節組成,其中高字節表示區,低字節表示位。國標碼和區位碼都有94個區,每個區又都有94個位。1-9區為圖形區,10-15區未規定,16-87區存放一、二級漢字庫。國標碼和區位碼的關系是:國標碼高字節=區碼+20H;國標碼低字節=位碼+20H。所以,機內碼與國標碼和區位碼的關系是:機內碼高字節=國標碼高字節+80H=區碼+A0H;機內碼低字節=國標碼低字節+80H=位碼+A0H。字模代碼按照區位碼的順序在字庫中以二進制格式存儲,每個漢字占用32個字節。因此只要找到漢字代碼的起始位置,就可正確提取漢字點陣信息。對于不同的字庫,漢字代碼起始位置的計算方法可能存在差異,例如HZK16若以ADDRESS表示首地址,Q表示區碼,W表示位碼,經分析和實踐得出HZK16中漢字首地址計算公式為:ADDRESS=32×[(Q-1)×94+(w-1)](式4.3)在VB.NET中,獲取漢字區位碼可以用ASC()函數和HEX()函數,函數ASC()返回一個Integer數據[10],代表字符串中首字母的字符代碼。HEX()函數返回代表十六進制數值的字符串。當漢字作為ASC()函數的參數時,返回的是漢字機內碼,經HEX()函數轉換即可得到漢字機內碼的十六進制數,再通過公式就可以得到漢字的首地址,有了漢字的首地址再從字庫中提取漢字代碼,而經過擴展取兩次字模得到32*64的點陣字模。4.3程序流程圖顯示屏的程序流程圖如下所示:程序初始化程序初始化中斷程序初始化中斷程序初始化傳入參數為移動速度傳入參數為移動速度左移或者閃爍顯示是否顯示完 N串口發送顯示命令 Y串口發送顯示命令 將顯示緩存送顯示屏顯示,掃描32行 將顯示緩存送顯示屏顯示,掃描32行 圖5.2程序流程圖首先程序輸入進來的時候進行初始化,然后接著中斷程序初始化,將中斷配置成需要的模式,用戶就可以實現初始配置的功能,然后用if語句進行判斷,如果判斷為正確就傳入參數為移動速度,設定顯示所需要的參數,如果參數不正確顯示就會有錯誤,如果不是就執行左移或閃爍命令,再進行串口發送顯示命令,用于配置相應顯示的功能,RAM將顯示緩存輸入到顯示屏進行掃描顯示,顯示用戶配置的信息,掃描完成后程序返回中斷程序初始化進行下一次的掃描顯示。具體的程序代碼如下所示:voidSend_one_line(void){chars;ucharTEMP0;ucharTEMP1;uchari;ucharinc;bite1,e2;if(col<8)inc=0;//判斷是否閃爍顯示if(8<=col&&col<16)inc=1;if(16<=col&&col<24)inc=2;if(24<=col&&col<32)inc=3;for(s=0+inc;s<=8+inc;s++){TEMP0=Combine_2byte(BUFFDOWN[s],BUFFDOWN[s+1]);TEMP1=Combine_2byte(BUFF__UP[s],BUFF__UP[s+1]);for(i=0;i<8;i++){e1=~(TEMP1>>i)&0x01;//取出最高位e2=~(TEMP0>>i)&0x01;//取出最高位R1=e1;R2=e2;CLK=0;CLK=1;//移位時鐘}}}4.4顯示子程序開始查找顯示漢字數據放入RAM中開始查找顯示漢字數據放入RAM中將數據串行傳入TPIC6B595行掃描32行是否掃完返回圖5.3顯示子程序流程首先初始化,將查找顯示漢字數據導入RAM中,然后將RAM中的漢字編碼數據傳入TPIC6B595中,先進行上半屏的16行掃描,再接著把數據裝載入下半屏的16行進行掃描,用while語句判斷是否掃描完成,當32行全部掃完時返回子程序進行下一次掃描。具體程序代碼如下所示:voidLoad_one_line(void){BUFF__UP[0]=Table[word][disrow*4+0];//裝載上半數據串行放在TPIC6B59中BUFF__UP[1]=Table[word][disrow*4+1];BUFF__UP[2]=Table[word][disrow*4+2];BUFF__UP[3]=Table[word][disrow*4+3];BUFF__UP[4]=Table[word+1][disrow*4+0];BUFF__UP[5]=Table[word+1][disrow*4+1];BUFF__UP[6]=Table[word+1][disrow*4+2];BUFF__UP[7]=Table[word+1][disrow*4+3];BUFF__UP[8]=Table[word+2][disrow*4+0];BUFF__UP[9]=Table[word+2][disrow*4+1];BUFF__UP[10]=Table[word+2][disrow*4+2];BUFF__UP[11]=Table[word+2][disrow*4+3];BUFF__UP[12]=Table[word+3][disrow*4+0];BUFF__UP[13]=Table[word+3][disrow*4+1];BUFF__UP[14]=Table[word+3][disrow*4+2];BUFF__UP[15]=Table[word+3][disrow*4+3];BUFF__UP[16]=Table[word+4][disrow*4+3];BUFFDOWN[0]=Table[word][64+disrow*4+0];//裝載下半屏數據BUFFDOWN[1]=Table[word][64+disrow*4+1];BUFFDOWN[2]=Table[word][64+disrow*4+2];BUFFDOWN[3]=Table[word][64+disrow*4+3];BUFFDOWN[4]=Table[word+1][64+disrow*4+0];BUFFDOWN[5]=Table[word+1][64+disrow*4+1];BUFFDOWN[6]=Table[word+1][64+disrow*4+2];BUFFDOWN[7]=Table[word+1][64+disrow*4+3];BUFFDOWN[8]=Table[word+2][64+disrow*4+0];BUFFDOWN[9]=Table[word+2][64+disrow*4+1];BUFFDOWN[10]=Table[word+2][64+disrow*4+2];BUFFDOWN[11]=Table[word+2][64+disrow*4+3];BUFFDOWN[12]=Table[word+3][64+disrow*4+0];BUFFDOWN[13]=Table[word+3][64+disrow*4+1];BUFFDOWN[14]=Table[word+3][64+disrow*4+2];BUFFDOWN[15]=Table[word+3][64+disrow*4+3];BUFFDOWN[16]=Table[word+4][64+disrow*4+3];}while(1){ for(col=0;col<32;col++)//循環32次,點亮并移動一個漢字,步進是一位5系統調試與分析5.1硬件調試測試方法:在最低幀率[11]和最高幀率設置下,用秒表統計出各個移動速度設置值下的,每秒移動的水平點陣數。單位為點/秒。測試儀器:秒表、肉眼測試結果:如表1.1所示。表1.1秒表、肉眼測試結果下位機刷新率設置為1下位機刷新率設置為6下位機左移速度設置實際移動速度(點/秒)下位機左移速度設置實際移動速度(點/秒)1315252838311410414512517614621通過上面指標的分析,基本上達到本設計對速度的要求。選用高頻晶振刷新速率越高,漢字閃爍越小,在同等條件下選用24M晶振和選用12M晶振的,前者比后者要更穩定一些,存儲大量漢字編碼時必須采用外部的存儲器來實現漢字的存儲。5.2軟件調試軟件部分需要調試的主要有顯示屏刷新頻率及顯示效果兩部分。顯示屏刷新率由定時器T0的溢出率和單片機的晶振頻率決定,表1.2給出了實驗調試時采用的頻率及其對應的定時器T0初值表1.2顯示平刷新率與T0初值關系表(24MHz晶振)刷新率255062.57585100120T0初值0xec780xf63c0xf8300xf97e0xfa420xfb1e0xfbee從理論上來說,選用高頻晶振刷新速率越高,漢字閃爍越小,在同等條件下選用24M晶振和選用12M晶振的,前者比后者要更穩定一些,24M以上的刷新頻率就能看到穩定的連續的顯示,刷新率越高,顯示越穩定,同時刷新頻率越高,顯示驅動程序占用的CPU時間越多。試驗證明,在目測條件下刷新頻率40Hz一下的畫面看起來閃爍較嚴重,刷新頻率50Hz以上的已基本察覺不出畫面的閃爍,刷新頻率達到85Hz以上時再增加畫面閃爍沒有明顯的改善。這個方案設計的64*32的點陣LED圖文顯示屏,電路簡單,成本較低,且較容易擴展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩定、清晰無串擾;可用靜止、移入移出等多種顯示方式顯示圖形或文字。6總結通過本次LED電子點陣驅動的設計與制作,從總體方案的確立到各個模塊的完成及最后系統的聯調,無論是我的理論水平、實際動手能力還是軟件編程能力都有了很大程度的提升。對于一個設計的完成,首先要有一個明確的可行性實施方案;其次,對該方案的具體實現要以理論計算為支撐,聯合實際問題逐步完成;第三,對于電子顯示屏硬件的實現,要充分考慮顯示屏的電路布局和選擇適當元器件才能實現最佳方案,如連線應盡可能短。第四,遇到問題,要逐步排查分析。當所有的接線盒軟件等都就位以后,打開電源,將寫好的成熟下載到單片機以后,沒有看到顯示屏有任何反應。于是便斷電先檢查供電電源與信號線是否連接。檢查到連接正常以后,再檢查測試卡是否以識別接口,測試卡紅燈閃動則沒有識別,檢查燈板是否與測試卡同電源地燈板接口有信號與地短路導致無法識別接口。問題果然就出現在這里,按正常的標準接好以后,顯示屏能夠正常顯示“歡迎光臨”四個大字。從設計之初就確定了參照大屏幕顯示屏的實現方法和實際情況設計一款小屏幕的LED點陣顯示屏。在查閱了大量的大屏幕顯示屏資料后確定了題目的設計方案。整個設計采用STC12C5A60S2做核心控制器,采用四片74LS138級聯控制行選,和75LS595級聯控制列選,74LS245作為總線驅動器來控制行/列的控制端口實現點陣屏顯示漢字。在實現這一設計的過程中所遇到的問題和困難給我留下了寶貴的經驗和深刻教訓。雖然畢業設計結束了,但學習還會繼續。我相信通過此次設計所得到的知識、心得、經驗乃至感受都會讓我在以后的日子里受益匪淺。參考文獻[1]高吉祥.模擬電路設計[M].北京:電子工業出版社,2007:25~83.[2]高吉祥.高頻電路設計[M].北京:電子工業出版社,2007:156~182.[3]高吉祥.全國大學生電子設計競賽培訓系列教程[M].北京:電子工業出版社,2011:45~69.[4]高吉祥.基本技能訓練與單元電路設計[M].北京:電子工業出版社,2007:13~44.[5]高吉祥.全國大學生電子設計競賽培訓系列教程數字系統與自動控制控制系統的設計[M].北京:電子工業出版社,2007:28~50.[6]譚浩強.C程序設計[M].北京:清華大學出版社,2007:48~72.[7]求是科技主編.單片機典型外圍器件及應用實例[M].北京:人民郵電出版社,2006:68~94.[8]付家才.單片機實驗與實踐[M].北京:高等教育出版社,2006:76~85.[9]郭天祥.新概念51單片機C語言教程:入門提高.開發.拓展.全攻略[M].北京:電子工業出版社,2009.1:92~175.[10]潘永雄.沙河.電子線路CAD使用教程-西安:西安電子科技大學出版社[M].2007.7:30~97.[11]江思敏.PCB和電磁兼容設計[M].北京:機械工業出版社,2006:67~124.附錄附錄A實物顯示效果圖:圖A實物效果顯示圖附錄B主程序#include<reg52.H>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#define_Nop()_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_()sbitHC138_A=P1^0; sbitHC138_B=P1^1;sbitHC138_C=P1^2;sbitHC138_D=P1^3; //138,4,5sbitHC138_OE=P0^1; //1386sbitHC595_LAT=P1^6;//59512sbitHC595_CLK=P1^7;//59511sbitHC595_RD2=P3^5;//59514sbitHC595_RD=P1^5;//59514unsignedcharr_data[8],g_data[8];unsignedchark,t,m,n,p,state;unsignedcharcodehanzi[17][32]={ //二維數據/*--文字:歡--*//*--宋體24;此字體下對應的點陣為:寬x高=16x32--*/0x09,0x00,0x09,0x00,0x09,0x00,0x11,0xFE,0x12,0x80,0x32,0x80,0x34,0x80,0x50,0xF8,0x90,0x80,0x10,0x80,0x10,0x80,0x10,0xFC,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,/*--文字:迎--*//*--宋體24;此字體下對應的點陣為:寬x高=16x32--*/0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x00,0x7C,0x7C,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x7C,0x7C,0x44,0x44,/*--文字:光--*//*--宋體24;此字體下對應的點陣為:寬x高=16x32--*/0x00,0x00,0x3F,0xFC,0x20,0x04,0x20,0x04,0x3F,0xFC,0x22,0x20,0x22,0x20,0x2F,0xF8,0x22,0x20,0x22,0x20,0x3F,0xFE,0x24,0x88,0x24,0x50,0x45,0x30,0x46,0x0E,0x84,0x00,/*--文字:臨--*//*--宋體24;此字體下對應的點陣為:寬x高=16x32--*/0x04,0x40,0x24,0x40,0x24,0x7C,0x24,0x90,0x25,0x08,0x04,0x00,0x1F,0xF0,0x10,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x12,0x90,0x02,0x80,0x04,0x84,0x18,0x84,0x60,0x7C,//0x11,0x00,0x11,0x00,0x11,0x00,0x23,0xFC,0x22,0x04,0x64,0x08,0xA8,0x40,0x20,0x40,0x21,0x50,//0x21,0x48,0x22,0x4C,0x24,0x44,0x20,0x40,0x20,0x40,0x21,0x40,0x20,0x80,//你};voidDelay(ucharus)//5,7,9{while(--us);}//delaymsvoidDelayMS(uintiMs){uinti,j;for(i=0;i<iMs;i++)for(j=0;j<65;j++)Delay(1);}voidwrite595(unsignedcharrdd,gdd){ unsignedchari; for(i=0;i<8;i++) { HC595_RD=rdd&0x80; rdd=rdd<<1; HC595_RD2=gdd&0x80; gdd=gdd<<1; HC595_CLK=1; HC595_CLK=0; }}voidmain(void){ n=0; state=0; while(1) { for(p=0;p<64;p++) { for(t=0;t<16;t++) { HC595_LAT=0; HC595_CLK=0; HC138_OE=1; if(state==0) { for(k=0;k<4;k++) { r_data[2*k]=0xff-hanzi[0+k][t*2]; r_data[2*k+1]=0xff-hanzi[0+k][t*2+1]; g_data[2*k]=0xff-hanzi[4+k][t*2]; //只有左半邊 0xff是高電平點亮必須加0XFF,看到 //看到的是全亮,字形不亮 g_data[2*k+1]=0xff-hanzi[4+k][t*2+1];//只有右半邊 } } elseif(state==1) { for(k=0;k<4;k++) { r_data[2*k]=0xff-hanzi[7+k][t*2]; r_data[2*k+1]=0xff-hanzi[7+k][t*2+1]; g_data[2*k]=0xff-hanzi[0+k][t*2]; //只有左半邊 0xff是高電平點亮必須加0XFF,看到 g_data[2*k+1]=0xff-hanzi[0+k][t*2+1];//看到的是全亮,字形不亮 } } for(k=0;k<8;k++) //寫595里面的內容屏蔽的話屏全亮 { write595(r_data[k],g_data[k]); } HC138_OE=0; //下拉 HC595_LAT=1;//STB HC595_LAT=0;//STB HC595_CLK=0;//消影 HC138_A=t&0x01; HC138_B=t&0x02; HC138_C=t&0x04; HC138_D=t&0x08; Delay(100); //HC138_OE=1; } //endfort }//endforp //state=state+1; if(state>1)state=0; } //endwhile}基于C8051F單片機直流電動機反饋控制系統的設計與研究基于單片機的嵌入式Web服務器的研究MOTOROLA單片機MC68HC(8)05PV8/A內嵌EEPROM的工藝和制程方法及對良率的影響研究基于模糊控制的電阻釬焊單片機溫度控制系統的研制基于MCS-51系列單片機的通用控制模塊的研究基于單片機實現的供暖系統最佳啟停自校正(STR)調節器單片機控制的二級倒立擺系統的研究基于增強型51系列單片機的TCP/IP協議棧的實現基于單片機的蓄電池自動監測系統基于32位嵌入式單片機系統的圖像采集與處理技術的研究基于單片機的作物營養診斷專家系統的研究基于單片機的交流伺服電機運動控制系統研究與開發基于單片機的泵管內壁硬度測試儀的研制基于單片機的自動找平控制系統研究基于C8051F040單片機的嵌入式系統開發基于單片機的液壓動力系統狀態監測儀開發模糊Smith智能控制方法的研究及其單片機實現一種基于單片機的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機沖床數控系統的研究基于CYGNAL單片機的在線間歇式濁度儀的研制基于單片機的噴油泵試驗臺控制器的研制基于單片機的軟起動器的研究和設計基于單片機控制的高速快走絲電火花線切割機床短循環走絲方式研究基于單片機的機電產品控制系統開發基于PIC單片機的智能手機充電器基于單片機的實時內核設計及其應用研究基于單片機的遠程抄表系統的設計與研究基于單片機的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機系統單片機系統軟件構件開發的技術研究基于單片機的液體點滴速度自動檢測儀的研制基于單片機系統的多功能溫度測量儀的研制基于PIC單片機的電能采集終端的設計和應用基于單片機的光纖光柵解調儀的研制氣壓式線性摩擦焊機單片機控制系統的研制基于單片機的數字磁通門傳感器基于單片機的旋轉變壓器-數字轉換器的研究基于單片機的光纖Bragg光柵解調系統的研究單片機控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機的多生理信號檢測儀基于單片機的電機運動控制系統設計Pico專用單片機核的可測性設計研究基于MCS-51單片機的熱量計基于雙單片機的智能遙測微型氣象站MCS-51單片機構建機器人的實踐研究基于單片機的輪軌力檢測基于單片機的GPS定位儀的研究與實現基于單片機的電液伺服控制系統用于單片機系統的MMC卡文件系統研制基于單片機的時控和計數系統性能優化的研究基于單片機和CPLD的粗光柵位移測量系統研究單片機控制的后備式方波UPS提升高職學生單片機應用能力的探究基于單片機控制的自動低頻減載裝置研究基于單片機控制的水下焊接電源的研究基于單片機的多通道數據采集系統基于uPSD3234單片機的氚表面污染測量儀的研制基于單片機的紅外測油儀的研究96系列單片機仿真器研究與設計基于單片機的單晶金剛石刀具刃磨設備的數控改造基于單片機的溫度智能控制系統的設計與實現基于MSP430單片機的電梯門機控制器的研制基于單片機的氣體測漏儀的研究基于三菱M16C/6N系列單片機的CAN/USB協議轉換器基于單片機和DSP的變壓器油色譜在線監測技術研究基于單片機的膛壁溫度報警系統設計基于AVR單片機的低壓無功補償控制器的設計基于單片機船舶電力推進電機監測系統基于單片機網絡的振動信號的采集系統基于單片機的大容量數據存儲技術的應用研究基于單片機的疊圖機研究與教學方法實踐基于單片機嵌入式Web服務器技術的研究及實現基于AT89S52單片機的通用數據采集系統基于單片機的多道脈沖幅度分析儀研究機器人旋轉電弧傳感角焊縫跟蹤單片機控制系統基于單片機的控制系統在PLC虛擬教學實驗中的應用研究基于單片機系統的網絡通信研究與應用基于PIC16F877單片機的莫爾斯碼自動譯碼系統設計與研究基于單片機的模
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目管理資格認證高效備考試題及答案
- 木質素行業發展動態與未來市場潛力分析
- 加油站項目前景分析與發展建議
- 廢水處理站EPC總承包項目可行性分析與發展趨勢
- 考試場景模擬與應對策略試題及答案
- 證券從業資格證經濟學基礎知識試題及答案
- 項目關鍵階段的管理挑戰試題及答案
- 2024年微生物檢驗風險管理試題及答案
- 2024年項目管理全能指南試題及答案
- 部編人教版2025三年級語文下冊月考考試題集
- 2023年全國中學生生物學聯賽新疆初賽試題-(附答案解析)
- 2024中考英語試題分類匯編:非謂語(含解析)
- 第七屆江西省大學生金相技能大賽知識競賽單選題題庫附有答案
- 第9課++友好相處++學會合作+第2課時 【中職專用】中職思想政治《心理健康與職業生涯》高效課堂 (高教版基礎模塊)
- 高中二年級下學期化學《烷烴的命名》教學課件
- DL∕T 563-2016 水輪機電液調節系統及裝置技術規程
- 2024年山東省青島市局屬公辦普通高中化學自招真題
- 供貨保證措施以及應急保障措施
- 實驗一-混凝實驗
- 靜脈血栓栓塞癥預防性抗凝治療知情同意書
- 古詩詞誦讀《書憤》公開課一等獎創新教學設計統編版高中語文選擇性必修下冊
評論
0/150
提交評論