XX大學
開發(fā)性實驗結(jié)題報告
學
院:
電子工程學院
班
級:光信
姓
名:
學
號:
班
級:光信
姓
名:
學
號:
班
級:光信
姓
名:
學
號:
2014年X月X日
1632點陣LED電子顯示屏
摘要:
本設計是一16×32點陣LED電子顯示屏的設計。
整機以美國ATMEL
公司生產(chǎn)的40腳單片機AT89C52為核心,介紹了以它為控制系統(tǒng)的LED點陣電子顯示屏的動態(tài)設計和開發(fā)過程。通過該芯片控制兩個行驅(qū)動器74HC573和四個列驅(qū)動器74HC573來驅(qū)動顯示屏顯示。該電子顯示屏可以顯示各種文字或單色圖像,全屏采用8塊8×8點陣LED顯示模塊來組成16×32點陣顯示模式。文中詳細介紹了LED點陣顯示的硬件設計思路、硬件電路各個部分的功能及原理、相應軟件的程序設計,以及使用說明等。
單片機控制系統(tǒng)程序采用單片機C語言進行編輯,通過編程控制各顯示點對應LED陽極和陰極端的電平,就可以有效的控制各顯示點的亮滅。LED顯示以其組構(gòu)方式靈活、顯示穩(wěn)定、功耗低、壽命長、技術(shù)成熟、成本低廉等特點得到廣泛的應用。
關鍵詞:AT89C51單片機;LED;點陣顯示;動態(tài)顯示;C語言。
一
緒論
LED顯示屏是利用發(fā)光二極管點陣模塊或像素單元組成的平面式顯示屏幕。它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內(nèi)外環(huán)境適應能力強等優(yōu)點。并廣泛的應用于公交汽車,碼頭,商店,學校和銀行等公共場合的信息發(fā)布和廣告宣傳。LED顯示屏經(jīng)歷了從單色,雙色圖文顯示屏到現(xiàn)在的全彩色視頻顯示屏的發(fā)展過程,自20世紀八十年代開始,LED顯示屏的應用領域已經(jīng)遍布交通、電信、教育、證券、廣告宣傳等各方面。
LED點陣顯示屏概述
LED點陣顯示屏的構(gòu)成型式有多種,其中典型的有兩種。一種把所需展示的廣告信息燒寫固化到EPROM芯片內(nèi),能進行固定內(nèi)容的多幅漢字顯示,稱為單顯示型;另一種在機內(nèi)設置了字庫、程序庫,具有程序編制能力,能進行內(nèi)容可變的多幅漢字顯示,稱可編程序型。
目前,國內(nèi)的LED點陣顯示屏大部分是單顯示型,其顯示的內(nèi)容相對較少,顯示花樣較單一。一般在產(chǎn)品出廠時,顯示內(nèi)容就已寫入顯示屏控制系統(tǒng)中的EPROM芯片內(nèi),當需要更換顯示內(nèi)容時就非常困難,這樣使該類型的顯示屏使用范圍受到了限制。
國內(nèi)的另一種LED顯示屏——可編程序型LED顯示屏,雖然增加了顯示屏系統(tǒng)的編程能力,顯示內(nèi)容和顯示花樣都有所增加,但也存在著更換顯示內(nèi)容不便的缺點。隨著社會經(jīng)濟的迅速發(fā)展,如今的廣告牌都存在著顯示內(nèi)容豐富、信息量大、信息更換速度快等特點。因此傳統(tǒng)的LED顯示屏控制系統(tǒng)已經(jīng)越來越不能滿足現(xiàn)代廣告宣傳業(yè)的需要。而利用PC機通信技術(shù)控制LED顯示屏,則具有顯示內(nèi)容豐富,信息更換靈活等優(yōu)點。
LED顯示屏控制技術(shù)狀況
顯示屏的控制系統(tǒng)包括輸入接口電路、信號控制、轉(zhuǎn)換和數(shù)字化處理電路及輸出接口電路等,涉及的具體技術(shù)很多,其關鍵技術(shù)包括串行傳輸與并行傳輸技術(shù)、動態(tài)掃描與靜態(tài)鎖存技術(shù)、自動檢測及遠程控制技術(shù)等。
二
系統(tǒng)總體設計方案
需要實現(xiàn)的功能
設計一個室內(nèi)用16×32點陣LED圖文顯示屏,要求在目測條件下LED顯示屏各點亮度均勻、充足,可顯示圖形和文字,顯示圖形或文字應穩(wěn)定、清晰無串擾。圖形或文字顯示有靜止、移入移出等顯示方式。
LED顯示特點
從理論上說,不論顯示圖形還是文字,都是控制與組成這些圖形或文字的各個點所在位置相對應的LED器件發(fā)光。通常事先把需要顯示的圖形文字轉(zhuǎn)換成點陣圖形,再按照顯示控制的要求以一定的格式形成顯示數(shù)據(jù)。對于只控制通斷的圖文顯示屏來說,每個LED發(fā)光器件占據(jù)數(shù)據(jù)中的1位(1bit),在需要該LED器件發(fā)光的數(shù)據(jù)中相應的位填1,否則填0。當然,根據(jù)控制電路的安排,相反的定義同樣是可行的。這樣依照所需顯示的圖形文字,按顯示屏的各行各列逐點填寫顯示數(shù)據(jù),就可以構(gòu)成一個顯示數(shù)據(jù)文件。
顯示圖形的數(shù)據(jù)文件,其格式相對自由,只要能夠滿足顯示控制的要求即可。文字的點陣格式比較規(guī)范,可以采用現(xiàn)行計算機通用的字庫字模。組成一個字的點陣,其大小也可以有16×16、24×24、32×32、48×48等不同規(guī)格。漢字的點陣結(jié)構(gòu)相應的顯示數(shù)據(jù)是用16進制格式以字節(jié)為單位表示的。
用點陣方式構(gòu)成圖形或文字,是非常靈活的,可以根據(jù)需要任意組合和變化,只要設計好合適的數(shù)據(jù)文件,就可以得到滿意的顯示效果。因而采用點陣式圖文顯示屏顯示經(jīng)常需要變化的信息,是非常有效的。點陣顯示方式適應信息變化的優(yōu)點,是以點陣顯示器的價格和其復雜的控制電路為代價的。點陣顯示器在整個顯示單元的所有位置上都布置了LED器件,而像數(shù)碼管一類的顯示器件只在需要發(fā)光的七段位置上布置LED器件,其它位置是空白的。因此,點陣顯示器在相同面積情況下,價格要貴些。但是,數(shù)碼管可顯示的信息有限,只有0~9或單個的英文字符,由于組合形成的字符不多,所以其顯示數(shù)據(jù)和控制電路都比較簡單。點陣顯示器則不然,它要對點陣上全部LED進行控制,并能生成所有可能顯示的圖形文字,其顯示數(shù)據(jù)和控制電路自然要復雜得多。
設計方案論證:
3.1顯示模式方案
為了吸引觀眾增強顯示效果,可以有多種顯示模式,最簡單的顯示模式是靜態(tài)顯示。這里所說的“靜態(tài)顯示模式”不同于靜態(tài)驅(qū)動方式。與靜態(tài)顯示模式相對應,就有各種動態(tài)顯示模式,它們所顯示的圖文都是能夠動的。按照圖文運動的特點又可以分為閃爍、平移、旋轉(zhuǎn)、縮放等多種顯示模式。產(chǎn)生不同顯示模式的方法,并不意味著一定要重新編寫顯示數(shù)據(jù),可以通過一定的算法從原來的顯示數(shù)據(jù)直接生成。例如,按順序調(diào)整行號,可以使顯示圖文產(chǎn)生上下平移;而順序調(diào)整列顯示數(shù)據(jù)的位置,就可以達到左右平移的目的;同時調(diào)整行列順序,就能得到對角線平移的效果。其它模式的數(shù)據(jù)刷新,也可找到相應的算法。不過當算法太復雜,太浪費時間的話,也可以考慮預先生成刷新數(shù)據(jù),存儲備用。刷新的時間控制,要考慮運動圖形文字的顯示效果。刷新太慢,動感不顯著;刷新太快了,中間過程看不清。一般刷新周期可控制在幾十毫秒范圍之內(nèi)。
動態(tài)掃描的意思簡單地說就是逐行輪流點亮,這樣掃描驅(qū)動電路就可以實現(xiàn)多行(比如16行)的同名列共用一套列驅(qū)動器,每行有一個行驅(qū)動器,具體就16×32的點陣來說,把所有同一行的發(fā)光管的陽極連在一起,把所有同一列的發(fā)光管的陰極連在一起(共陽的接法),由行譯碼器給出的行選通信號,從第一行開始,按順序依次對各行進行掃描(把該行與電源的一端接通)。
另一方面,根據(jù)各列鎖存的數(shù)據(jù),確定相應的列驅(qū)動器是否將該列與電源的另一端接通。接通的列,就在該行該列燃亮相應的LED;未接通的列所對應的LED熄滅。當一行的掃描持續(xù)時間結(jié)束后,該行燃亮的LED也就熄滅;下一行又以同樣的方法進行顯示。全部各行都掃過一遍之后(一個掃描周期),又從第一行開始下一個周期的掃描。只要一個掃描輪回的速度足夠快(每秒24次以上),由于人眼的視覺暫留現(xiàn)象,就不容易感覺出閃爍現(xiàn)象,就能看到顯示屏上穩(wěn)定的圖形了。而且動態(tài)掃描方式功耗低,硬件成本低,每個LED都不是連續(xù)工作,因而還有利于延長LED的使用壽命。
3.2
數(shù)據(jù)傳輸方案
采用掃描方式進行顯示時,顯示數(shù)據(jù)通常存儲在單片機的存儲器中,按8位一個字節(jié)的形式順序排放。顯示時要把一行中各列的數(shù)據(jù)都傳送到相應的列驅(qū)動器上去,這就存在一個顯示數(shù)據(jù)傳輸方式的問題。從控制電路到列驅(qū)動器的數(shù)據(jù)傳輸可以采用并行方式或串行方式。顯然,采用并行方式時,從控制電路到列驅(qū)動器的線路數(shù)量大,相應的硬件數(shù)目多。當列數(shù)很多時,并行傳輸?shù)姆桨甘遣豢扇〉摹?/p>
采用串行傳輸?shù)姆椒?,控制電路可以只用一根信號線,將列數(shù)據(jù)一位一位傳往列驅(qū)動器,在硬件方面無疑是十分經(jīng)濟的。但是,串行傳輸過程較長,數(shù)據(jù)要經(jīng)過并行到串行和串行到并行兩次變換。首先,單片機從存儲器中讀出的8位并行數(shù)據(jù)要通過并串變換,按順序一位一位地輸出給列驅(qū)動器。與此同時,列驅(qū)動器中每一列都把當前數(shù)據(jù)傳向后一列,并從前一列接收新數(shù)據(jù),一直到全部列數(shù)據(jù)都傳輸完為止。只有當一行的各列數(shù)據(jù)都已傳輸?shù)轿恢?,這一行的各列才能并行地進行顯示。這樣,對于一行的顯示過程就可以分解列數(shù)據(jù)準備(傳輸)和列數(shù)據(jù)顯示兩個部分。對于串行傳輸方式來說,列數(shù)據(jù)準備時間可能相當長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以至影響到LED的亮度。
解決串行傳輸中列數(shù)據(jù)準備和列數(shù)據(jù)顯示的時間矛盾問題,可以采用重疊處理的方法。即在顯示本行各列數(shù)據(jù)的同時,準備下一行的列數(shù)據(jù)。為了達到重疊處理的目的,列數(shù)據(jù)的顯示就需要具有鎖存功能。
經(jīng)過上述分析,可以歸納出列驅(qū)動器電路應具備的主要功能。對于列數(shù)據(jù)準備來說,它應能實現(xiàn)串入并出的移位功能;對于列數(shù)據(jù)顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數(shù)據(jù)打入并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數(shù)據(jù),而不會影響本行的顯示。圖2-1為顯示屏電路實現(xiàn)的結(jié)構(gòu)框圖。
單片機
列驅(qū)動器
四個74HC573
兩個74HC573
列
LED顯示點陣
16x32
電源
顯示屏電路框圖
三
硬件系統(tǒng)設計
元器件的選擇
元件編號
規(guī)格參數(shù)
LED
16x32點陣
PCB板
20cm*20cm環(huán)氧板
U1~
U6
74HC573
U7
AT89C52
U8,U9
74HC02
R1~R33
330歐姆
C1、C2
22pF
晶振
1個
可行性分析:作品選用52做核心,相對于其他芯片52讀取也很方便,價格低廉。選取138以及02選通74HC573做行、列驅(qū)動器。之所以選取138以及02是因為用138及02選通573是因為,當138選通573時其他573被默認關閉,這給軟件編寫提供了很大便利。用573而不用595做驅(qū)動是因為對573熟悉,對以前學過的硬件有一個復習鞏固的作用。沒有用2803做驅(qū)動是因為573提供的電壓完全可以提供16x32LED燈的兩端電壓。
芯片簡介
(1)AT89C52
AT89C52是美國ATMEL公司生產(chǎn)的8位Flash
ROM單片機。其最突出的優(yōu)點是片內(nèi)ROM為Flash
ROM,可擦寫1000次以上,應用并不復雜的通用ROM寫入器就能方便的擦寫,讀取也很方便,價格低廉,具有在片程序ROM二級保密系統(tǒng)。因此可靈活應用于各種控制領域。AT89C52包含以下一些功能部件:
(1)一個8位CPU;
(2)一個片內(nèi)振蕩器和時鐘電路;
(3)4KB
Flash
ROM;
(4)128B
內(nèi)RAM;
(5)可尋址64KB的外ROM和外RAM控制電路;
(6)兩個16位定時/計數(shù)器;
(7)21個特殊功能寄存器;
(8)4個8位并行I/O口;
AT89C52單片機一般采用雙列直插DIP封裝,共40個引腳,圖3-3為其引腳排列圖。40個引腳大致可分為4類:電源、時鐘、控制各I/O引腳。
電源
Vcc——芯片電源,接+5V;GND——接地端。
時鐘
XTAL1、XTAL2——晶體振蕩電路反相輸入端和輸出端。
單片機系統(tǒng)外圍電路
(2)74HC573
編程時,先將使能端置1,此時輸出數(shù)據(jù)和輸入數(shù)據(jù)一致;為了將輸出的數(shù)據(jù)鎖定,防止誤操作,可將使能端清0,此時,輸出端保持原有值,不再變化。(1,使能置1;
2,數(shù)據(jù)輸入到鎖存器輸入端(輸出=輸入);
3,使能置0(輸
出恒定=先前輸入);(達到鎖存功能))
74HC系列的數(shù)字集成電路,當5V供電時,輸出高電平接近5V,帶負載后,能輸出4.95V左右。
從你圖上看,這里需要573輸出高電平段碼,138輸出位碼,進行動態(tài)顯示。但是圖上有錯,為了LED安全使用,在573的輸出端與7LED連接之間,應串聯(lián)300Ω電阻。
附加:
鎖存器的作用
鎖存器(Latch)是一種對脈沖電平敏感的存儲單元電路,它們可以在特定輸入脈沖電平作用下改變狀態(tài)。鎖存,就是把信號暫存以維持某種電平狀態(tài)。鎖存器的最主要作用是緩存,其次完成高速的控制其與慢速的外設的不同步問題,再其次是解決驅(qū)動的問題,最后是解決一個
I/O
口既能輸出也能輸入的問題。
(3)74HC02
74HC02
概述
74HC02是一款高速CMOS器件,74HC02遵循JEDEC標準no.7A。74HC02引腳兼容低功耗肖特基TTL(LSTTL)系列。
74HC02實現(xiàn)了4路2輸入或非門功能。
74HC02
特性
·
輸入電平
o
74HC02
CMOS電平
·
ESD保護
o
HBM
JESD22-A114E超過2000
V
o
MM
JESD22-A115-A超過200
V
·
可選多種封裝類型
·
溫度范圍
o
-40~+85
℃
o
-40~+125
℃
(4)74HC138
CD74HC138,CD74HC238和CD74HCT138,CD74HCT238是高速硅柵CMOS解碼器,適合內(nèi)存地址解碼或數(shù)據(jù)路由應用。74HC138
作用原理于高性能的存貯譯碼或要求傳輸延遲時間短的數(shù)據(jù)傳輸系統(tǒng),在高性能存貯器系統(tǒng)中,用這種譯碼器可以提高譯碼系統(tǒng)的效率。將快速賦能電路用于高速存貯器時,譯碼器的延遲時間和存貯器的賦能時間通常小于存貯器的典型存取時間,這就是說由肖特基鉗位的系統(tǒng)譯碼器所引起的有效系統(tǒng)延遲可以忽略不計。HC138
按照三位二進制輸入碼和賦能輸入條件,從8
個輸出端中譯出一個
低電平輸出。兩個低電平有效的賦能輸入端和一個高電平有效的賦能輸入端減少了擴展所需要的外接門或倒相器,擴展成24
線譯碼器不需外接門;擴展成32
線譯碼器,只需要接一個外接倒相器。在解調(diào)器應用中,賦能輸入端可用作數(shù)據(jù)輸入端。
行、列驅(qū)動電路
行、列驅(qū)動電路由集成電路74HC573構(gòu)成,它具有一個8位串行輸入/輸出或者并行輸出的移位寄存器和一個8位輸出鎖存器的結(jié)構(gòu),而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現(xiàn)在顯示本行各列數(shù)據(jù)的同時,傳送下一行的列數(shù)據(jù),即達到重疊處理的目的。
74HC系列的數(shù)字集成電路,當5V供電時,輸出高電平接近5V,帶負載后,能輸出4.95V左右。
從你圖上看,這里需要573輸出高電平段碼,138輸出位碼,進行動態(tài)顯示。但是圖上有錯,為了LED安全使用,在573的輸出端與7LED連接之間,應串聯(lián)300Ω電阻。
行由兩個573分別控制,列由四個573控制。行給高電平,列給低電平實現(xiàn)
點陣控制。
LED顯示屏電路
LED顯示屏是將發(fā)光二極管按行按列布置的,驅(qū)動時也就按行按列驅(qū)動。在掃描驅(qū)動方式下可以按行掃描按列控制,當然也可以按列掃描按行控制。LED顯示屏現(xiàn)多采用多塊8×8點陣顯示單元拼接而成。本文就是使用8塊SBM1388型號的實驗模塊組成16×32點陣,以滿足漢字顯示的要求。8×8
LED點陣是最基本的點陣顯示模塊,理解了8×8
LED點陣的工作原理就可以基本掌握LED點陣顯示技術(shù)。8×8點陣LED結(jié)構(gòu)如圖3-10所示,其等效電路如圖3-11所示:
圖3-10
8×8點陣LED結(jié)構(gòu)圖
從圖中(本圖的LED陣列采用共陽的接法)可以看出,8×8點陣共需要64個發(fā)光二極管組成,且每個發(fā)光二極管是放置在行線和列線的交叉點上。要實現(xiàn)顯示圖形或字體,只需考慮其顯示方式,通過編程控制各顯示點對應LED陽極和陰極端的電平,就可以有效的控制各顯示點的亮滅。當采用按行掃描按列控制的驅(qū)動方式時,LED顯示屏8行的同名列共用一套列驅(qū)動器。行驅(qū)動器一行的行線連接到電源的一端,列驅(qū)動器一列的列線連接到電源的另一端。應用時還應在各條行線或列線上接上限流電阻。掃描中控制電路將行線的1到
8輪流接通高電位,使連接到各該行的全部LED器件接通正電源,但具體那一個LED導通,還要看它的負電源是否接通,這就是列控制的任務了。當對應的某一列置0電平,則相應的二極管就亮;反之則不亮。例如:如果想使屏幕左上角LED點亮,左下角LED熄滅的話,在掃描到第一行時,第一列的電位就應該為低,而掃描到第八行時第一列的電位就應該為高。這樣行線上只管一行一行的輪流導通,列線上進行通斷控制,實現(xiàn)了行掃描列控制的驅(qū)動方式。
四
系統(tǒng)軟件設計
在單片機系統(tǒng)中,硬件是系統(tǒng)的基礎,軟件則是在硬件的基礎上對其合理的調(diào)配和使用,從而完成應用系統(tǒng)所要完成的任務。軟件的設計是設計控制系統(tǒng)的應用程序。其任務是在總體設計和硬件設計的基礎上,確定程序結(jié)構(gòu),分配內(nèi)RAM資源,劃分功能模塊,然后進行主程序和各模塊程序的設計,最后連接起來成為一個完整的應用程序。
在進行系統(tǒng)總體設計時,曾經(jīng)規(guī)劃過軟件結(jié)構(gòu),但由于硬件系統(tǒng)尚未仔細確定,軟件結(jié)構(gòu)框圖十分粗糙,當硬件設計接口擴展及各功能模塊與CPU連接關系確定后,就能夠具體明確對軟件設計的要求。本設計的LED顯示屏軟件的主要功能是向屏體提供顯示數(shù)據(jù),并產(chǎn)生各種控制信號,使屏幕按設計的要求顯示。根據(jù)軟件分層次設計的原理,可把顯示屏的軟件系統(tǒng)分成兩大層:第一層是底層的顯示驅(qū)動程序,第二層是上層的系統(tǒng)應用程序。顯示驅(qū)動程序負責向屏體送顯示數(shù)據(jù),并負責產(chǎn)生行掃描信號和其它控制信號,配合完成LED顯示屏的掃描顯示工作。顯示驅(qū)動程序由定時器T0中斷程序?qū)崿F(xiàn)。系統(tǒng)應用程序完成系統(tǒng)環(huán)境設置(初始化)、顯示效果處理等工作,由主程序來實現(xiàn)。
編程思路
根據(jù)以上硬件電路和單片機控制原理,編程思路為:
a先對相關變量進行初始化。
b調(diào)用顯示程序
c裝載漢字的第一行數(shù)據(jù),并顯示出來。
d依次顯示漢字的第二行至第十六行。
e結(jié)束
程序見附錄1
流程圖:
調(diào)用顯示程序序
掃描第1行并顯示
顯示漢字
延時
掃描第2行并顯示
依次掃描3,4….16行
結(jié)束
開始
五
調(diào)試及性能分析
一個單片機系統(tǒng)經(jīng)過總體設計,完成了硬件和軟件設計開發(fā)。元器件安裝后,在系統(tǒng)的程序存儲器中寫入編制好的應用程序,系統(tǒng)即可運行。但編制好的程序或焊接好的線路不能按預計的那樣正常工作是常見的事,多少會出現(xiàn)一些硬件、軟件上的錯誤。這就需要通過調(diào)試來發(fā)現(xiàn)錯誤并加以改正。調(diào)試可分為硬件調(diào)試和軟件調(diào)試。在允許的條件下,根據(jù)本設計系統(tǒng)的需求性首先采用在PC機上用模擬開發(fā)軟件進行檢測和調(diào)試,然后進行硬件的組裝與調(diào)試。
軟件調(diào)試
軟件調(diào)試采用脫機調(diào)試的方法,即完全用仿真器軟件在PC機上對目標電路原理圖和程序進行檢測和調(diào)試。調(diào)試過程中單片機相應輸入端由通用鍵盤和鼠標設定,運行狀態(tài)、各寄存器狀態(tài)、端口狀態(tài)等都可以在CRT指定的窗口區(qū)域顯示出來,以確定程序運行有無錯誤。調(diào)試可按下列步驟進行:
目標程序糾錯
該階段工作通常在目標程序編輯時就完成。一般來說,仿真器軟件能給用戶輸入的程序指令糾錯,包括書寫格式、標號未定義或多重定義、轉(zhuǎn)移地址溢出等錯誤。
整體程序綜合調(diào)試
即把各子程序整體連起來進入到綜合電路調(diào)試,看是否能實現(xiàn)預計的功能顯示。在這階段若發(fā)生故障,可以考慮各子程序在運行時是否破壞現(xiàn)場,數(shù)據(jù)緩沖單元是否發(fā)生沖突,標志位的建立和清除在設計上是否失誤,堆棧是否溢出,輸入輸出狀態(tài)是否正常等。
硬件調(diào)試
單片機應用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的,許多硬件故障在軟件調(diào)試時才能發(fā)現(xiàn),但通常要先排除系統(tǒng)中明顯的硬件故障。調(diào)試工作可以分為四步:
目測檢查
根據(jù)硬件邏輯設計圖,仔細檢查樣機線路是否連接正確,并核對元器件的型號、規(guī)格和安裝是否符合要求,必要時可用萬用表檢測線路通斷情況。
電源調(diào)試
樣機的第一次通電測試很重要,若樣機中存在電源故障,則加電后將造成器件損壞。調(diào)試的方法有兩種:一種是斷開樣機穩(wěn)壓電源的輸出端檢查空載時電源工作情況;另一種是拔下樣機上的主要集成芯片,檢查電源的負載能力(用假負載)。確保電源無故障并性能符合設計要求。
通電檢查
在確保電源良好前提下,接通電源。最好在電源與其余電路之間串接一個電流表。若接通后電流很大,必須立即切斷電源。電源大得超出正常范圍,說明電路中有短路或故障。通電檢查的主要目的是看系統(tǒng)是否存在短路或由元器件損壞、裝配錯誤引起的電流異常。
檢查相應芯片的邏輯關系
加電后檢查各芯片插座上相關引腳的電位,仔細測量相應的輸入輸出電平是否正常。單片機系統(tǒng)大都是數(shù)字邏輯電路,使用電平檢查法可首先查出邏輯設計是否正確,選用器件和連接關系是否符合要求等。
根據(jù)實踐證明,這個方案設計的16×32點陣LED圖文顯示屏,結(jié)構(gòu)合理,成本較低,且較容易擴展成更大的顯示屏;顯示屏各點亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無串擾;可用靜止、移入移出等多種顯示方式顯示圖形或文字。
心得:
以上僅對LED顯示屏的結(jié)構(gòu)和驅(qū)動、顯示電路原理作一詳細介紹和分析。LED點陣的應用很廣,對于不同的應用環(huán)境和應用要求,可以有各種各樣的應用方式,在這里就不做詳盡敘述。由于自己知識水平的局限和時間的倉促,設計中或還存在著一些不足,我真誠的接受老師們的批評和指正。
從課題選擇、方案論證到具體設計,每一步對我來說無疑是巨大的嘗試和挑戰(zhàn),我不斷地給自己提出新的問題,然后去論證、推翻,不懂就請教學長,再接著提出新的問題,在這個往復的過程中,我這篇稚嫩的設計日趨完善。每一次改進我都收獲良多,雖然我的設計作品不是很成熟,而且借鑒了前人的很多資料,但我仍然心里有一種莫大的幸福感,因為我實實在在地走過了一個完整的設計所應該走的每一個過程,并且享受了每一個過程,更重要的是這個設計中我加入了自己鮮活的思想,而且在調(diào)試中積累了很多經(jīng)驗。
在做這次的設計過程中使我學到了很多,加深了對數(shù)子電路的理解,驗證了所學理論知識,提高了基本的解決實際問題的能力,并增加了對電子設計方面的興趣。更重要的是我體會到不論做什么事都要真真正正用心去做,才會使自己更好的成長,沒有學習就不可能有實踐的能力,實踐才是最終的目的,沒有實踐就不會有自己的突破和創(chuàng)新,希望這次的經(jīng)歷能讓我在以后的工作和生活中不斷成長與進步。
在這里要特別感謝我們的學長,謝謝他們的悉心指導!
參考文獻:馬家辰.MCS-51單片機原理及接口技術(shù).哈爾濱工業(yè)大學出版社,1997
胡漢才.單片機原理與應用.清華大學出版社
邱麗芳.單片機原理與應用
[M].北京:人民郵電出版社,2007
附錄1
#include
#define
uchar
unsigned
char
#define
uint
unsigned
int
uchar
code
atable[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}
;
uchar
code
btable[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void
delay(uint
i)
//延時1ms
{
uint
x,y;
for(x=i;x>0;x--)
for(y=115;y>0;y--);
}
void
clear()
//清屏
{
P2=0xa0;P0=0xff;
P2=0xc0;P0=0xff;
P2=0x00;P0=0xff;
P2=0x20;P0=0xff;
P2=0x40;P0=0xff;
P2=0x60;P0=0xff;
}
void
main(void)
{
uint
x;
clear();
WR
=
0;
while(1)
{
P2=0xa0;
P0=atable[0];
P2=0xe0;
P0=btable[0];
P2=0x60;
P0=0xf7;
P2=0x40;
P0=0x7f;
P2=0xc0;
P0=0xff;
P2=0x00;
P0=0xff;
delay(2);
//掃描第1行
P2=0xa0;
P0=atable[1];
P2=0xe0;
P0=btable[1];
P2=0x60;
P0=0xfb;
P2=0x40;
P0=0x07;
P2=0xc0;
P0=0xfe;
P2=0x00;
P0=0xff;
delay(2);
//2
P2=0xa0;
P0=atable[2];
P2=0xe0;
P0=btable[2];
P2=0x60;
P0=0xfd;
P2=0x40;
P0=0x7f;
P2=0xc0;
P0=0xff;
P2=0x00;
P0=0xff;
delay(2);
//3
P2=0xa0;
P0=atable[3];
P2=0xe0;
P0=btable[3];
P2=0x60;
P0=0xfe;
P2=0x40;
P0=0x7f;
P2=0xc0;
P0=0xff;
P2=0x00;
P0=0xff;
delay(2);
//4
P2=0xa0;
P0=atable[4];
P2=0xe0;
P0=btable[4];
P2=0x60;
P0=0xff;
P2=0x40;
P0=0x07;
P2=0xc0;
P0=0x01;
P2=0x00;
P0=0xff;
delay(2);
//5
P2=0xa0;
P0=atable[5];
P2=0xe0;
P0=btable[5];
P2=0x60;
P0=0xff;
P2=0x40;
P0=0x7f;
P2=0xc0;
P0=0x7f;
P2=0x00;
P0=0xff;
delay(2);
//6
P2=0xa0;
P0=atable[6];
P2=0xe0;
P0=btable[6];
P2=0x60;
P0=0xff;
P2=0x40;
P0=0x7f;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0x93;
delay(2);
//7
P2=0xa0;
P0=atable[7];
P2=0xe0;
P0=btable[7];
P2=0x60;
P0=0x80;
P2=0x40;
P0=0x07;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0x6d;
delay(2);
//8
P2=0xa0;
P0=atable[8];
P2=0xe0;
P0=btable[8];
P2=0x60;
P0=0xbf;
P2=0x40;
P0=0xff;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0x7d;
delay(2);
//9
P2=0xa0;
P0=atable[9];
P2=0xe0;
P0=btable[9];
P2=0x60;
P0=0xbf;
P2=0x40;
P0=0xff;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0xbb;
delay(2);
//10
P2=0xa0;
P0=atable[10];
P2=0xe0;
P0=btable[10];
P2=0x60;
P0=0x80;
P2=0x40;
P0=0x27;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0xd7;
delay(2);
//11
P2=0xa0;
P0=atable[11];
P2=0xe0;
P0=btable[11];
P2=0x60;
P0=0xfe;
P2=0x40;
P0=0xdb;
P2=0xc0;
P0=0xbe;
P2=0x00;
P0=0xef;
delay(2);
//12
P2=0xa0;
P0=atable[12];
P2=0xe0;
P0=btable[12];
P2=0x60;
P0=0xfe;
P2=0x40;
P0=0xfb;
P2=0xc0;
P0=0xbe;
P2=0x00;
P0=0xff;
delay(2);
//13
P2=0xa0;
P0=atable[13];
P2=0xe0;
P0=btable[13];
P2=0x60;
P0=0x80;
P2=0x40;
P0=0x77;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0xff;
delay(2);
//14
P2=0xa0;
P0=atable[14];
P2=0xe0;
P0=btable[14];
P2=0x60;
P0=0xff;
P2=0x40;
P0=0xaf;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0xff;
delay(2);
//15
P2=0xa0;
P0=atable[15];
P2=0xe0;
P0=btable[15];
P2=0x60;
P0=0xff;
P2=0x40;
P0=0xdf;
P2=0xc0;
P0=0xbf;
P2=0x00;
P0=0xff;
delay(2);
//16
}
}