基于單片機滾動字幕設計_第1頁
基于單片機滾動字幕設計_第2頁
基于單片機滾動字幕設計_第3頁
基于單片機滾動字幕設計_第4頁
基于單片機滾動字幕設計_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

.z.基于滾動字幕設計專業(yè):電子信息科學與技術班級:2006級1班:賀瑩-.z.目錄TOC\p""\h\z\u\t"樣式標題3+(中文)黑體小四非加粗下劃線白色段前:6磅段后:1.55磅行距:固定...,3,樣式標題1+(中文)黑體小二非加粗白色居中段前:6磅段后:1.55磅行距:固定值...,1,樣式標題2+TimesNewRoman四號非加粗下劃線白色段前:6磅段后:1.55磅...,2,樣式1,1,樣式2,1,樣式3,2"TOC\h\z\t"樣式標題3+(中文)黑體小四非加粗下劃線白色段前:6磅段后:1.55磅行距:固定...,3,樣式標題1+(中文)黑體小二非加粗白色居中段前:6磅段后:1.55磅行距:固定值...,1,樣式標題2+TimesNewRoman四號非加粗下劃線白色段前:6磅段后:1.55磅...,2"TOC\h\z\t"樣式1,1,樣式2,1,樣式3,1"引言31LED顯示屏系統原理61.1LED器件的工作原理61.2基于LED顯示屏的大屏幕顯示系統的組成81.3簡易LED顯示屏系統的硬件組成111.4簡易LED系統的軟件系統122系統硬件設計142.1整體設計分析142.2處理器選取原理及功能介紹152.3行驅動電路設計202.4列驅動電路設計212.5數據存儲器接口設計262.6串行接口電路273系統軟件設計303.1上位機系統軟件設計303.2下位機系統軟件設計323.3特效顯示程序設計343.4.漢字提取程序設計384系統調試404.1硬件調試404.2軟件調試41結論44致45參考文獻46附錄1系統實物圖48附錄2硬件電路圖49附錄3程序代碼50-.z.摘要伴隨著當今高度發(fā)展的信息時代,傳統的移動車庫門顯示屏控制系統已經不能滿足人們對信息顯示的需要。當今涉及電子電路、集成電路、信息圖象處理、信息傳輸及電子產品安裝工程等相關技術的LED顯示屏在信息領域顯得尤為活躍,在各行業(yè)的應用和普及方面也取的了長足的進步。設計基于AT89S51單片機的簡易LED顯示屏。該顯示屏系統采用PC機加單片機組成的上下位機方式。其中PC機用于更新信息數據,單片機用于控制硬件掃描及顯示電路,上下位機之間采用RS-232通信標準。系統軟件是由用C++Builder編寫的上位PC控制及通信軟件和C語言編寫的顯示屏控制軟件兩部分組成。硬件處理器選用AT89S51。LED顯示屏是利用發(fā)光二極管點陣模塊或像素單元組成的平面顯示屏幕。它具有發(fā)光率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內外環(huán)境適應能力強等優(yōu)點。LED顯示屏發(fā)展較快,被廣泛的用于公交汽車、商店、體育場館、車站、學校、銀行、高速公路等公共場所的信息發(fā)布和廣告宣傳。本文講述了基于AT89C51單片機16*64LED漢字點陣滾動顯示的基本原理、硬件組成與設計、程序編寫與調試、protel軟件等基本環(huán)節(jié)和相關技術。關鍵詞:單片機;點陣;顯示屏;數據;控制;AbstractWithtoday’shighlydevelopedinformation,traditionalmobilegaragedoorscreencontrolsystemcannotmeettheneedsofthepeopleontheinformationdisplay.TodayLEDdisplaywhichinvolveselectroniccircuit,integratedcircuit,information,imageprocessing,informationtransmissionandelectronicproductsandotherrelatedtechnologies,installationhasparticularlyactedinthefieldofinformationintheapplicationandpopularizationofvariousindustriesandalsotakengreatstrides.ThispaperdesignsasimpleLED-baseddisplayAT89S51microcontroller.ThedisplaysystemiscomposedofPC,plustheUpperandLowerMCUmode.PC,whichusedtoupdatetheinformationdata,microcontrollerusedtocontrolthehardwarescananddisplaycircuit,betweentheupperandlowercomputerusingRS-232communicationstandard.SystemsoftwareiswrittenusingC++BuildertheupperPCcontrolandcommunicationsoftwareandClanguagewrittendisplaycontrolsoftware.HardwareprocessorselectsAT89S51.LEDdotmatri*displayisflatdisplayscreenwhichisuselight-emittingdiodepi*elmoduleormodules.Ithashighlight,longlife,fle*ibleconfiguration,color-richandstrongadaptabilityindoorandoutdoorenvironment.LEDdisplaydevelopsrapidlysoiswidelyusedinpublictransportvehicles,shops,stadiums,railwaystations,schools,banks,highwaysandotherpublicplaces,informationpublishingandadvertising.Thispaperdescribesthecharacterssuchasdisplayprinciple,thehardwarecompositionanddesign,programminganddebugging,protelsoftware’sbasicpartsandrelatedtechnologieswhichbasesonAT89C51microcontroller16*64LEDscrollingdot-matri*.Keywords:SCM;lattice;screen;data;control引言電子顯示屏是以發(fā)光二極管為顯示材料,結合計算機控制技術與圖像處理技術的高亮度顯示設備。發(fā)光二極管簡稱LED(LightEmittingdiode),是利用半導體P-N結電致發(fā)光原理產生紅、綠、藍等顏色。LED具有高亮度、色彩鮮艷、穩(wěn)定性好、功耗低、發(fā)光效率高、無污染、壽命長等優(yōu)點。被譽為"照亮未來的技術”的LED,漸漸走近了我們的日常生活,并將推動顯示器領域發(fā)生一次革命性巨變。LED顯示器技術的發(fā)展速度超出了專家的預測,作為一個新興產業(yè),10年內,LED顯示器有望達到30億美元的產值。液晶顯示器也將和CRT顯示器一樣,退出主流舞臺!LED電子顯示屏作為繼電視、廣播、報紙、雜志之后的"第五大媒體”,且因為它與電視墻、等離子顯示器、磁翻板、霓虹燈等媒介相比具有上述優(yōu)點,而廣泛應用于各類場所。早期的LED只有紅色或綠色,因此只有單色或雙基色。1993年,日本日亞化學工業(yè)株式會社(NICHIA)開發(fā)出了藍色高亮度發(fā)光二極管,從此顯示屏開始進入全彩色時代。中國LED領域的技術創(chuàng)新仍較薄弱。發(fā)光材料制造和發(fā)光芯片制造是發(fā)展LED產業(yè)必須掌握的兩大核心技術,但在這方面,國外巨頭優(yōu)勢明顯。核心專利基本掌握在外國幾大公司,如CREE、歐司朗等手中,我國LED外延和芯片制造的關鍵設備依賴進口,這將成為制約我國半導體照明產業(yè)發(fā)展的軟肋,影響自主品牌的市場競爭力。同時中國LED照明企業(yè)仍處于數量多、規(guī)模小的狀態(tài)中,出現了低水平重復建設??傮w來說,中國LED產業(yè)的發(fā)展瓶頸依舊無法回避。核心技術缺乏,標準不夠完善,成本偏高是主要發(fā)展瓶頸。由于LED顯示屏顯示畫面色彩鮮艷,立體感強,靜如油畫,動如電影,廣泛應用于車站、碼頭、機場、商場、醫(yī)院、賓館、銀行、證券市場、建筑市場、拍賣行、工業(yè)企業(yè)管理和其它公共場所。因此,LED顯示屏具有非常強大的市場空間和前景,現在國內外很多公司也在大力研發(fā)和生產LED顯示屏。隨著信息化社會的形成,信息領域愈加廣泛,LED顯示屏應用前景更為廣闊。LED顯示屏產業(yè)自90年代以來,在規(guī)模迅速發(fā)展的同時,產品技術也推陳出新,一直保持了在該領域內比較先進的水平。早在90年代初,國產的LED顯示屏就具備了成熟的16級灰度、256色視頻控制技術和無線遙控等代表了當時的國際先進水平的技術。近幾年,在全彩色LED顯示屏、256級灰度視頻控制技術、集群無線控制、多級群控技術等方面,國內企業(yè)均擁有了居行業(yè)先進技術水平的產品。這些產品被廣泛應用于交通警車、汽車、車站、碼頭、體育、廣告、銀行、證券、商場、郵政電訊、機關單位等領域,另外,大型或超大型LED顯示屏為主流產品的局面將會發(fā)生改變,適合于服務行業(yè)特點和專業(yè)性要求的小型LED顯示屏會有較大提高,面向信息服務領域的LED顯示屏產品門類和品種體系將更加豐富,部分潛在市場需求和應用領域將會有所突破,如公共交通、停車場、醫(yī)院等綜合服務方面的信息顯示屏需求量將有更大的提高,大批量、小型化的標準系統LED顯示屏在LED顯示屏市場總量中將會占有多數份額,具有良好的收益前景。課題研究的目的及意義,本論文以LED大屏幕顯示系統設計思路為前提,提出了基于51單片機的LED點陣簡易顯示屏設計方案。論文詳細論述了簡易LED顯示屏的硬件設計原理,LED顯示屏掃描驅動原理,單片機控制電路的軟件設計方法,PC上位機控制及通信軟件的設計,以及特效顯示方式軟件的設計方法。其主要目的是設計一款基于51單片機的簡易LED顯示屏,實現漢字的上、下、左、右和靜態(tài)顯示。通過該課題,可以學習到有關51單片機、LED顯示屏、串口通信等知識。了解LED顯示屏的行業(yè)動態(tài)和發(fā)展趨勢??梢蕴岣邉邮帜芰Α⒕幊棠芰?、自學能力等,通過具體的畢業(yè)設計項目,對大學學習的知識也是一個很好的檢驗機會。1LED顯示屏系統原理1.1LED器件的工作原理LED發(fā)光二級管的基本原理發(fā)光二極管(lightemittingdiode,LED),是一種把電能變成光能的特種器件,當電流如圖1所示通過它的時候,可以產生可視的光。圖1開啟一個LED發(fā)光二極管的結構主要由PN結芯片、電極和光學系統構成。我們知道,發(fā)光是一種能量轉化現象。當系統受到外界激發(fā)后,會從穩(wěn)定的低能態(tài)躍遷到不穩(wěn)定的高能態(tài)。當系統由不穩(wěn)定的高能態(tài)重回到穩(wěn)定的低能態(tài)時,能量差以光的形式輻射出來,就會產生發(fā)光現象。當在PN結上加以正向電壓之后,P的空穴注入至N區(qū),N區(qū)的電子注入至P區(qū),相互注入的電子與空穴相遇后即產生復合,這些少數載流子在結的注入和復合中產生輻射而發(fā)光。它是自發(fā)輻射發(fā)光,不需要較高的注入電流產生粒子數反轉分布,也不需要光學諧振腔,發(fā)射的是非相干光。LED器件的驅動從LED器件的發(fā)光機理可以知道,當向LED器件施加正向電壓時,流過器件的正向電流使其發(fā)光。因此LED的驅動就是要使它的PN結處于正偏置,同時為了控制它的發(fā)光強度,還要解決正向電流的調節(jié)問題。具體的驅動方式有直流驅動、恒流驅動、脈沖驅動和掃描驅動等,本課題LED器件的驅動為掃描驅動。(1)脈沖驅動利用人眼的視覺暫留特性,采用向LED器件重復通斷供電的方法使之點燃,就是通常所說的脈沖驅動方式。采用這種方式時應該注意兩個問題:脈沖電流幅值的確定和重復頻率的選擇。首先,要想獲得與直流驅動方式相當的發(fā)光強度,脈沖驅動電流的平均值就應該與直流驅動的電流值相同[4]。其次是脈沖重復頻率的問題,通過視覺暫留特性知道脈沖重復頻率必須高于24Hz,否則會產生閃爍現象,脈沖驅動的主要應用于掃描驅動。(2)掃描驅動掃描驅動是通過數字邏輯電路,使若干LED器件輪流導通,用以節(jié)省控制驅動電路。LED顯示屏是將發(fā)光燈按行按列布置的,驅動時也就按行按列驅動。在掃描驅動方式下可以按行掃描,按列控制;也可以按列掃描,按行控制。所謂"掃描”的含義,就是指一行一行地循環(huán)接通整行的LED器件,而不問這一行的哪一列的LED器件是否應該點亮,*一列的LED器件是否應該點亮,由所謂的列控制電路來負責。本課題采用按行掃描按列控制的方式[4]。一個m行n列結構的LED顯示屏,當采用行掃描列控制的驅動方式時,從H1到Hm輪流將高電位接通各行線,使連接到各行的LED器件接通正電源,但具體哪一個LED導通,還要看它的負電源是否接通,這就是列控制所要完成的工作。1.2基于LED顯示屏的大屏幕顯示系統的組成大屏幕LED顯示系統的組成圖2系統基本結構圖由圖2可看出,該系統是由PC機和多臺單片機組成的群顯示LED顯示系統,PC機在控制中心作為上位機,下位機采用單片機。基于單片機的LED顯示屏控制電路是系統的核心,完成對LED顯示屏的動態(tài)掃描控制,PC機用于后級管理和控制。PC機與單片機之間采用RS-232C通信標準,由上位機發(fā)送信號,各個下位機同時接收。當各個顯示屏需要顯示不同內容時,可以通過對不同編號的下位機傳送不同的顯示數據的方法來實現。主要組成部分功能介紹(1)LED顯示屏LED顯示屏以發(fā)光二極管為像素,由LED點陣顯示單元拼接而成。最常見的LED點陣顯示單元有57,79,88結構,前兩種主要用于顯示各種西文字符,后一種常用于顯示各種漢字字符。(2)以單片機為核心的動態(tài)掃描電路圖3所示以單片機為核心的動態(tài)掃描電路是由單片機、顯示控制電路、顯示驅動電路組成。單片機及相應軟件,主要負責存儲顯示數據、安排控制信號的定時與順序、和PC機進行通信等。PC機PC機單片機系統列顯示數據行描電路行驅動LED顯示點陣列驅動通信圖3以單片機為核心的動態(tài)掃描電路圖根據驅動方式的不同,LED大屏幕顯示方式可分為靜態(tài)顯示和動態(tài)掃描顯示兩種。靜態(tài)顯示是指將一幅畫面輸入以后要保持到下一幅畫面的輸入。動態(tài)掃描是指將畫面分為若干部分分別進行刷新,靜態(tài)顯示每一個像素需要一套驅動電路,如果顯示屏為nm個像素屏,則需要nm套驅動電路。動態(tài)掃描顯示則采用多路復用技術,如果是P路復用的話,則每P個象素需一套驅動電路,nm個象素僅需nm/p套驅動電路。另外,對于靜態(tài)顯示方式,需要較多的譯碼驅動裝置,需要的引線也比較多,對于動態(tài)掃描顯示方式,可以避免以上不足,但是容易造成顯示亮度低、屏幕閃爍等問題。在實際的LED大屏幕顯示中,很少有采用靜態(tài)驅動的。對于以動態(tài)掃描方式工作的顯示系統,掃描時間的確定較為重要,根據人眼的視覺暫留時間,若每秒顯示二十四幀以上,便可得到穩(wěn)定的顯示,取每秒二十五幀,即完成對全屏的一次掃描時間為40ms,則,只要每次完成對全屏的掃描時間不超過該值,將會得到較為穩(wěn)定的顯示。從理論上講,顯示屏的大小是任意的,但從上面的分析可知,顯示屏做得越大,即屏幕的點陣規(guī)模越大,往顯示屏上所送的數據就越多,數據傳輸與控制的時間也會增加,即完成一屏掃描的時間也將越長,然而,40ms的時間卻是固定的,多于40ms會有閃爍感。在設計顯示屏的大小時,該因素是必需考慮的。顯示數據通常以字節(jié)的形式順序存放在單片機的存儲器中。在行掃描列控制顯示時,把顯示數據從存儲器中取出傳送到每一行對應的列驅動器上,這就存在一個列數傳輸方式的問題。從控制電路到列驅動器的數據傳輸可以采用并行方式或串行方式,它們各有優(yōu)缺:數據并行傳輸的速度比較快,但是隨著屏幕的增大,點陣模塊數量的增多,線路會越來越復雜;數據串行傳輸的速度比較慢,但它可以大大簡化傳輸線路,對于大屏幕來說,采用串行傳輸方式比較合適。采用串行傳輸的方法,控制電路可以只用一根信號線,將列數據一位一位傳給列驅動器,與此同時,列驅動器中每一列都把當前數據傳向后一列,并從前一列接收新數據,一直到一行的各列數據全部傳輸到位后,才能并行地進行顯示。對于串行傳輸來說,列數據的準備時間可能相當長,在行掃描周期確定的情況下,留給行顯示的時間就少一些,以至影響到LED的亮度。解決串行傳輸中列數據準備和列數據顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數據的同時,準備下一行的列數據,這就需要列數據的顯示具有鎖存功能。本行己準備好的數據打入并行鎖存器進行顯示時,串行移位寄存器就可以準備下一行的列數據,而不會影響本行的顯示。(3)PC機及運行在PC機上的程序PC機主要用于人機交互,完成對每一個LED顯示屏的控制與顯示數據傳輸。應用程序主要完成對顯示屏的控制,同時完成對包括圖形和中西文字符的顯示信息進行編輯處理,將待顯示信息通過串行通信傳輸到指定的LED控制器中。1.3簡易LED顯示屏系統的硬件組成本論文根據上節(jié)介紹的大屏幕LED顯示系統的組成原理,設計了一款簡易LED顯示屏系統。該系統能方便的顯示1664點陣的漢字。其顯示內容可以實現上下,左右移動,顯示內容和方式可以有用戶按要求隨時修改。系統總體硬件結構如圖4所示,在該系統中系統硬件電路有四部分組成:LED顯示屏;基于51單片機的動態(tài)掃描電路;PC與單片機的通信電路;漢字字庫。AT89S51AT89S51上位機控制系統RS232接口漢字字庫行掃描列驅動點陣顯示屏圖4系統總體硬件原理框圖(1)LED顯示屏LED顯示屏由LED點陣顯示器構成,采用逐行動態(tài)掃描的方式工作,逐次不斷地對顯示屏的各行進行選通,同時又向各列送出表示漢字信息的信號,反復循環(huán)以上操作,就可顯示各種文字信息。本設計選用4塊88LED單色(紅)組成一個1664的LED顯示屏,可以顯示一個漢字。采用逐行動態(tài)掃描的方式工作。(2)基于51單片機的動態(tài)掃描電路本系統選用AT89S51處理器,該款單片機是ATMEL公司開發(fā)制造的,是增強型內載Flash的單片機,芯片上的Flash存儲器附在用戶的產品中,可隨時編程,再編程,使用戶的產品設計容易,更新換代方便。51單片機具有較高速的處理能力,在一個時鐘周期內可執(zhí)行復雜的指令,每MHz可實現1MIPS的處理能力。51單片機工作電壓為2.7-6.0V,可以實現耗電最優(yōu)化。51的單片機廣泛應用于計算機外部設備,工業(yè)實時控制,儀器儀表,通訊設備,家用電器,宇航設備等各個領域?;?1單片機的動態(tài)掃描采用逐行掃描的方式,數據通過51單片機I/O口輸出到列數據顯示存儲器,在根據單片機的驅動能力和LED顯示屏的相應電氣特性要求,需要在行選通器件、列數據準備器件與LED顯示屏之間加上相應的驅動電路。(3)PC與基于51微處理器的通信電路上位機用與在線修改顯示信息及對顯示的方式進行控制。當需要修改顯示的信息時,由PC機向基于51的微處理器系統傳送新的顯示數據,以刷新FLASH中的原有信息。串行通信采用傳統的RS-232C標準方式通信。1.4簡易LED系統的軟件系統系統軟件由兩部分構成:用C++Builder編寫的上位PC控制及通信軟件和利用C語言編寫的顯示屏控制軟件。(1)上位PC控制及通信軟件在此系統中,上位機控制軟件用于對顯示信息進行控制,用C++Builder編寫。首先設置顯示的相關參數,再輸入顯示內容,最后通過串行口發(fā)送給基于51的控制電路中。通信功能利用C++Builder提供的第三方通信控件,通過PC串行口發(fā)送信息。(2)顯示屏控制軟件顯示屏控制軟件用C語言編寫,由主程序和中斷服務程序兩部分組成。主程序完成必要的初始化工作,并負責進行顯示,按要求讀出顯示數據,同時產生需要的控制信號。中斷服務程序用于解決與上位機進行通信的問題。2系統硬件設計2.1整體設計分析為了設計出高性能、高可靠性、可行實用的顯示系統,采用以下的設計思想:(1)在系統總體設計中將貫徹學術性與實用性相結合、先進性與可行性相結合、功能性與經濟性相結合的原則,盡量采用成熟的技術和已有的科研積累,在關鍵難點問題上嘗試采用相關學科的最新成果,使系統既具有穩(wěn)定可靠的運行性能又有一定的技術含量和創(chuàng)新價值。(2)LED顯示屏的下位機用的是8位微處理器AT89S51,完成字模數據的接收和LED顯示屏的動態(tài)掃描顯示,在整個系統中處于下位機的地位。中央控制由PC機實現,實現顯示內容的輸入、顯示模式的設置。PC機與下位機的通訊采用成熟的RS232接口標準。(3)在軟件編制上,采用結構化設計思想,下位機采用適應于MCS-51系列單片機的C51語言進行編程,上位機程序的編制采用而面向對象的可視化編程語言軟件C++Builder。LED點陣顯示屏系統由上位機控制系統、下位機(單片機)、行掃描電路、列驅動電路和漢字字庫構成。系統總體結構如圖5所示。AT89S51AT89S51上位機控制系統RS232接口數據庫行掃描列驅動點陣顯示屏圖5LED顯示屏總體框架系統工作過程:其中上位機軟件控制系統主要完成與下位機的通信及數據的傳輸,硬件控制系統中的LED點陣主要任務是通過電流控制完成信息顯示,單片機從漢字字庫中提取所需信息,然后通過控制行掃描電路和列驅動電路來驅動LED點陣,從而顯示出相關的信息。2.2處理器選取原理及功能介紹芯片選取原理現在市場上的處理器很多,如AT89S51系列、PIC、ARM、凌陽等。ARM、凌陽等單片機更適合大型系統的應用,價格也更貴。AT89S51、PIC都屬于8位機,8位單片機也是目前應用最廣泛的單片機[7],在各個領域上都可以看到它的身影。AT89S51具有一系列的優(yōu)點,主要體現在這幾個方面:(1)單片機的FLASH、EEPROM蓄存器都可以反復燒寫、支持在ISP在線編程(燒寫),入門費用非常少;(2)片內集成多種頻率的RC振蕩器、上電自動復位、看門狗、啟動延時等功能,使得電路設計變得非常簡單;(3)每個I/O口作輸出時都可以輸出很強的高、低電平,作輸入時I/O口可以是高阻抗或者帶上拉電阻;(4)片內具有豐富實用的資源,如豐富的中斷源、SPI、USART通信口;(5)片內采用了先進的數據加密技術,大大的提高了破解的難度;綜合上面的比較,我選用ATMEL公司的AT89S51單片機作為系統處理器。處理器系統功能介紹(1)AT89S51的主要性能參數:AT89S51與MCS-51指令系統完全兼容,4K字節(jié)的可多次擦寫的Flash閃速存儲器,100次的擦寫周期,全靜態(tài)操作0MHz-24MHz,三級加密程序存儲器,128×8字節(jié)內部RAM,32個可編程I/O口線,兩個16位定時器/計數器,6個中斷源,可編程串行URAT通道,低功耗空閑和掉電模式。(2)AT89S51的標準功能4K字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,32個I/O口線,兩個16位定時器/計數器,一個5向量兩級中斷結構,一個全雙通串行通信口,片內振蕩器及時鐘電路。同時AT89S51可降至0Hz的靜態(tài)工作模式,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時器/計數器,串行通信口及中斷系統繼續(xù)工作。掉電方式保護RAM中的內容,但震蕩停止工作并禁止其他所有部件工作直到下一個硬件復位。(3)AT89S51的引腳功能說明,引腳見圖6。圖6AT89S51引腳VCC:電源電壓GND:電源地P0口:P0口是一組8位漏極開路型的雙向I/O口,即地址/總線復用口。作為輸出口用時每位能吸收電流的方式驅動8個TTL邏輯門電路。對端口寫1可做為高阻抗輸入端用。在訪問外部數據存儲器和程序存儲器時,這組口線分時為地址和數據總線復用,在訪問期間激或內部上拉電阻。P1口:P1口是一個帶有內部上拉電阻的8位雙向I/O口,P1口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路,對斷口寫1,通過內部的上拉電阻把端口拉到高電平,此時可作為輸入口。做輸入口使用時,因為內部存在上拉電阻,*個引腳被外部信號拉低時會輸出一個電流。P2口:P2口是是一個帶有內部上拉電阻的8位雙向I/O口。P2口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路,對端口寫1,通過內部的上拉電阻把端口拉到高電平,此時可作為輸入口。做輸入口使用時,因為內部存在上拉電阻,*個引腳被外部信號拉低時會輸出一個電流。在訪問外部存儲器或16位的地址的外部數據存儲器時,P2口送出高八位的地址總線,在訪問8為地址的外部數據存儲器時,P2口線上的內容(也即特殊功能寄存器區(qū)中R2的寄存器的內容),在整個訪問期間不變。P3口:P3口是一組帶有內部上拉電阻的8位雙向I/O口,P3口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路,對P3口寫1時,他們被內部上拉電阻拉高并可作為輸入端口。做輸入端時,被外部拉低的P3口將用上拉電阻輸出電流。P3口除了作為一般的I/O端口線外,更重要的是它的第二功能,如表1所示。表1P3口第二功能表斷口引腳第二功能P3.0R*D(串行輸入口)P3.1T*D(并行輸入口)P3.2外中斷0P3.3外中斷1P3.4定時/計數器0外部輸入P3.5定時/計數器1外部輸入P3.6外部數據存儲器寫選通P3.7外部數據存儲器讀選通RST:復位輸入,當震蕩器工作的時候,RST出現兩個機器周期以上的高電平將使單片機復位。ALE:當訪問外部程序存儲器時,ALE(地址鎖存允許)輸出脈沖用于鎖存地址的第8位字節(jié),即使不訪問外部存儲器,ALE仍然以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此他可以對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數據存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖。如有必要,可以通過對特殊功能寄存器區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOV*和MOV指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效。EA/VPP:外部訪問允許,欲使CPU僅訪問外部程序存儲器,EA端必須保持低電平(接地)。需要注意的是,如果加密LB1被編程,復位時內部會鎖存EA端狀態(tài)。如果EA端為高電平(接VCC端),CPU則執(zhí)行內部程序存儲器中的指令。Flash存儲氣編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用+12V編程電壓Vpp。*TAL1:振蕩器反向放大器的及內部時鐘發(fā)生器的輸入端。*TAL2:振蕩反向放大器的輸出端。2.3行驅動電路設計圖7行掃描輸出電路原理圖為了保證顯示屏的亮度,同時也為了保證刷新頻率在50Hz以上,系統要求每行LED能在1.25ms內快速被點亮,如果用普通的LED點亮方式,則LED要達到要求的亮度,點亮時間要在5ms以上,則刷新頻率就達不到預定的頻率,屏幕會出現閃爍現象,為了解決這一問題,本系統在硬件設計上用74HC573做上、下半屏數據鎖存,用ULN2003做行驅動。ULN2003是一種以吸收為主的恒流驅動電路,最大驅動電流能達到500mA能在0.5ms內將LED點亮,以達到預定的要求。在系統開始行掃描時AT89S51的P0口輸出行掃描信號到兩塊74HC573的數據輸入端,結合片選信號SCANL、SCANH實現上、下半屏的顯示選擇,這樣可以節(jié)省大量的端口資源。其原理圖如圖7所示。2.4列驅動電路設計列驅動方案比較目前以圓半導體發(fā)光器件為顯示介質的大型顯示屏已廣泛地被應用。其控制驅動方式各種各樣,也各具特色。在LED發(fā)光管的驅動設計上也有許多的方式。由于大型的點陣顯示屏是由上萬個或幾十萬個LED發(fā)光象元組成,這也就需要大量的驅動電路來支持。則驅動電路設計的好壞就直接影響系統的生產制造成本和顯示的效果及系統的運行性能。設計一個即能滿足控制驅動要求,同時使用器件少成本低的單元控制驅動方案是必要的。下而我們就以LED16*64點陣模塊(共陰極)為顯示器件的顯示屏為例,來論述以下幾個驅動方案加以比較。(1)串行控制驅動方式所謂串行控制驅動方式就是顯示的數據是通過串行方式送入點(列)驅動電路。其特點是單元內的線路連接簡單,這給印刷電路板的設計帶來了方便。同時也減少了印刷電路板的布線密度,從而為生產和調試帶來了有利的一面。當然,單元的可靠性也相應的提高了。串行控制驅動方式可選用的芯片有:MC4094,74LS595,74HC595,6B595,9094等等。其中MC4094,6B595均為CM0S芯片,應與功率芯片結合使用:例如使用2803驅動芯片。若采用6B595或9094(74LS595也可用),則一般不需要使用功率芯片,因為這幾種芯片都具有一定的驅動能力可直接驅動LED發(fā)光管。同時,串行移位并行功率輸出的芯片(6B595,9094)自身具有級聯功能,為單元的級聯提供了支持。關于行的控制和驅動是相對容易的,因為行的工作方式是分時順序工作的。由于行的組成是幾個模塊并聯形成的,因此驅動的功率要求是比較大的。行的驅動一般是采用PNP(用于共陽方式)功率三極管,行的邏輯控制可選用三八譯碼方式和直接行線控制方式。譯碼方式是應用三條行控制線控制一個三八譯碼器(如74LS138等),八選一順序控制八條行線。直接行線控制方式是比較簡單的,這里就不贅述了。在應用串行控制驅動系統時,盡管串行移位芯片具有級聯功能,但設計時要考慮時鐘信號、使能信號、行控制信號的級聯驅動問題。另外為提高單元的多級級聯的數量,設計時要考感到每個信號的傳輸延遲,以保證控制時序的正確運行。(2)并行控制方式并行控制驅動方式就是顯示的數據是通過并行(C8位)方式送人點(列)驅動電路。每送入一個字節(jié)就完成了一個模塊的一個行的數據置入,其優(yōu)點是數據的刷新速度塊,這就減輕了上一級控制系統的壓力。在同樣的數據處理量的前提下,對處理速度要求的降低,就意味著對系統投入的降低。同時處理速度的降低也相應地提高了系統的穩(wěn)定性。在并行控制驅動方式下,我們可以選用74LS374這樣一類鎖存芯片,采用首尾相連的方式將控制、驅動一并形成。也可以將這一方式稱其為并行移位鎖存方式。這一設計方案的特點是設計線路簡潔,控制方便快速。系統的整體投入成本比較低.這一設計方案將大大地提高系統的性能價格比。并行控制驅動方式的缺點是:由于數據是并行輸入的,這就使得單元內的線路連接復雜。由此增加了單元的印刷線路扳的設計難度。同時提高了印刷線路扳的密度,對生產加工和調試提出較高的要求。但設計難度的加大僅僅是一次性的,而生產和調試的難度是可以提高生產的手段和使用先進的儀器設備加以克服的。由于并行控制驅動方式的自身特點,使得單元的級聯不成問題。只要設計時對控制信號的級聯驅動加以注意就可以了。并行控制驅動方案中也可采用總線式結構,即選用的八位鎖存器不是首尾級聯方式而是共用總線方式。但這種方式將增加控制邏輯的投入,也就是說每個鎖存器都要有一個獨立的鎖存控制時鐘:因此,這一方式一般不采用。(3)高度集成專用芯片的應用隨著微電子技術的不斷發(fā)展,以及大型電子顯示屏應用的日益廣泛,一種高度集成的LED顯示屏控制驅動專用芯片出現了,例如:ZQL9701芯片。ZQL9701芯片是集行控制、列控制和一些外圍驅動電路于一身的高度集成控制驅動芯片。采用ZQL701芯片將會使單元的控制、驅動更為簡單,高度的集成化也使系統的穩(wěn)定性更為可靠。另外,ZQL9701芯片在單元的級聯方而也提供了充分的支持。采用ZQL9701芯片將使系統的顯示灰度達到256級。采用ZQL9701芯片設計顯示單元時,由于ZQL9701芯片是表面封裝器件,這就需要用專用的生產設備進行生產。這對一般的生產單位是要考慮的問題??傊?,采用專用芯片設計的顯示單元的性能得到極大的提高。但系統的成本也要提高,在應用中要給子重視[8]。列驅動方式選擇(1)74HC595簡介通過以上幾種方案的比較,結合本LED顯示系統的要求:亮高度、模塊化、可靠性高、級聯方便、維護簡單等特點,我們取用第一種驅動方案,即串行控制方式。選用74HC595做列數據驅動芯片?,F對74HC595具體工作原理說明如下:74HC595是硅結構的CMOS器件,兼容低電壓TTL電路,遵守JEDEC標準。74HC595是8位串行輸入,8位串行或并行輸出,具有高阻關斷狀態(tài)。74HC595的特點是,8位串行輸入,8位串行或并行輸出,存儲狀態(tài)寄存器,輸出寄存器可以直接清零,100Hz的移位頻率。74HC595的移位寄存器和存儲器是分別的時鐘。數據在SCHcp的上升沿輸入,在STcp的上升沿進入的存儲寄存器中去。如果兩個時鐘連在一起,則移位寄存器總是比存儲寄存器早一個脈沖。移位寄存器有一個串行移位輸入(Ds),和一個串行輸出(Q7’),和一個異步的低電平復位,存儲寄存器有一個并行8位的,具備三態(tài)的總線輸出,當使為低電平時,存儲寄存器的數據輸出到總線。74HC595引腳功能如表2所示。表274HC595引腳功能表符號引腳描述Q0-Q715,1-7并行數據輸入GND8接地Q7’9串行數據輸出10主復位(低電平)SHCP11移位寄存器時鐘輸入STCP12存儲寄存器時鐘輸入13輸出有效(低電平)DS14串行數據輸入VCC16電源(2)74HC595級連刷新的狀態(tài)下,整個屏幕分為16行掃描顯示,在一行中,每個字占兩個字節(jié)數據,則掃描一行的時候要傳輸2個字節(jié)的數據,而掃描行與行之間的時間隔不能大于1.25ms(刷新率5OHz)。本系統采用了數據串行傳輸的方案。顯示數據按2個字節(jié)的形式順序排放,顯示時把一行中各列的數據都傳送到相應的列驅動器中。單片機從存儲器中讀出8bit數據按順序一位一位的輸出給列驅動器。與此同時,列驅動器中每一列都把當前數據傳向后一列,并從前一列接收新數據,當一行的各列數據都已經傳輸到位,這一行的各列才能并行的進行顯示。由74HC595組成的列驅動器中,第一片列驅動器的SER端連接單片機輸出端口P2.1,其QH端連接下一片的SER端,兩片74HC595相應的SRCLK、SRCLR、RCLK端分別并聯,作為統一的串行數據移位寄存器、串行數據清除信號和存儲數據時鐘輸入信號。這樣的結構,使得單片機能把顯示數據依次輸入到相應移位寄存器輸出端,移位過程結束后,控制器輸出SRCLK打入信號,各列顯示數據一起打入相應的輸出鎖存器,通過選通相應的行,該行的各列就按照顯示數據的要求進行顯示。用兩片8位移位寄存器74HC595(為了電路板簡潔美觀,74HC595采用的是貼片封裝),采用首尾相連以驅動16列LED。列驅動電路原理圖如圖8所示。圖8列驅動電路原理圖2.5數據存儲器接口設計數據存儲器芯片介紹本LED顯示系統的一個特點是:自帶字庫。本系統使用的存儲芯片為AT27C040,該芯片是AT公司生產的512K字節(jié)的FLASHROM,該芯片價格低廉,性能可靠。27C040電路是32線雙列直插式封裝,A0-A18:地址輸入線,Q0-Q7:三態(tài)數據總線,讀或編程校驗時為數據總線,編程時為數據輸入線,維持或編程禁止時呈高阻狀態(tài),CE:片選通,Vpp:編程電源線,Vcc:電源線,接+5V,GND:接地。EPROM27C040的編程時,首先設置計數器C的初值為0,然后發(fā)一個1ms寬的編程脈沖,將一個數據寫入一個單元,C加1;然后讀該單元,若讀出內容與寫入內容不符,則再發(fā)一個1ms寬的脈沖寫入該單元,C再加1。然后再讀再比較……若在第n次(n<25)讀出與寫入內容相符則為信息穩(wěn)定。接下來清零計數器C,編程下一個單元。數據存儲器接口連接圖9字庫存儲電路單片機接收到上位機發(fā)送的機內碼后,首先將其存儲到片內寄存器中,再經過相應漢字點陣字模的程序處理計算出相應漢字字模的點陣數據存放地址,然后根據地址從大容量存儲器AT27C040中依次提取顯示數據。數據存入顯示緩沖區(qū)后,開始控制顯示屏的顯示。其詳細電路圖如圖9所示。2.6串行接口電路本系統采用的RS-232C串行通信接口標準。他是EIA40年前為公用電話網絡數據通信而制定的標準,由于RS232的發(fā)送和接收是"對地”而言的,采用非平衡模式傳輸,存在共地噪聲,所以其最大傳輸距離和速率在標準中被限定為15米和19200bit/s。從機械特性而言,RS-232包括標準的25針及其簡化的9針引腳排列。實際上,RS-232C的25條引線中有許多是很少使用的,要完成最基本的串行通信功能,只需要R*D.T*D和GND即可。表3為常用的9針接口各引腳的信號功能。表39芯D型插頭引腳信號描述引腳信號信號源類型描述1DCDDCE控制載波信號檢測2R*DDCE數據數據接收3T*DDTE數據數據發(fā)送4DTRDTE數據數據終端準備好5GND——信號地6DSRDCE控制數據設置準備好7RTSDTE控制請求發(fā)送8CTSDCE控制清除發(fā)送9RIDCE控制振鈴提示從電氣特性而言,RS-232總線的邏輯電平與TTL電平完全不兼容,鑒于51系統電路所定義的高、低電平為TTL電平,TTL的標準邏輯"1”對應2V~3.3V電平,標準邏輯"0”對應OV~0.4V電平:而一般的PC機配置的是RS-232標準串行接口,RS-232C標準采用負邏輯方式,標準邏輯"1”對應-5V~-15V電平,標準邏輯"0”,對應+5V~+15V電平,顯然,兩者的電氣規(guī)范不一致,因此要完成PC機與51系統的數據通訊,必須進行電平轉換。目前常使用的電平轉換芯片為MA*232。圖10為本系統的RS-232通訊接口電路圖。電容C4,C5,C6,C7都是2.2uF,在這里的作用是電壓變換時進行充放電。圖10MA*232與單片機硬件接口3系統軟件設計3.1上位機系統軟件設計我選擇的上位機開發(fā)語言為C++Builder,編輯調試環(huán)境為波蘭公司的BorlandC++Builder6(BCB6.0)。BCB6.0是一種以C++語言為基礎,面向對象的典型的VCL編程語言,編程效率高,需要用戶輸入的代碼很少,執(zhí)行效率也很高。上位機軟件是整個系統的控制核心,主要負責與LED顯示屏通訊時串口的選擇以及相應串口參數的配置,同時完成LED顯示屏的顯示方式、移動速度參數的設置。其操作界面如圖11所示。圖11顯示屏控制軟件界面顯示屏控制系統的軟件主要由主程序和一個中斷程序組成。主程序主要完成系統的初始化和參數的配置與檢測,并與顯示屏硬件進行串口通信。中斷程序由一個定時器服務程序完成在規(guī)定的時間內對顯示屏信息刷新,以防止顯示屏的顯示出現亂碼或停止等現象。程序開始運行后,一直處于等待控制參數輸入狀態(tài),當用戶將串口及其相應參數配置后,被選擇的串口將被打開同時系統會按輸入的參數配置串口波特率,然后系統處于等待用戶輸入顯示屏控制信息狀態(tài)??刂菩畔@示方式、移動速度。當用戶點擊發(fā)送按鈕時,程序開始檢查所輸入的參數和信息是否全部正確。如果全部正確則開始向串口發(fā)送控制和顯示數據,發(fā)送數據的排列方式如表4所示;如果檢查到有錯誤信息,表4串口發(fā)送數據的排列方式第1幀第2幀第3-4幀顯示方式移動速度漢字機內碼則按錯誤信息提示用戶重新配置發(fā)生錯誤的參數或顯示信息。上位機控制軟件流程如圖12所示。具體程序見附錄3。YY開始參數及變量初始化參數是否設置正確初始化串口并提取相關顯示信息發(fā)送相關信息返回N圖12上位機顯示屏控制軟件流程圖3.2下位機系統軟件設計YN是否中斷執(zhí)行中斷函數顯示數據等待中斷YN是否中斷執(zhí)行中斷函數顯示數據等待中斷初始化開始顯示屏控制軟件設計系統的總體程序流程圖如圖13所示。圖13總體程序流程圖顯示屏控制軟件用C語言編寫,基于51單片機的LED顯示屏軟件的主要功能是接收上位機下載的顯示數據,向屏體提供顯示數據和各種控制信號。顯示程序由主程序和串行口中斷服務程序兩部分組成,主程序完成必要的初始化和對LED顯示屏的動態(tài)掃描控制,按要求讀出顯示數據并產生需要的控制信號;中斷服務程序解決與上位機進行通信的問題。具體程序見附錄3。LED動態(tài)掃描程序設計動態(tài)掃描顯示的程序流程圖如圖14所示。程序原理說明:顯示采用動態(tài)掃描方案,行作選通,列作為數據準備。先選通第一行,然后列數據輸出,達到顯示了第一行的數據;在選通第二行,然后列數據輸出,達到顯示第二行的數據,依次循環(huán)顯示,就可以顯示整個畫面。掃描速度如果夠快,就可以達到無閃爍的顯示整個畫面的效果。讀取一個字節(jié)讀取一個字節(jié)發(fā)送一個字節(jié)一行信息是否發(fā)送完74HC595輸出數據延時選通一行初始化YN圖14動態(tài)掃描程序流程圖顯示數據存儲在FLASH中,先用ULN2003選通一行LED,把EPROM中的顯示數據以字節(jié)為單元取到RAM中,然后通過調用函數發(fā)送數據,把數據發(fā)送到74HC595的移位寄存器中,連續(xù)發(fā)兩次,就準備了一行的數據。然后在鎖存74HC595的移位寄存器的數據到數據鎖存器。最后輸出鎖存器中的內容就可以顯示一行的數據。通過動態(tài)掃描,循環(huán)顯示,就可以實現顯示整個畫面的顯示。其中為了滿足每一行LED燈有足夠的亮度,需要在每行顯示的時候適當延時。3.3特效顯示程序設計特效顯示方式有替換,上移,下移,左移,右移?,F在逐一介紹各個特效顯示程序的設計思路。上移方式顯示上移程序說明:由于本系統的1664LED顯示屏只能同時顯示一個字,數據緩存區(qū)可以存儲32個字節(jié)的數據(即一個漢字的點陣數據),開始顯示時首先讓屏幕完整的顯示一個漢字,等移動定時中斷觸發(fā)后,程序會提取顯示數據的指針向下移動一位,然后調用動態(tài)顯示函數顯示移動后的數據。依照次方法循環(huán)。就可以看見字是以上移顯示的方式顯示。上移動態(tài)顯示的流程圖如圖15所示。指針指針i+1調用動態(tài)掃描函數等待延時中斷指針i=0(i++)<64NY初始化圖15上移顯示程序流程圖下移方式顯示下移程序說明:向下移動顯示的方式是與上移動剛剛相反。由于本系統的1664LED顯示屏只能同時顯示一個字,數據緩存區(qū)可以存儲32個字節(jié)的數據(即一個漢字的點陣數據),開始顯示時首先讓屏幕完整的顯示一個漢字,等移動定時中斷觸發(fā)后,程序會將提取顯示數據的指針向上移動一位,然后調用動態(tài)顯示函數顯示移動后的數據。依照次方法循環(huán)。就可以看見字是以下移顯示的方式顯示。下移動態(tài)顯示的流程圖如圖16所示。指針16-指針16-i調用動態(tài)掃描函數等待延時中斷指針i=0(i++)<16NY初始化圖16下移顯示程序流程圖左移方式顯示左移顯示程序說明:左移的設計思路與上下移動的顯示方式的設計思路不一樣。具體是:當需要左移時,把需要顯示的數據在內存中作相應的改變,然后調用動態(tài)顯示函數,再延時,按照此方法循環(huán),就可以看見左移的顯示方式。在內存中數據的左移的具體方法是:根據顯示屏每行的顯示數據與內存中存儲地址的對應關系。內存中存儲的一個漢字的編碼在32個字節(jié)中。A[0][0]、A[0][1]對應第一行的信息。A[1][0]、A[1][1]對應第2行的信息,其他依此類推。如對一行信息左移,把A[0][0]先保存在一個變量B中,在把A[0][0]左移一位;把A[0][1]的數據保存在變量B1中,然后把A[0][1]的數據左移一位,然后把B,B1左移7位,最后B變量或上A[0][1],B1變量或上A[0][0]。就實現了內存變量左移。其他行信息的左移也按照此辦法。左移顯示流程圖如圖17所示,左移顯示數據程序流程圖如圖18所示。初始化調用動態(tài)顯示初始化調用動態(tài)顯示函數延時顯示數據左移函數保存地址A[i][0],A[i][1]于變量B,B1A[i][0],A[i][1]左移一位B,B1左移7位A[i][0]|=B1,A[i][1]|=Bi=(i+1)i>16i=0YN初始化圖17左移顯示流程圖圖18左移顯示數據程序流程圖右移方式顯示右移顯示程序說明:當需要右移時,把需要顯示的數據在內存中作相應的改變,然后調用動態(tài)顯示函數,再延時,按照此方法循環(huán),就可以看見右移的顯示方式。在內存中數據的右移的具體方法是:根據顯示屏每行的顯示數據與內存中存儲地址的對應關系。內存中存儲的一個漢字的編碼在32個字節(jié)中。A[0][0]、A[0][1]對應第一行的信息。A[1][0]、A[1][1]對應第2行的信息,其他依此類推。如對一行信息右移,把A[0][0]先保存在一個變量B中,在把A[0][0]右移一位;把A[0][1]的數據保存在變量B1中,然后把A[0][1]的數據右移一位,然后把B,B1右移7位,最后B變量或上A[0][1],B1變量或上A[0][0]。就實現了內存變量右移。其他行信息的右移也按照此辦法。右移顯示流程圖如圖19所示,右移顯示數據程序流程圖如圖20所示。保存地址保存地址A[i][0],A[i][1]于變量B,B1A[i][0],A[i][1]右移一位B,B1右移7位A[i][0]|=B1,A[i][1]|=Bi=(i+1)i>16i=0YN初始化初始化初始化調用動態(tài)顯示函數延時顯示數據右移函數圖19右移顯示流程圖圖20右移顯示數據流程流程圖3.4.漢字提取程序設計在本系統中,每個漢字的顯示采用16×64點陣方式顯示。國標GB2312-80一、二級漢字點陣庫存放在一片EPROM芯片AT27C040中,每個漢字占用32個字節(jié)。當需要顯示漢字時,首先根據區(qū)碼和位碼計算出該漢字點陣在EPROM中存放的起始地址,然后從此地址連續(xù)的取出32個字節(jié)的漢字點陣,并寫入到數據緩存區(qū)。根據漢字區(qū)位碼計算漢字在字庫ROM位置的轉換關系可概括為:起始地址=(區(qū)碼×94+位碼)×32單片機從上位機接收漢字的機內碼,然后根據機內碼計算區(qū)位碼,并根據區(qū)位碼計算出該漢字在字模中的起始地址。圖21是漢字提取軟件流程圖,具體程序見附錄3。計算字庫中漢字的起始位置計算字庫中漢字的起始位置連續(xù)取32個字節(jié)數據寫入數據緩存區(qū)開始提取機內碼計算區(qū)位碼值是否接收到串口數據返回N圖21字庫數據提取程序流程圖4、系統調試4.1硬件調試這次設計PCB板,為了縮小PCB板的面積,我采用了雙面板設計,同時還選擇了將部分元器件改為貼片元件,除單片機,EPROM需要經常擦寫的元器件采用雙列直插(DPI)外,其余芯片都采用貼片,這樣就能最大限度的縮小板子的面積,最終板子的面積只有四塊LED點陣則大,充分節(jié)省了板子的制造費用。由于沒有制PCB板的經驗,所以制板的時候通過率比較低,最后在別人的指導下改變了電路布局,PCB板基本上沒有飛線了。焊接的時候因為貼片比較多所以剛開始焊的時候焊壞了幾個芯片,最后通過請教別人掌握了焊貼片的方法。硬件調試該硬件板子已經引出了所有器件的引腳,方便調試時候測試各個引腳的電壓值。硬件實物圖見附錄1。LED顯示屏調試由于每塊LED顯示屏有24個引腳,但是顯示屏只需要用到16個引腳,即8個引腳為行,8個引腳接為列,其他的引腳是多余的。這就需要確定行引腳與列引腳是那些。我用的測試辦法是:先選定一個引腳,假設其為正,然后用模擬外用表的黑表筆接到此引腳,用紅表筆依次接觸顯示屏的其他引腳。如果LED亮,說明其為正引腳。如果不亮,在換到其他的引腳,直到有LED點亮。然后觀察被點亮的LED燈具體在哪一行,就可以判定此引腳具體在哪一行;同時在根據被點亮的LED燈,觀察顯示屏,可以判定列引腳具體對應屬于第幾列。按照此方法,很快就可以區(qū)分出行、列引腳。驅動電路調試(1)列驅動電路調試列驅動電路兩個主控芯片74HC595的級連電路是否連接正確,直接影響到顯示數據的正確傳輸和點陣屏幕數據的顯示,從而會影響整個系統的運行,主要的調試方法是首先用萬用表測量每個74HC595的電源端是否連接正確,保證了74HC595供電正確后,再用萬用表測試相關引腳與單片機的連接是否正常。(2)行驅動電路調試行驅動電路中用到了74HC573和ULN2003兩種芯片,其中74HC573負責上下半屏的選擇,同時也關系到數據總線的復用,所以它的連接正確也關系到整個系統的正常運行,具體測試方法與74HC595一樣,先測量供電是否正確,再測量各個引腳與單片機連接是否正確。ULN2003是負責行電路的驅動,它的連接正確直接關系到顯示屏幕的亮度,如果在這里出問題的話,屏幕會變暗,或者會不亮。具體測試方法與74HC595一樣。串口通信電路調試串口通信電路測試主要是測試MA*232電路是否工作正常,測試方法是:首先檢測供電電路是否正確,然后在PC上用串口調試助手發(fā)送數據到單片機,使單片機實現預定功能,同時單片機也自動發(fā)送收到的數據到PC,數據正確則證明電路工作正常。4.2軟件調試本系統而言,軟件調試的工作分為兩大部分。一是在單片機上通過軟件調試,實現顯示屏的顯示效果達到無閃爍,無余輝的顯示圖象信息。二是在PC上利用自己編寫的軟件程序將數據發(fā)送到單片機,實現準確接收數據,并且顯示接收到的數據。下位機軟件調試下位機軟件調試主要是對行電路驅動、列電路驅動和串口通訊程序的調試。主要部分調試介紹如下:(1)行電路驅動軟件程序主要是實現對74HC573的數據的準確輸送和瑣存,在編寫程序的時候首先讓單片機的P1口輸出一組數據,然后在其瑣存使能端加一高電平之后用萬用表測試74HC573的數據輸出端數據是否與輸入端相同,用同樣的方法再將第二塊74HC573數據瑣存不同的數據,看兩個74HC573輸出數據是否不一樣,如果不一樣則說明程序編寫成功。(2)列電路驅動驅動軟件程序主要是實現對74HC595的數據的準確輸送和瑣存,在編寫程序的時候首先利用單片機的P2口的P2.2、P2.3、P2.5相互組合串行輸出一組數據后瑣存其數據,用同樣的方法再將第二塊74HC573數據瑣存不同的數據,然后用萬用表測試74HC573的數據輸出端數據是否與輸入數據相同,看兩個74HC573輸出數據是否不一樣,如果不一樣則說明程序編寫成功。(3)串口通訊程序的調試主要是利用串口助手V1.0幫助調試,通過發(fā)送一組數據,看接收處的數據是否與發(fā)送處的數據完全一樣,如果一樣則說明程序編寫成功。上位機軟件調試上位機調試主要是在下位機調試完畢后進行。在調試過程中要充分考慮控制系統有可能出現的所有問題,并要對不同的問題做出不同的回應,其中包括參數的配置、串口的選擇和輸入數據的數量檢查。所有程序編寫完后就開始上位機程序的驗證,具體方法是通過軟件向下位機發(fā)送數據,當下位機能準確的收到上位機的信息時候,上位機便調試成功了。上位機的調試主要是在圖22的界面下進行。圖22上位機調試界面結論本設計針對顯示內容可任意修改、顯示方式可任意設定等要求,采用了顯示板模塊化、產品化設計,設計出一套顯示效果好、質量可靠的LED顯示系統。該系統具有以下的優(yōu)點。(1)模塊化電路系統,電路設計按照功能分成不同模塊,每個模塊之間僅需要極少的連線,大大提高了系統穩(wěn)定性、可靠性。安裝、調試、維護簡單方便,難度大大降低。(2)方案的設計、硬件軟件的設計、器件的選取、制造工藝等諸多方面采取有效可行的技術手段,全面考慮各種可能存在的干擾因素,確保系統穩(wěn)定安全可靠的運行。(3)用面向對象的編程言語實現了界面友好、圖像顯示、內容豐富、方便擴展的人機接口。系統的實際運行結果表明,本系統能夠顯示從上位機發(fā)送的數據,并且能夠以指定的方式顯示。但是由于是初次用單片機進行系統開發(fā),所以也有一些的問題。由于是第一次制作PCB板對元器件的封裝不熟悉,導致出現兩處封裝的失誤,嚴重影響電路板的整體外觀。該系統如果要具有實際應用價值,還要在設計上作一些改進。比如說增加LED顯示屏的面積,增加上位機的功能。通過這次設計,培養(yǎng)了我的動手能力,對單片機以及一些專業(yè)基礎知識有了更深的理解。在單片機學習方面有了強烈的興趣,特別是在單片機的應用方面。致首先,我要感謝我的導師武剛老師在畢業(yè)設計中對我給予的悉心指導。在我畢業(yè)論文寫作期間,實驗室的老師給我提供了各種專業(yè)知識上的指導,沒有您們的幫助,我不會這么順利的完成畢業(yè)設計,借此機會,向您們表示由衷的感謝。同時還要感謝學院實驗室在畢業(yè)設計期間提供給我們優(yōu)越的實驗條件。接著,我要感謝同組的各位同學。在畢業(yè)設計的短短3個月里,你們給我提出很多寶貴的意見,給了我不少幫助還有工作上的支持,在此也真誠的謝謝你們。和他們的相互幫助和啟發(fā)中,才有我今天的小小收獲。最后我要深深地感謝我的家人,正是他們含辛茹苦地把我養(yǎng)育成人,在生活路上的和學習上給予我無盡的愛、理解和支持,才使我時刻充滿信心和勇氣,克服成長種種困難,順利的完成大學學習。

