![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/7/15/9caac3c2-e601-4e2e-8859-1767d84b97bb/9caac3c2-e601-4e2e-8859-1767d84b97bbpic.jpg)
![16×16_led點陣設(shè)計畢業(yè)設(shè)計_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-6/7/15/9caac3c2-e601-4e2e-8859-1767d84b97bb/9caac3c2-e601-4e2e-8859-1767d84b97bb1.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 16×16 LED點陣設(shè)計</p><p> 內(nèi)容摘要:LED點陣電子顯示屏的發(fā)展越來越好廣泛,它成為一個宣傳信息的重要平臺,已經(jīng)得到了社會的普遍認同。LED點陣顯示屏是利用發(fā)光二極管點陣模塊或像素單元組成的平面式顯示屏幕。它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內(nèi)外環(huán)境適應(yīng)能力強等優(yōu)點。 </p><p> 該設(shè)計是一個16×
2、16LED點陣電子顯示屏顯示數(shù)字的設(shè)計。整塊電子顯示屏的控制核心是40引腳的單片機AT89S51,說明了LED點陣電子顯示屏用AT89S51為控制系統(tǒng)的動態(tài)的設(shè)計和開發(fā)的具體過程。通過該芯片控制兩個列驅(qū)動器74HC595來驅(qū)動顯示屏顯示,本設(shè)計就是使用4塊8×8點陣顯示模塊來組成16×16點陣顯示屏,采用動態(tài)掃描顯示,程序編寫的實現(xiàn)是使用簡單流通性強的C語言,該設(shè)計的結(jié)果證明,系統(tǒng)顯示清晰,結(jié)構(gòu)合理,誤差小,擴展能力
3、強,性能穩(wěn)定。 </p><p> 關(guān)鍵詞:AT89S51 LED點陣 數(shù)字顯示</p><p> Design of 16*16 LED dot matrix</p><p> Abstract:LED electronic display found the screen better and better.It has become an impor
4、tant platform of a promotional information,it has been widely accepted by the society,LED dot matrix display is the use of plane composition LED lattice module or pixel unit display screen ,It has the advantages of high
5、light efficiency ,long.</p><p> The designed is a digital design of a 16*16 LED dot matrix display ,control the core piece of electronic display is the 40 pin of the microcontroller AT89S51.Describes the sp
6、ecific process of the design and development of LED dot matrix display with AT89S51 as the control system dynamic.Through the control two columns drive chip 74HC595 are needed to drive the display shows that this design
7、is to use 4 pieces of 8 x 8 dot matrix display module to form a 16 * 16 dot matrix display screen, a dynam</p><p> Keywords: AT89C51 dot matrix LED the digital display screen</p><p><b>
8、 目 錄</b></p><p><b> 前言1</b></p><p> 1 設(shè)計方案的論證與選擇1</p><p> 2硬件電路設(shè)計3</p><p> 2.1 系統(tǒng)的結(jié)構(gòu)框圖3</p><p> 2.1.1 單片機控制模塊3</p&
9、gt;<p> 2.1.2 時鐘電路4</p><p> 2.1.3 復位電路4</p><p> 2.1.4 顯示模塊5</p><p> 2.1.5 驅(qū)動模塊7</p><p> 2.2 單片機的最小系統(tǒng)圖9</p><p> 3單片機系統(tǒng)10</p>
10、<p> 3.1 8051引腳為40個的單片機芯片11</p><p> 3.1.1 引腳為Vcc和Vss 的主電源11</p><p> 3.1.2 外接晶體引腳XTAL1和XTAL211</p><p> 3.2 I/O口線的引腳排列及管腳的說明11</p><p> 3.3 RST鍵13<
11、/p><p> 3.4 PEROM陣列和鎖定位13</p><p> 4 系統(tǒng)軟件設(shè)計13</p><p> 4.1 主程序的設(shè)計及流程圖13</p><p> 4.2 顯示程序的設(shè)計14</p><p> 5 硬件的制作與調(diào)試15</p><p> 5.1 系統(tǒng)的
12、組裝15</p><p> 5.2 程序的調(diào)試16</p><p><b> 6 結(jié)束語17</b></p><p><b> 附錄18</b></p><p> 附錄1:程序清單18</p><p> 附錄2:仿真結(jié)果圖22</p>&
13、lt;p> 附錄3:Protel原理圖23</p><p> 附錄4:4個8*8LED組成的顯示屏24</p><p> 附錄5:PCB圖25</p><p><b> 參考文獻26</b></p><p> 16×16 LED點陣電子顯示屏的設(shè)計</p><p>
14、;<b> 前言</b></p><p> LED點陣電子顯示屏的制作簡單,并且便于安裝,被廣泛的應(yīng)用于各個公共場合,但是LED電子顯示屏也只能用于單一的圖像數(shù)字漢字的顯示,如果要改變顯示的內(nèi)容,必須要在上位機上進行實現(xiàn)。該設(shè)計用LED矩陣的排列來實現(xiàn)兩位數(shù)字的顯示功能。該設(shè)計是一個16×16的LED點陣的數(shù)字顯示屏。當今社會LED燈隨處可見,它使我們的生活變的五彩繽紛。LED
15、燈有白光、紅光、黃光、綠光、藍光、紫光等多種顏色,所以它是許多廣告設(shè)計著的必要品。</p><p> 我們已經(jīng)學習了單片機及相關(guān)的課程,可以利用單片機來控制LED,以達到我們所需要的顯示效果。通過16x16點陣顯示屏的設(shè)計,我們能更好的掌握單片機工作原理,把理論知識與實踐結(jié)合起來,達到學以致用的目的。通過這次的課程設(shè)計,能更好的提高我們的動手能力與解決實際問題的能力,我們現(xiàn)在的單片機的學習知識最基本的單片機知識
16、,我們想要更好的掌握它,還需要我們自己主動地更深入了解它,這次的課程設(shè)計是一個很好的深入學習的平臺,并能幫助我們掌握16X16LED點陣的工作原理。</p><p> 1 設(shè)計方案的論證與選擇</p><p> 從理論上來說,不管是顯示的是文字還是圖像,我們只要控制了各個組成文字或者是圖像的對應(yīng)的LED點的發(fā)光器件,我們就能得到想要顯示的圖像或者文字,這種控制方法就是靜態(tài)驅(qū)動顯示方式
17、。該方式顯示的程序相對而言是比較簡單的,并且所顯示的亮度大。但是這種方式的缺點是所使用的I/O口的線比較多,并且硬件的成本比較高。另外,還有一種叫動態(tài)掃描顯示,它是指采用分時的方法,輪流交替的控制各個顯示器的公共端,讓各個顯示器輪流被點亮,這種方式來掃描驅(qū)動電路就可以實現(xiàn)多行的同名列共用的列驅(qū)動器。</p><p> 這個設(shè)計是16*16的點陣的設(shè)計,如果我們采用靜態(tài)驅(qū)動顯示方式,其LED發(fā)光二極管燈共有256
18、個,而顯然單片機沒有那么多的端口,如果我們考慮利用鎖存器開擴展端口,按照8位的來計算,那么這個設(shè)計需要258/8=32個鎖存器。就光是16*16的點陣就需要32個,那實際的生活中需要的更多,該造價的成本也就相對的要高出許多,這樣不利于商業(yè)的盈利目的。而如果我們采用動態(tài)掃描顯示,我們將所有同一行的二極管的陽極并聯(lián)起來,把同一列的二極管的陰極并聯(lián)起來,即共陽極的接法,然后我們先將控制第一行發(fā)光二極管發(fā)光的數(shù)據(jù)送出并且利用鎖存器鎖存起來,再將
19、使第一行的燈點亮的一定時間選通,再熄滅;再將使第二行的發(fā)光管點亮的數(shù)據(jù)輸送出來并鎖存起來,同樣將使第二行的燈點亮的一定時間選通,再熄滅;以此下去,直到第十六行之后,第一行的燈又重新點亮,就這樣反復的輪回。由于人類的視覺存在著短暫的停留的現(xiàn)象,所以只要輪回的速度達到每秒24次以上的高速,人們看到的就會是16行同時進行,就會看到一個完整的圖像或者文字。</p><p> 對于LED燈的接法常見的有兩種,一種是共陰極
20、的(左),另一種是共陽極的(右),該設(shè)計實驗采用的是共陽極的接法,下圖給出了這兩種接法的內(nèi)部電路原理及相對應(yīng)的管腳圖。</p><p> 圖1-1 共陰極與共陽極接法的內(nèi)部電路原理圖</p><p> 在采用掃描的方式進行顯示時,每一行使用一個行驅(qū)動器,每行的同名列之間共用一個列驅(qū)動器。顯示所需的數(shù)據(jù)一般在單片機的存儲器里存儲,并且是按照8位一個字節(jié)的形式順序排放。顯示圖像時需要把一
21、行中的各個列的數(shù)據(jù)都傳送到其相對應(yīng)的驅(qū)動上去,這就存在著數(shù)據(jù)傳輸?shù)膯栴}。利用控制電路到列驅(qū)動器傳輸數(shù)據(jù)時,可以采用串行方式或者并行方式,但是,使用并行傳輸方式時,從控制電路到列驅(qū)動電路所需的電路線太多,所需的硬件數(shù)目也就增多,如果當列數(shù)很多是,也不利于實際的設(shè)計,也不經(jīng)濟,所以并行傳輸方式方案是不可取的。</p><p> 使用串行的傳輸方式,控制電路就只用一根短路線,就能將列數(shù)據(jù)依次傳輸?shù)津?qū)動器里,但是由于只
22、有一根傳輸導線,所以導致列數(shù)據(jù)傳輸?shù)臅r間可能過長,即數(shù)據(jù)準備所需時間過長,在確定了行掃描周期的情況下,其在導線中的傳輸時間過長,行顯示的時間就縮短了,這樣就會影響到LED的亮度,這種方法雖然在硬件方面更為經(jīng)濟,但是也沒能滿足我們的需求。</p><p> 要解決串行傳輸方式中的數(shù)據(jù)準備時間過長和顯示的時間不足的矛盾問題,我們可以采用重疊處理的方法。即在顯示本行的各個列數(shù)據(jù)的同時,也將下一行各個列數(shù)據(jù)傳輸。為了達
23、到所需的重疊處理的目的,就需要將列數(shù)據(jù)的顯示數(shù)據(jù)鎖存起來,這樣經(jīng)過上述分析,我們可知對于列數(shù)據(jù)準備來說,它就能實現(xiàn)串入并出的一位功能,而對于列數(shù)據(jù)顯示來說,應(yīng)該具有并行鎖存的功能。這樣,已準備好的本行的數(shù)據(jù)傳入并行鎖存器進行顯示的同時,準下一行的列數(shù)據(jù)就可以在串并移位寄存器中準備,而本行的顯示也不會受到影響,這樣就能達到我們所設(shè)計的目的。</p><p><b> 硬件電路設(shè)計</b>&l
24、t;/p><p> 2.1 系統(tǒng)的結(jié)構(gòu)框圖</p><p> 該課程設(shè)計采用了AT89S51單片機為核心的芯片的電路來實現(xiàn),它的組成部分為AT89S51芯片、電源、復位電路、時鐘電路、行驅(qū)動器、列驅(qū)動器、4個8*8LED的點陣。</p><p> 圖2.1-1 系統(tǒng)結(jié)構(gòu)圖</p><p> 2.1.1 單片機控制模塊</p&g
25、t;<p> AT89S51單片機是一種所占字節(jié)為4K的FLASH存儲器的低電壓、高性能CMOS的8位的微型處理器,該器件密度高、非易失性存儲 ,兼容標準MCS-51 指令系統(tǒng),在片內(nèi)使用了8位的中央處理器和Flash存儲單元,AT89S51單片機的功能強大,可以提供共性價比的應(yīng)用場合,所以可以靈活的應(yīng)用于各種控制領(lǐng)域,并且價格比較經(jīng)濟,方便編程,性能穩(wěn)定。</p><p> 2.1.2 時鐘
26、電路</p><p> 該電路的脈沖信號是采用普通的晶體時鐘源提供的,而構(gòu)成了內(nèi)部的振蕩的方式,該晶體能夠使芯片的使用盡可能的減少,節(jié)約成本。</p><p> 單片機的時鐘信號通常用內(nèi)部振蕩方式和外部振蕩方式這兩種電路形式得到。內(nèi)部振蕩方式的振蕩器的構(gòu)成是在XTAL1和XTAL2這兩個引腳外接石英晶體。因為單片機內(nèi)部有一個高增益反相放大器,當晶振外接后,就夠成了自激振蕩器,產(chǎn)生時鐘脈
27、沖。晶振的頻率大約為12MHZ。如下圖2.1.2-1,C1、C2兩個電容器的作用是起穩(wěn)定振蕩器頻率、快速起振。電容的值一般為5-30PF。內(nèi)部振蕩方式所得到的時鐘信號相對來說比較穩(wěn)定,比較廣泛的使用在實際電路中。</p><p> 圖2.1.2-1 單片機時鐘電路</p><p> 2.1.3 復位電路 </p><p> 復位電路就是利用它把電路恢復到起
28、始狀態(tài)。其復位電路可分為兩種,一種是開關(guān)復位,當在電源接通的情況下,當單片機在運行期間,如果發(fā)生了死機的情況,就可以使用按鍵開關(guān)操作來時單片機復位;另一種是上電復位,當在接通電源的情況下,復位操作就會自動實現(xiàn)。</p><p> 單片機復位電路圖如圖2.1.3-1所示,該復位電路可實現(xiàn)人工手動復位,也實現(xiàn)上電復位。當按下按鍵SW時,RST腳位高電平,就能是單片機正常復位;當一開始就打開電源時,C3電容相當于短路
29、,RST腳在短時間內(nèi)處于高電平,從而促使單片機復位。</p><p> 圖2.1.3-1 單片機復位電路</p><p> 2.1.4 顯示模塊</p><p> 該設(shè)計的點陣顯示屏是由4個8*8LED點陣組成的16*16的顯示屏。數(shù)個發(fā)光二極管組成了LED點陣顯示屏,它具有的特點是低功耗、亮度高、引腳少、壽命長、耐濕、耐冷熱、耐腐蝕、視角大。點陣顯示屏按
30、顏色分類可分為單色和雙色兩類,該次設(shè)計師選用的單色點陣顯示屏,為了安裝的方便,一塊模塊上有若干個LED組合而成,形成了我們所需的大屏幕。</p><p> 如圖2.1.4-1是一個8*8的單色的LED點陣模塊內(nèi)部的電路圖。圖中的LED的排列形式成點陣,同一列的LED陰極連在一起,同一列的LED陽極連在一起,當LED處于正偏是,LED燈才會發(fā)光。該設(shè)計選用的是4個8*8的LDE點陣構(gòu)成了16*16點陣顯示屏,該次
31、顯示的結(jié)果是顯示兩個漢字,16*16的LED點陣顯示屏有256個發(fā)光二極管,并且每個發(fā)光二極管是放置在列線和行線的交叉點上。</p><p> 圖2.1.4-1 8*8點陣內(nèi)部電路圖</p><p> 如圖2.1.4-2所示,是其外觀和引腳圖。當所對應(yīng)的某一行置電平1時,某一列置電平0,其相對應(yīng)的二極管就發(fā)光。如果第一行置1為高電平,第一列置0為低電平,第二行為高電平置為1,Y行置1
32、為高電平,I列置0為低電平,這顯示效果為P行上的第一個LED燈亮,第二個LED燈滅,第三個LED燈亮。</p><p> 如圖2.1.4-2 8*8點陣外觀和引腳圖</p><p> 如圖2.1.4-3所示,是一個4塊8*8點陣組成的16*16的LED點陣的顯示屏。16*16點陣顯示屏是采用動態(tài)掃描的LED驅(qū)動顯示方式,動態(tài)掃描方式是采用逐行輪流的方法來點亮LED燈。LED點陣顯示模
33、塊進行的方法有水平方向(X方向)的掃描和豎直方向(Y方向)的掃描,本次設(shè)計采用的是豎直方向(Y方向)的掃描,即逐行掃描的方法簡稱行掃描方法,它是用一個P口相當于位碼來輸出決定哪一行能點亮,另一個P口相當于段碼輸出列碼決定該行上哪些LED燈亮。能亮的行從上向下掃描完16行即相當于位碼循環(huán)移位16次后顯示一幀完整的圖像。</p><p> 圖2.1.4-3 4塊8*8點陣LED屏組成的16*16的點陣顯示屏<
34、;/p><p> 2.1.5 驅(qū)動模塊</p><p> 集成電路74HC595構(gòu)成了行驅(qū)動電路,它的結(jié)構(gòu)是由一個8位的串入并出的一位寄存器和一個8位輸出鎖存器構(gòu)成,并且輸出鎖存器和移位寄存器的控制室各自獨立的,可以在顯示本行的各列數(shù)據(jù)的同時,同時傳輸下一行的列數(shù)據(jù),而達到重疊處理的目的。</p><p> 列驅(qū)動電路主要實現(xiàn)的功能是譯碼,用2塊74LS138級
35、聯(lián)來實現(xiàn)4/16線譯碼功能,74LS138芯片本身具有3/8線譯碼功能。</p><p> 74HC595的外形及內(nèi)部結(jié)構(gòu)如圖2.1.5-1,它的輸出測由8個串行移位寄存器連接,每個移位寄存器的輸出都有一個輸出鎖存器來連接,SI引腳是串行為數(shù)據(jù)的輸入端,SCK引腳的作用是移位寄存器的移位時鐘脈沖,移位時間是發(fā)生在上升沿,并且將SI的下一個數(shù)據(jù)移位到最低位,并在各移位寄存器的輸出端出現(xiàn)移位后的各位信號,也就是輸出
36、地鎖存器的輸入端。RCK是輸出的鎖存器的打入信號,其上升沿將移位寄存器的輸出打入到輸出鎖存器中。G引腳的作用是輸出三態(tài)門的開放信號,其開放的條件是當其為低時鎖存器的輸出時,否則為高阻態(tài)。SCLC引腳的功能是作為移位寄存器的清零輸入端,當其為低時移位寄存器的輸出全部為零。因為SCK和RCK這兩個信號是相互獨立的,所以輸入串行移位與輸出鎖存互不干擾。QA~QH為芯片的輸出端,QH做為最高位可用作多片74HC595級聯(lián)使用,向上一級的級聯(lián)輸出
37、,但是因為QH受輸出鎖存器的打入控制,所以還要從輸出的鎖存器前引出QH’來作為與移位寄存器完全同步的級聯(lián)輸出。圖2.1.5-2為74HC595級聯(lián),表2.1.5-1為74HC595真值表。圖2.1.5-3為74HC595時序圖。</p><p> 圖2.1.5-1 74HC595的外形及內(nèi)部結(jié)構(gòu)</p><p> 圖2.1.5-2 2個74HC595級聯(lián)</p>&l
38、t;p> 表2.1.5-1 74HC595真值表</p><p> 圖2.1.5-3 74HC595時序圖</p><p> 列驅(qū)動模塊電路是由2塊74LS138芯片組成,74LS138是一款高速CMOS器件,74LS138為反相輸出,74HS138引腳兼容低功耗肖特基TTL(LSTTL)系列,如圖2.1.5-4所示是74LS138的引腳圖,表2.1.5-2是其真值表。74
39、LS138譯碼器可接受的二進制加權(quán)地址輸入位數(shù)為3位A0、A1、A2,當使能時,能夠提供8個互斥的低有效輸出Y0-Y7。74LS138的使能端有3個:一個高有效E3和兩個低有效E1和E2。當E1和E2置為低位E3置為高位時,74LS138輸出為低,其他的情況下74LS138將保持所有輸出為高,利用這種復合使能特性,只需要1個反相器和4塊74LS138芯片,就可以實現(xiàn)并行擴展,組成一個1-32即5線到32線的譯碼器,任選一個低有效使能端作
40、為數(shù)據(jù)輸入端,而把其余的使能輸入端作為選通端,則74LS138也可以作為一個8位輸出多路分配器,未使用的使能輸入端必須使其在各自合適的高有效或者低有效狀態(tài)保持綁定,74LS138的作用原理在這些情況下可以提高譯碼系統(tǒng)的效率,如高性能的存儲譯碼或者要求傳輸延遲時間短的數(shù)據(jù)傳輸系統(tǒng),在高性能存儲器系統(tǒng)中。高速存儲</p><p> 圖2.1.5-4 74HC138引腳圖</p><p>
41、 表2.1.5-2 74HC138真值表</p><p> 2.2 單片機的最小系統(tǒng)圖</p><p> 圖2.2-1 單片機最小系統(tǒng)</p><p><b> 單片機系統(tǒng)</b></p><p> MCS-51是Intel公司生產(chǎn)的一個單片機系列名稱。這一系列的單片機有多種,8051是其中性價比高的一種單
42、片機。</p><p> 8051單片機按照其功能部件課將內(nèi)部結(jié)構(gòu)劃分為8個部分:</p><p> ★ 8位中央處理機CPU一個。</p><p> ★ 128個字節(jié)的片內(nèi)數(shù)據(jù)存儲器RAM。</p><p> ★ 片內(nèi)程序只讀存儲器ROM其字節(jié)為4KB。</p><p> ★ 特殊功能寄存器SFR18個。&
43、lt;/p><p> ★ P0、P1、P2、P3 這4個8位并行輸入輸出I/O接口(共32線),用于并行輸入或輸出數(shù)據(jù)局。</p><p> ★ 串行I/O接口1個。</p><p> ★ 16位定時器/計數(shù)器2個。</p><p> ★ 1個具有可以接收為不中斷申請,定時器/計數(shù)器中斷申請和串行口中斷申請的5個中斷源,可編程為2個優(yōu)先級
44、的中斷系統(tǒng)。</p><p> 3.1 8051引腳為40個的單片機芯片</p><p> 3.1.1 引腳為Vcc和Vss 的主電源</p><p> Vcc(40腳):接+5V電源正極; </p><p> Vss(20腳):接+5V電源地端。 </p><p> 圖3.1.1-1 AT89C51
45、引腳圖</p><p> 3.1.2 外接晶體引腳XTAL1和XTAL2</p><p> XTAL1:該引腳數(shù)為19個引腳,接在外部石英晶體的一端,它在單片機內(nèi)部是作為一個反相放大器的輸入端使用的,這個放大器也作為了片內(nèi)振蕩器。當采用了外部時鐘時,對于HMOS單片機來說,該引腳就要接地。</p><p> XTAL2:該引腳數(shù)為18個引腳,接在外部石英晶體
46、的另一端。在單片機內(nèi)部,該引腳接在片內(nèi)振蕩器的反相放大器的輸出端。當采用了外部時鐘時,對于HMOS單片機來說,該引腳的作用是作為一個外部振蕩信號的輸入端使用。</p><p> 3.2 I/O口線的引腳排列及管腳的說明</p><p> ★ P0口——漏極開路的8位雙向I/O口。</p><p> 在編程時,P0口可以用于指令代碼字節(jié)的接收;當使用外擴I/O
47、口及片外儲存器是,P0口作為低字節(jié)的地址/數(shù)據(jù)復線;在程序校撿是,P0口能夠?qū)⒅噶钭州敵?,但需要外加上拉電阻?lt;/p><p> P0口為一個8位的漏極開路雙向I/O口,每腳可以吸收8TTL門電流。當P1口的管腳第一次輸入1時,被稱為高阻輸入。外部程序數(shù)據(jù)可存儲在P0端口,它被稱為數(shù)據(jù)/地址的第八位。在FIASH編程時,原碼可從P0端口輸入,當FIASH進行校驗時,原碼從P0端口輸出,此時P0外部必須被拉高。&
48、lt;/p><p> ★ P1口——準雙向8位的I/O口,具有內(nèi)部上拉電阻的功能。</p><p> P1口試專門為用戶準備的I/O雙向口。用做輸入時,應(yīng)該先讓輸出地鎖存器置為1;P1口可以同時驅(qū)動TTL4個負載;在編程和校檢時,可以當成輸入的是低8位的地址。</p><p> ★ P2口——準雙向的8位I/O口,具有內(nèi)部上拉電阻。</p><
49、p> 在編程校檢時,P2口能夠接收到高字節(jié)的地址和某些控制信號;P2口同時也可以當做I/O口使用;當使用外擴I/O或者片外儲存器端口時,P2端口輸出高8位的地址。當用做輸入時,應(yīng)該先將輸出地鎖存器置為1;P2口可以同時驅(qū)動TTL4個負載。</p><p> 當P2口輸入1時,其管腳被內(nèi)部的上拉電阻拉高,并作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,輸出電流。出現(xiàn)這種現(xiàn)象的原因是由于內(nèi)部上拉。當P
50、2口被當做16位地址外部數(shù)據(jù)存儲器或者外部程序存儲器進行存取時,P2口輸出高八位的地址。當給出的地址為1時,它可以利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器讀寫時,P2口輸出特殊功能寄存器的內(nèi)容,P2端口在FLASH編程和校驗的時候能夠接收高控制信號和八位地址信號 。</p><p> ★ P3口——準雙向的8位I/O口,具有內(nèi)部上拉電阻。</p><p> P3口能夠作為普通I/O
51、口。在編程校檢時,P3口負責接收某些控制信號;可以驅(qū)動4個TTL。作為輸入時,應(yīng)該先將輸出鎖存器置位1;同時P3端口還具有各種替代的功能。P3口同時為閃爍編程和編程校驗接收一些控制信號。P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> 表3.2-1 P3口特殊功能表</p><p><b> 3.3 RST鍵</b></p&g
52、t;<p> 該鍵的功能為復位輸入。當振蕩器復位器件時,要保持RST引腳的兩個機器周期的高電平的時間。</p><p> 3.4 PEROM陣列和鎖定位</p><p> 通過正確的控制信號的組合可以讓整個PEROM陣列和三個鎖定位電擦除,并保持ALE管腳處于低電位10ms實現(xiàn)。在芯片的擦操作中,該操作必須執(zhí)行的時間是在代碼陣列全部置1并且在任何非空存儲字節(jié)被重復編程
53、以前。而且,8051芯片設(shè)置有穩(wěn)態(tài)邏輯,可在零頻率的情況下進行靜態(tài)邏輯,支持軟件可選的兩種掉電模式。在閑置模式的情況下,CPU停止工作,但是計數(shù)器、RAM、定時器、串口和中斷系統(tǒng)仍在繼續(xù)工作。在掉電模式下,凍結(jié)振蕩器并且保存RAM中的內(nèi)容,將所用的其他芯片的功能都禁止,一直到下一個硬件復位為止。</p><p><b> 4 系統(tǒng)軟件設(shè)計</b></p><p>
54、 4.1 主程序的設(shè)計及流程圖</p><p> 顯示屏軟件主要有向屏體提供顯示數(shù)據(jù)的功能,并且產(chǎn)生各種控制信號,而達到讓屏幕顯示我們所需的顯示內(nèi)容的目的。該系統(tǒng)的軟件采用C語言來編寫,按照模塊化得到設(shè)計思路而設(shè)計。首先分析程序所要實現(xiàn)的功能,程序要實現(xiàn)動態(tài)顯示,向左移動兩大功能。主程序的工作流程如圖4-1-1所示。</p><p> 圖4.1-1 主程序工作流程圖</p&
55、gt;<p> 4.2 顯示程序的設(shè)計</p><p> LED點陣的顯示方法是采用的動態(tài)掃描顯示,,并能實現(xiàn)左移的功能。圖4-2-1為顯示的程序流程圖。采用PCtoLCD2002字模軟件取出想要顯示的漢字的字模,該次設(shè)計實驗設(shè)計的漢字是“您好”。</p><p> 圖4.2-1 顯示程序流程圖</p><p> 5 硬件的制作與調(diào)試 &
56、lt;/p><p> 5.1 系統(tǒng)的組裝</p><p> 在確定好硬件,程序編寫好過后,能夠制作出如圖5-1-1所示類似的實物圖。實物完成后必須對其進行調(diào)試,檢查設(shè)計功能是否實現(xiàn)。</p><p> 圖5.1-1 實物圖</p><p> 16*16點陣的LED電子顯示屏的電路系統(tǒng)比較小,但是線路也很麻煩,特別是在焊接點陣屏時,對于
57、焊接的技術(shù)也是相當重要的,整個電路系統(tǒng)中只要右一處錯誤出現(xiàn),則會影響整個電路,并且檢測起來也相當?shù)穆闊?,而且電路需要相交的線也較多,對于各種鋒利的引腳要注意處理,否則會將帶有包皮的導線刺破,則會對電路造成短路現(xiàn)象。</p><p> 完成實物后進行調(diào)試,首先把程序下載到單片機里,再接通電源,觀察點陣顯示是否清晰穩(wěn)定,是否實現(xiàn)左移功能。</p><p><b> 5.2 程序的
58、調(diào)試</b></p><p> 固件程序設(shè)計完成后,采用Keil編譯器進行編譯,調(diào)試Keil完全是圖形化界面,有著良好的人機接口,支持單步調(diào)試,插入斷點,還可以觀察程序運行中各變量的取值變化情況。而且還支持Wave硬件仿真器,使用起來很方便。</p><p> 首先在Keil里新建一個工程,把所有的C源文件添加進工程(.h頭文件系統(tǒng)自動添加)然后編譯。編譯無誤后,可以使用W
59、ave硬件仿真器。使用時,首先要對仿真環(huán)境進行設(shè)置。然后畫出PCB電路圖,在畫PCB電路時要特別注意的幾個方面是電路板的過孔比較大,定位孔的放置,在焊接時,要注意先焊接的元器件是否會影響以后的元器件的焊接。安裝好電路后就將程序?qū)懭氲紸T89S52中,將AT89S52插入驅(qū)動電路,若每個所需的發(fā)光二級管都能被點亮,這說明該電路的硬件成功完成;若發(fā)現(xiàn)二極管沒有被全部點亮,則需要用萬能表仔細的檢查電路板是否是由于焊接不當被短路或者斷開等??梢?/p>
60、直接檢查不亮的二極管的電路出現(xiàn)了什么問題,問題找出來后進行</p><p> 修補,完成后再進行操作,若每個燈被點亮即成功完成。</p><p><b> 6 結(jié)束語</b></p><p> 通過做這次關(guān)于LED點陣的設(shè)計,我了解最多的就是關(guān)于LED顯示屏的顯示的知識,對于顯示屏的組成及相關(guān)的制作,有了更深一步的了解,對單片機的一些相
61、關(guān)的引腳的排列、作用、功能知道的更為具體,雖然在設(shè)計過程中遇到了很多不懂的知識,但是都通過去查閱相關(guān)的資料和請教相關(guān)的老師和同學一一解決了。通過這次的課程設(shè)計,還是有一些收獲。馬上大三上期就要完了,現(xiàn)在回顧一下我的已過的大學生活,再和剛進大學時那豪情萬丈的心情相比較,只能說我的大學還真是失敗。記得剛進大學時,信心滿滿的對自己說我要怎么怎么的過自己的大學,不將大學生涯浪費掉,結(jié)果現(xiàn)在的現(xiàn)狀簡直就是兩個完全相反的情況,對于現(xiàn)在的我來說,我只
62、能盡可能的認真的學習自己的專業(yè)知識,,不讓剩下的這半年時間浪費掉。</p><p> 隨著社會的發(fā)展,我們的生活也越來越好,正是因為這樣,我們才有更多的精力和金錢用來做其他的事情,現(xiàn)在我們能安心的呆在學校學習,首先是歸功于國家的發(fā)展,最主要的是要感謝我們的父母,有了他們的無微不至的照顧和辛苦的在外打拼才能提供我們現(xiàn)在安逸的在學校學習;其次,要感謝的就是教育我們的老師們,正因為有了他們的無私的傳授我們知識,我們才
63、有了追逐夢想的能力。所以由衷的感謝他們對我的照顧和培養(yǎng)。</p><p><b> 附錄</b></p><p><b> 附錄1:程序清單</b></p><p> //用兩個138和兩個595設(shè)計16*16LED點陣顯示屏,向左移動顯示“您好”//</p><p> #include&l
64、t;reg51.h></p><p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p> bit flag; </p><p> sbit
65、 SH_CP=P2^0;</p><p> sbit DS=P2^2;</p><p> sbit U2_E1=P1^6; </p><p> sbit ST_CP=P2^1;</p><p> sbit U3_E1=P1^7; </p><p> uchar code </p>
66、<p> table[ ]= </p><p><b> {</b></p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,0x00,0x00,0x00,
67、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/</p><p> 0x04,0x02,0x08,0x0C,0x10,0x00,0x3F,0xEE,0xC4,0x01,0x08,0x81,0x11,0x11,0xE6,0x4D,</p><p> 0x20,0x21,0x2F,0xC1,
68、0x20,0x01,0x24,0x07,0x2A,0x00,0x31,0x88,0x00,0x06,0x00,0x00,/*"您",1*/</p><p> 0x08,0x02,0x08,0x44,0x0F,0xA8,0xF8,0x10,0x08,0x68,0x0F,0x86,0x00,0x00,0x01,0x00,</p><p> 0x41,0x02,0x41,
69、0x01,0x47,0xFE,0x49,0x00,0x51,0x00,0x61,0x00,0x01,0x00,0x00,0x00,/*"好",2*/</p><p> 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,</p><p> 0x00,0x00,
70、0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/</p><p><b> };</b></p><p> void delay(unsigned int x)</p><p><b> {</
71、b></p><p><b> uchar j;</b></p><p> while(x--) //1ms</p><p> for(j=0;j<123;j++); </p><p><b> }</b></p><p> void WriteB
72、yte(uchar date) </p><p><b> { </b></p><p><b> uchar k;</b></p><p> for(k=0;k<8;k++)</p><p><b> { </b></p><p>&l
73、t;b> SH_CP=0;</b></p><p> date=date>>1;</p><p><b> DS=CY;</b></p><p><b> SH_CP=1;</b></p><p><b> }</b></p>
74、<p><b> }</b></p><p> void display(void)</p><p><b> {</b></p><p> uchar num,temp,n,m,k; </p><p> P1=0;//p1口138相連</p><p&g
75、t; for(k=0;k<3;k++) //含空格,3個字符。</p><p><b> {</b></p><p> for(n=0;n<16;n++) //每字16行</p><p><b> {</b></p><p> for(m=0;m<4;m++) //重復
76、顯示4次 ,也就是延時</p><p><b> {</b></p><p> for(num=n;num<16+n;num++) </p><p><b> { </b></p><p><b> ST_CP=0;</b></p><p
77、> WriteByte(table[2*num+(k*32)+0]);</p><p> WriteByte(table[2*num+(k*32)+1]);</p><p><b> ST_CP=1;</b></p><p> if(flag==0)</p><p><b> {</b&g
78、t;</p><p><b> P1=temp;</b></p><p><b> U2_E1=1;</b></p><p><b> delay(1);</b></p><p> P1=0; //關(guān)顯示,消隱</p><p><b>
79、; temp++;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> P1=_crol_(temp,3);</p><p><b&
80、gt; U3_E1=1;</b></p><p><b> delay(1);</b></p><p> P1=0; //關(guān)顯示,消隱</p><p><b> temp++;</b></p><p><b> }</b></p><p
81、><b> delay(1);</b></p><p> if(temp==8)</p><p><b> {</b></p><p> flag=!flag;</p><p><b> temp=0;</b></p><p><b
82、> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b>
83、 }</b></p><p> void main()</p><p><b> {</b></p><p><b> while(1)</b></p><p><b> {</b></p><p> display();<
84、/p><p><b> }</b></p><p><b> }</b></p><p><b> 附錄2:仿真結(jié)果圖</b></p><p> 附錄3:Protel原理圖 </p><p> 附錄4:4個8*8LED組成的顯示屏<
85、;/p><p><b> 附錄5:PCB圖</b></p><p><b> 參考文獻</b></p><p> [1] 吳金戊、沈慶陽、郭庭吉:8051單片機實踐與應(yīng)用,清華大學出版社,2004.6,P126-P130</p><p> [2] 劉欣銘、張廣斌:LED顯示屏技術(shù)綜述,黑龍江電力
86、,2003.5,P294-P296</p><p> [3] 李群芳、肖看、張士軍:單片微型計算機與接口系數(shù),電子工業(yè)出版,2012.12,P88-P90</p><p> [4] 何立民:單片機初級教程,北京航空航天大學出版社,2000.2,P18-P3</p><p> [5] 陽進:基于單片機的LED顯示屏的漢字顯示,中國科技信息,2005.12,P11
87、2</p><p> [6] 徐愛鈞、彭秀華:.Keil Cx51 V7.0單片機高級語言編程與Vision2應(yīng)用實踐,北京電子工業(yè)出版社,2004.11,P34-P45</p><p> [7] 李朝青:單片機原理及接口技術(shù)(第三版),北京航空航天大學出版,2005.3,P122-P125</p><p> [8] 王宜懷:單片機原理及其嵌入式應(yīng)用教程,北京
88、希望電子出版社,2002.1,P111-P113</p><p> [9] 韓潤萍、陳小萍:點陣LED顯示屏控制系統(tǒng),微計算機信息,2003.10,P50-P51</p><p> [10] 諸昌鈴:LED顯示屏系統(tǒng)原理及工程技術(shù),電子科技大學出版社,2000.9,P10-P20</p><p> [11] 李群芳:單片微型計算機與接口技術(shù),電子工業(yè)出版設(shè),2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 16×16-led點陣設(shè)計-畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---16×16點陣led室內(nèi)電子顯示屏的設(shè)計
- 16×16led點陣屏顯示設(shè)計-課設(shè)論文
- 單片機課程設(shè)計--16×16 led點陣顯示漢字
- led16x16點陣課程設(shè)計--16×16點陣led電子顯示屏的設(shè)計
- 16×16點陣led電子顯示屏的設(shè)計畢業(yè)論文
- 16×16點陣eda課程設(shè)計報告
- 畢業(yè)論文---16×16點陣led電子顯示屏的設(shè)計模塊
- 16×16點陣(滾動顯示)
- 16x16點陣課程設(shè)計--16×16點陣led電子顯示屏的設(shè)計
- 單片機課程設(shè)計---16×16 led廣告屏
- 單片機課程設(shè)計---16×16點陣式漢字顯示
- 合適硬件電路及對應(yīng)的軟件16×16點陣設(shè)計
- 16×64點陣設(shè)計畢業(yè)論文說明書
- 16×16位移位相加乘法器設(shè)計畢業(yè)論文
- 16乘16的點陣顯示設(shè)計畢業(yè)設(shè)計
- 16x16led點陣課程設(shè)計報告
- 16x32點陣led顯示屏畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---φ3.5×16米圓筒混料機設(shè)計
- 16 16led點陣顯示屏
評論
0/150
提交評論