還有許許多多給予我學業(yè)上鼓勵和幫助的老師、同學,在此也一并表示忠心地感謝!參考文獻[1]梁家海.基于MCS-51系列單片機的并發(fā)式顯示系統的設計[J].欽州學院學報,2009,13(6):18-22[2]趙曉安.mcs-51單片機原理及應用[M].天津:天津大學,2007.3:38-43[3]彭鈴,只佩華.單片機對LED顯示屏的控制系統[J].河北人學學報(自然科學版),2008,13(3):86-89[4]馬忠梅.基于單片機的LED顯示系統的驅動研究.[J].單片機愛好者,2006.12(7):23-26[5]李群芳.單片機微型計算機與接口技術[M].:電子工業(yè)出版社,2005.9:67-74[6]陳保江.LED顯示技術的發(fā)展趨勢[J].現代電子技術,2007,12(10):40-43.[7]李華.MCS-51系列單片機實用接口技術[M].:北京大學出版社,2006.12:83-104[8]李正浩,姜寶鈞.51單片機在LED數碼管顯示中的應用[J]

實驗科學與技術,2006,9(B12):38-42[9]朱祥賢,金仁貴.基于AT89C51單片機的LED彩燈控制器設計[J]

電腦知識與技術:學術交流,2006.18(12):6-11[10]梁光勝,胡紅.基于凌陽單片機的漢字點陣條屏的設計與實現[J]

現代電子技術,2006.9(23):22-26[11]周航慈.單片機程序設計基礎[M].航空航天大學出版社,2004.5:8-87[12]王成霞,薛春光.基于Jscript技術的動態(tài)時鐘和滾動字幕的設計[J];天津理工學院學報,2008,4(02):17-21[13]赫建國,鄭燕,薛延俠.單片機在電子電路設計中的應用[M].清華大學出版社,2006.4:114-139[14]張莉娟.MCS-51單片機典型程序設計的教學研究[J]

職業(yè)技術,2009.8(24).21-28[15]金瑞明,黃國輝.智能儀表LED點陣顯示模塊的設計[J];杭州電子科技大學學報,2006.13(16)14-22附錄1系統實物圖附錄2硬件電路圖RTC電路各IC的+5V電源端通信電路各IC的+5V電源端各IC的+5V電源端附錄3程序代碼//#include<vcl.h>#pragmahdrstop#include"LED.h"#include<StrUtils.hpp>//#pragmapackage(smart_init)#pragmalink"YbCommDevice"#pragmaresource"*.dfm"TForm1*Form1;//__fastcallTForm1::TForm1(TComponent*Owner):TForm(Owner){}//void__fastcallTForm1::Button1Click(TObject*Sender){Close();}//void__fastcallTForm1::Button2Click(TObject*Sender){unsignedcharerr=0;//unsignedcharjingtai;unsignedcharbiterr=0;BYTEsendBuf[3];unsignedcharlength=Edit1->Te*t.Length();if(ComboBo*1->Te*t=="串口選擇"){err=1;}if(ComboBo*4->Te*t=="波特率選擇"){err=1;}if(ComboBo*2->Te*t=="靜態(tài)顯示"){sendBuf[0]=0*01;if(length<1)biterr=1;if(length>2)biterr=2;}elseif(ComboBo*2->Te*t=="向上滾動"){sendBuf[0]=0*02;if(length<1)biterr=1;if(length>

溫馨提示

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

評論

0/150

提交評論