版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 16×16 LED點(diǎn)陣設(shè)計(jì)</p><p> 內(nèi)容摘要:LED點(diǎn)陣電子顯示屏的發(fā)展越來越好廣泛,它成為一個(gè)宣傳信息的重要平臺,已經(jīng)得到了社會的普遍認(rèn)同。LED點(diǎn)陣顯示屏是利用發(fā)光二極管點(diǎn)陣模塊或像素單元組成的平面式顯示屏幕。它具有發(fā)光效率高、使用壽命長、組態(tài)靈活、色彩豐富以及對室內(nèi)外環(huán)境適應(yīng)能力強(qiáng)等優(yōu)點(diǎn)。 </p><p> 該設(shè)計(jì)是一個(gè)16×
2、16LED點(diǎn)陣電子顯示屏顯示數(shù)字的設(shè)計(jì)。整塊電子顯示屏的控制核心是40引腳的單片機(jī)AT89S51,說明了LED點(diǎn)陣電子顯示屏用AT89S51為控制系統(tǒng)的動態(tài)的設(shè)計(jì)和開發(fā)的具體過程。通過該芯片控制兩個(gè)列驅(qū)動器74HC595來驅(qū)動顯示屏顯示,本設(shè)計(jì)就是使用4塊8×8點(diǎn)陣顯示模塊來組成16×16點(diǎn)陣顯示屏,采用動態(tài)掃描顯示,程序編寫的實(shí)現(xiàn)是使用簡單流通性強(qiáng)的C語言,該設(shè)計(jì)的結(jié)果證明,系統(tǒng)顯示清晰,結(jié)構(gòu)合理,誤差小,擴(kuò)展能力
3、強(qiáng),性能穩(wěn)定。 </p><p> 關(guān)鍵詞:AT89S51 LED點(diǎn)陣 數(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è)計(jì)方案的論證與選擇1</p><p> 2硬件電路設(shè)計(jì)3</p><p> 2.1 系統(tǒng)的結(jié)構(gòu)框圖3</p><p> 2.1.1 單片機(jī)控制模塊3</p&
9、gt;<p> 2.1.2 時(shí)鐘電路4</p><p> 2.1.3 復(fù)位電路4</p><p> 2.1.4 顯示模塊5</p><p> 2.1.5 驅(qū)動模塊7</p><p> 2.2 單片機(jī)的最小系統(tǒng)圖9</p><p> 3單片機(jī)系統(tǒng)10</p>
10、<p> 3.1 8051引腳為40個(gè)的單片機(jī)芯片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è)計(jì)13</p><p> 4.1 主程序的設(shè)計(jì)及流程圖13</p><p> 4.2 顯示程序的設(shè)計(jì)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個(gè)8*8LED組成的顯示屏24</p><p> 附錄5:PCB圖25</p><p><b> 參考文獻(xiàn)26</b></p><p> 16×16 LED點(diǎn)陣電子顯示屏的設(shè)計(jì)</p><p>
14、;<b> 前言</b></p><p> LED點(diǎn)陣電子顯示屏的制作簡單,并且便于安裝,被廣泛的應(yīng)用于各個(gè)公共場合,但是LED電子顯示屏也只能用于單一的圖像數(shù)字漢字的顯示,如果要改變顯示的內(nèi)容,必須要在上位機(jī)上進(jìn)行實(shí)現(xiàn)。該設(shè)計(jì)用LED矩陣的排列來實(shí)現(xiàn)兩位數(shù)字的顯示功能。該設(shè)計(jì)是一個(gè)16×16的LED點(diǎn)陣的數(shù)字顯示屏。當(dāng)今社會LED燈隨處可見,它使我們的生活變的五彩繽紛。LED
15、燈有白光、紅光、黃光、綠光、藍(lán)光、紫光等多種顏色,所以它是許多廣告設(shè)計(jì)著的必要品。</p><p> 我們已經(jīng)學(xué)習(xí)了單片機(jī)及相關(guān)的課程,可以利用單片機(jī)來控制LED,以達(dá)到我們所需要的顯示效果。通過16x16點(diǎn)陣顯示屏的設(shè)計(jì),我們能更好的掌握單片機(jī)工作原理,把理論知識與實(shí)踐結(jié)合起來,達(dá)到學(xué)以致用的目的。通過這次的課程設(shè)計(jì),能更好的提高我們的動手能力與解決實(shí)際問題的能力,我們現(xiàn)在的單片機(jī)的學(xué)習(xí)知識最基本的單片機(jī)知識
16、,我們想要更好的掌握它,還需要我們自己主動地更深入了解它,這次的課程設(shè)計(jì)是一個(gè)很好的深入學(xué)習(xí)的平臺,并能幫助我們掌握16X16LED點(diǎn)陣的工作原理。</p><p> 1 設(shè)計(jì)方案的論證與選擇</p><p> 從理論上來說,不管是顯示的是文字還是圖像,我們只要控制了各個(gè)組成文字或者是圖像的對應(yīng)的LED點(diǎn)的發(fā)光器件,我們就能得到想要顯示的圖像或者文字,這種控制方法就是靜態(tài)驅(qū)動顯示方式
17、。該方式顯示的程序相對而言是比較簡單的,并且所顯示的亮度大。但是這種方式的缺點(diǎn)是所使用的I/O口的線比較多,并且硬件的成本比較高。另外,還有一種叫動態(tài)掃描顯示,它是指采用分時(shí)的方法,輪流交替的控制各個(gè)顯示器的公共端,讓各個(gè)顯示器輪流被點(diǎn)亮,這種方式來掃描驅(qū)動電路就可以實(shí)現(xiàn)多行的同名列共用的列驅(qū)動器。</p><p> 這個(gè)設(shè)計(jì)是16*16的點(diǎn)陣的設(shè)計(jì),如果我們采用靜態(tài)驅(qū)動顯示方式,其LED發(fā)光二極管燈共有256
18、個(gè),而顯然單片機(jī)沒有那么多的端口,如果我們考慮利用鎖存器開擴(kuò)展端口,按照8位的來計(jì)算,那么這個(gè)設(shè)計(jì)需要258/8=32個(gè)鎖存器。就光是16*16的點(diǎn)陣就需要32個(gè),那實(shí)際的生活中需要的更多,該造價(jià)的成本也就相對的要高出許多,這樣不利于商業(yè)的盈利目的。而如果我們采用動態(tài)掃描顯示,我們將所有同一行的二極管的陽極并聯(lián)起來,把同一列的二極管的陰極并聯(lián)起來,即共陽極的接法,然后我們先將控制第一行發(fā)光二極管發(fā)光的數(shù)據(jù)送出并且利用鎖存器鎖存起來,再將
19、使第一行的燈點(diǎn)亮的一定時(shí)間選通,再熄滅;再將使第二行的發(fā)光管點(diǎn)亮的數(shù)據(jù)輸送出來并鎖存起來,同樣將使第二行的燈點(diǎn)亮的一定時(shí)間選通,再熄滅;以此下去,直到第十六行之后,第一行的燈又重新點(diǎn)亮,就這樣反復(fù)的輪回。由于人類的視覺存在著短暫的停留的現(xiàn)象,所以只要輪回的速度達(dá)到每秒24次以上的高速,人們看到的就會是16行同時(shí)進(jìn)行,就會看到一個(gè)完整的圖像或者文字。</p><p> 對于LED燈的接法常見的有兩種,一種是共陰極
20、的(左),另一種是共陽極的(右),該設(shè)計(jì)實(shí)驗(yàn)采用的是共陽極的接法,下圖給出了這兩種接法的內(nèi)部電路原理及相對應(yīng)的管腳圖。</p><p> 圖1-1 共陰極與共陽極接法的內(nèi)部電路原理圖</p><p> 在采用掃描的方式進(jìn)行顯示時(shí),每一行使用一個(gè)行驅(qū)動器,每行的同名列之間共用一個(gè)列驅(qū)動器。顯示所需的數(shù)據(jù)一般在單片機(jī)的存儲器里存儲,并且是按照8位一個(gè)字節(jié)的形式順序排放。顯示圖像時(shí)需要把一
21、行中的各個(gè)列的數(shù)據(jù)都傳送到其相對應(yīng)的驅(qū)動上去,這就存在著數(shù)據(jù)傳輸?shù)膯栴}。利用控制電路到列驅(qū)動器傳輸數(shù)據(jù)時(shí),可以采用串行方式或者并行方式,但是,使用并行傳輸方式時(shí),從控制電路到列驅(qū)動電路所需的電路線太多,所需的硬件數(shù)目也就增多,如果當(dāng)列數(shù)很多是,也不利于實(shí)際的設(shè)計(jì),也不經(jīng)濟(jì),所以并行傳輸方式方案是不可取的。</p><p> 使用串行的傳輸方式,控制電路就只用一根短路線,就能將列數(shù)據(jù)依次傳輸?shù)津?qū)動器里,但是由于只
22、有一根傳輸導(dǎo)線,所以導(dǎo)致列數(shù)據(jù)傳輸?shù)臅r(shí)間可能過長,即數(shù)據(jù)準(zhǔn)備所需時(shí)間過長,在確定了行掃描周期的情況下,其在導(dǎo)線中的傳輸時(shí)間過長,行顯示的時(shí)間就縮短了,這樣就會影響到LED的亮度,這種方法雖然在硬件方面更為經(jīng)濟(jì),但是也沒能滿足我們的需求。</p><p> 要解決串行傳輸方式中的數(shù)據(jù)準(zhǔn)備時(shí)間過長和顯示的時(shí)間不足的矛盾問題,我們可以采用重疊處理的方法。即在顯示本行的各個(gè)列數(shù)據(jù)的同時(shí),也將下一行各個(gè)列數(shù)據(jù)傳輸。為了達(dá)
23、到所需的重疊處理的目的,就需要將列數(shù)據(jù)的顯示數(shù)據(jù)鎖存起來,這樣經(jīng)過上述分析,我們可知對于列數(shù)據(jù)準(zhǔn)備來說,它就能實(shí)現(xiàn)串入并出的一位功能,而對于列數(shù)據(jù)顯示來說,應(yīng)該具有并行鎖存的功能。這樣,已準(zhǔn)備好的本行的數(shù)據(jù)傳入并行鎖存器進(jìn)行顯示的同時(shí),準(zhǔn)下一行的列數(shù)據(jù)就可以在串并移位寄存器中準(zhǔn)備,而本行的顯示也不會受到影響,這樣就能達(dá)到我們所設(shè)計(jì)的目的。</p><p><b> 硬件電路設(shè)計(jì)</b>&l
24、t;/p><p> 2.1 系統(tǒng)的結(jié)構(gòu)框圖</p><p> 該課程設(shè)計(jì)采用了AT89S51單片機(jī)為核心的芯片的電路來實(shí)現(xiàn),它的組成部分為AT89S51芯片、電源、復(fù)位電路、時(shí)鐘電路、行驅(qū)動器、列驅(qū)動器、4個(gè)8*8LED的點(diǎn)陣。</p><p> 圖2.1-1 系統(tǒng)結(jié)構(gòu)圖</p><p> 2.1.1 單片機(jī)控制模塊</p&g
25、t;<p> AT89S51單片機(jī)是一種所占字節(jié)為4K的FLASH存儲器的低電壓、高性能CMOS的8位的微型處理器,該器件密度高、非易失性存儲 ,兼容標(biāo)準(zhǔn)MCS-51 指令系統(tǒng),在片內(nèi)使用了8位的中央處理器和Flash存儲單元,AT89S51單片機(jī)的功能強(qiáng)大,可以提供共性價(jià)比的應(yīng)用場合,所以可以靈活的應(yīng)用于各種控制領(lǐng)域,并且價(jià)格比較經(jīng)濟(jì),方便編程,性能穩(wěn)定。</p><p> 2.1.2 時(shí)鐘
26、電路</p><p> 該電路的脈沖信號是采用普通的晶體時(shí)鐘源提供的,而構(gòu)成了內(nèi)部的振蕩的方式,該晶體能夠使芯片的使用盡可能的減少,節(jié)約成本。</p><p> 單片機(jī)的時(shí)鐘信號通常用內(nèi)部振蕩方式和外部振蕩方式這兩種電路形式得到。內(nèi)部振蕩方式的振蕩器的構(gòu)成是在XTAL1和XTAL2這兩個(gè)引腳外接石英晶體。因?yàn)閱纹瑱C(jī)內(nèi)部有一個(gè)高增益反相放大器,當(dāng)晶振外接后,就夠成了自激振蕩器,產(chǎn)生時(shí)鐘脈
27、沖。晶振的頻率大約為12MHZ。如下圖2.1.2-1,C1、C2兩個(gè)電容器的作用是起穩(wěn)定振蕩器頻率、快速起振。電容的值一般為5-30PF。內(nèi)部振蕩方式所得到的時(shí)鐘信號相對來說比較穩(wěn)定,比較廣泛的使用在實(shí)際電路中。</p><p> 圖2.1.2-1 單片機(jī)時(shí)鐘電路</p><p> 2.1.3 復(fù)位電路 </p><p> 復(fù)位電路就是利用它把電路恢復(fù)到起
28、始狀態(tài)。其復(fù)位電路可分為兩種,一種是開關(guān)復(fù)位,當(dāng)在電源接通的情況下,當(dāng)單片機(jī)在運(yùn)行期間,如果發(fā)生了死機(jī)的情況,就可以使用按鍵開關(guān)操作來時(shí)單片機(jī)復(fù)位;另一種是上電復(fù)位,當(dāng)在接通電源的情況下,復(fù)位操作就會自動實(shí)現(xiàn)。</p><p> 單片機(jī)復(fù)位電路圖如圖2.1.3-1所示,該復(fù)位電路可實(shí)現(xiàn)人工手動復(fù)位,也實(shí)現(xiàn)上電復(fù)位。當(dāng)按下按鍵SW時(shí),RST腳位高電平,就能是單片機(jī)正常復(fù)位;當(dāng)一開始就打開電源時(shí),C3電容相當(dāng)于短路
29、,RST腳在短時(shí)間內(nèi)處于高電平,從而促使單片機(jī)復(fù)位。</p><p> 圖2.1.3-1 單片機(jī)復(fù)位電路</p><p> 2.1.4 顯示模塊</p><p> 該設(shè)計(jì)的點(diǎn)陣顯示屏是由4個(gè)8*8LED點(diǎn)陣組成的16*16的顯示屏。數(shù)個(gè)發(fā)光二極管組成了LED點(diǎn)陣顯示屏,它具有的特點(diǎn)是低功耗、亮度高、引腳少、壽命長、耐濕、耐冷熱、耐腐蝕、視角大。點(diǎn)陣顯示屏按
30、顏色分類可分為單色和雙色兩類,該次設(shè)計(jì)師選用的單色點(diǎn)陣顯示屏,為了安裝的方便,一塊模塊上有若干個(gè)LED組合而成,形成了我們所需的大屏幕。</p><p> 如圖2.1.4-1是一個(gè)8*8的單色的LED點(diǎn)陣模塊內(nèi)部的電路圖。圖中的LED的排列形式成點(diǎn)陣,同一列的LED陰極連在一起,同一列的LED陽極連在一起,當(dāng)LED處于正偏是,LED燈才會發(fā)光。該設(shè)計(jì)選用的是4個(gè)8*8的LDE點(diǎn)陣構(gòu)成了16*16點(diǎn)陣顯示屏,該次
31、顯示的結(jié)果是顯示兩個(gè)漢字,16*16的LED點(diǎn)陣顯示屏有256個(gè)發(fā)光二極管,并且每個(gè)發(fā)光二極管是放置在列線和行線的交叉點(diǎn)上。</p><p> 圖2.1.4-1 8*8點(diǎn)陣內(nèi)部電路圖</p><p> 如圖2.1.4-2所示,是其外觀和引腳圖。當(dāng)所對應(yīng)的某一行置電平1時(shí),某一列置電平0,其相對應(yīng)的二極管就發(fā)光。如果第一行置1為高電平,第一列置0為低電平,第二行為高電平置為1,Y行置1
32、為高電平,I列置0為低電平,這顯示效果為P行上的第一個(gè)LED燈亮,第二個(gè)LED燈滅,第三個(gè)LED燈亮。</p><p> 如圖2.1.4-2 8*8點(diǎn)陣外觀和引腳圖</p><p> 如圖2.1.4-3所示,是一個(gè)4塊8*8點(diǎn)陣組成的16*16的LED點(diǎn)陣的顯示屏。16*16點(diǎn)陣顯示屏是采用動態(tài)掃描的LED驅(qū)動顯示方式,動態(tài)掃描方式是采用逐行輪流的方法來點(diǎn)亮LED燈。LED點(diǎn)陣顯示模
33、塊進(jìn)行的方法有水平方向(X方向)的掃描和豎直方向(Y方向)的掃描,本次設(shè)計(jì)采用的是豎直方向(Y方向)的掃描,即逐行掃描的方法簡稱行掃描方法,它是用一個(gè)P口相當(dāng)于位碼來輸出決定哪一行能點(diǎn)亮,另一個(gè)P口相當(dāng)于段碼輸出列碼決定該行上哪些LED燈亮。能亮的行從上向下掃描完16行即相當(dāng)于位碼循環(huán)移位16次后顯示一幀完整的圖像。</p><p> 圖2.1.4-3 4塊8*8點(diǎn)陣LED屏組成的16*16的點(diǎn)陣顯示屏<
34、;/p><p> 2.1.5 驅(qū)動模塊</p><p> 集成電路74HC595構(gòu)成了行驅(qū)動電路,它的結(jié)構(gòu)是由一個(gè)8位的串入并出的一位寄存器和一個(gè)8位輸出鎖存器構(gòu)成,并且輸出鎖存器和移位寄存器的控制室各自獨(dú)立的,可以在顯示本行的各列數(shù)據(jù)的同時(shí),同時(shí)傳輸下一行的列數(shù)據(jù),而達(dá)到重疊處理的目的。</p><p> 列驅(qū)動電路主要實(shí)現(xiàn)的功能是譯碼,用2塊74LS138級
35、聯(lián)來實(shí)現(xiàn)4/16線譯碼功能,74LS138芯片本身具有3/8線譯碼功能。</p><p> 74HC595的外形及內(nèi)部結(jié)構(gòu)如圖2.1.5-1,它的輸出測由8個(gè)串行移位寄存器連接,每個(gè)移位寄存器的輸出都有一個(gè)輸出鎖存器來連接,SI引腳是串行為數(shù)據(jù)的輸入端,SCK引腳的作用是移位寄存器的移位時(shí)鐘脈沖,移位時(shí)間是發(fā)生在上升沿,并且將SI的下一個(gè)數(shù)據(jù)移位到最低位,并在各移位寄存器的輸出端出現(xiàn)移位后的各位信號,也就是輸出
36、地鎖存器的輸入端。RCK是輸出的鎖存器的打入信號,其上升沿將移位寄存器的輸出打入到輸出鎖存器中。G引腳的作用是輸出三態(tài)門的開放信號,其開放的條件是當(dāng)其為低時(shí)鎖存器的輸出時(shí),否則為高阻態(tài)。SCLC引腳的功能是作為移位寄存器的清零輸入端,當(dāng)其為低時(shí)移位寄存器的輸出全部為零。因?yàn)镾CK和RCK這兩個(gè)信號是相互獨(dú)立的,所以輸入串行移位與輸出鎖存互不干擾。QA~QH為芯片的輸出端,QH做為最高位可用作多片74HC595級聯(lián)使用,向上一級的級聯(lián)輸出
37、,但是因?yàn)镼H受輸出鎖存器的打入控制,所以還要從輸出的鎖存器前引出QH’來作為與移位寄存器完全同步的級聯(lián)輸出。圖2.1.5-2為74HC595級聯(lián),表2.1.5-1為74HC595真值表。圖2.1.5-3為74HC595時(shí)序圖。</p><p> 圖2.1.5-1 74HC595的外形及內(nèi)部結(jié)構(gòu)</p><p> 圖2.1.5-2 2個(gè)74HC595級聯(lián)</p>&l
38、t;p> 表2.1.5-1 74HC595真值表</p><p> 圖2.1.5-3 74HC595時(shí)序圖</p><p> 列驅(qū)動模塊電路是由2塊74LS138芯片組成,74LS138是一款高速CMOS器件,74LS138為反相輸出,74HS138引腳兼容低功耗肖特基TTL(LSTTL)系列,如圖2.1.5-4所示是74LS138的引腳圖,表2.1.5-2是其真值表。74
39、LS138譯碼器可接受的二進(jìn)制加權(quán)地址輸入位數(shù)為3位A0、A1、A2,當(dāng)使能時(shí),能夠提供8個(gè)互斥的低有效輸出Y0-Y7。74LS138的使能端有3個(gè):一個(gè)高有效E3和兩個(gè)低有效E1和E2。當(dāng)E1和E2置為低位E3置為高位時(shí),74LS138輸出為低,其他的情況下74LS138將保持所有輸出為高,利用這種復(fù)合使能特性,只需要1個(gè)反相器和4塊74LS138芯片,就可以實(shí)現(xiàn)并行擴(kuò)展,組成一個(gè)1-32即5線到32線的譯碼器,任選一個(gè)低有效使能端作
40、為數(shù)據(jù)輸入端,而把其余的使能輸入端作為選通端,則74LS138也可以作為一個(gè)8位輸出多路分配器,未使用的使能輸入端必須使其在各自合適的高有效或者低有效狀態(tài)保持綁定,74LS138的作用原理在這些情況下可以提高譯碼系統(tǒng)的效率,如高性能的存儲譯碼或者要求傳輸延遲時(shí)間短的數(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 單片機(jī)的最小系統(tǒng)圖</p><p> 圖2.2-1 單片機(jī)最小系統(tǒng)</p><p><b> 單片機(jī)系統(tǒng)</b></p><p> MCS-51是Intel公司生產(chǎn)的一個(gè)單片機(jī)系列名稱。這一系列的單片機(jī)有多種,8051是其中性價(jià)比高的一種單
42、片機(jī)。</p><p> 8051單片機(jī)按照其功能部件課將內(nèi)部結(jié)構(gòu)劃分為8個(gè)部分:</p><p> ★ 8位中央處理機(jī)CPU一個(gè)。</p><p> ★ 128個(gè)字節(jié)的片內(nèi)數(shù)據(jù)存儲器RAM。</p><p> ★ 片內(nèi)程序只讀存儲器ROM其字節(jié)為4KB。</p><p> ★ 特殊功能寄存器SFR18個(gè)。&
43、lt;/p><p> ★ P0、P1、P2、P3 這4個(gè)8位并行輸入輸出I/O接口(共32線),用于并行輸入或輸出數(shù)據(jù)局。</p><p> ★ 串行I/O接口1個(gè)。</p><p> ★ 16位定時(shí)器/計(jì)數(shù)器2個(gè)。</p><p> ★ 1個(gè)具有可以接收為不中斷申請,定時(shí)器/計(jì)數(shù)器中斷申請和串行口中斷申請的5個(gè)中斷源,可編程為2個(gè)優(yōu)先級
44、的中斷系統(tǒng)。</p><p> 3.1 8051引腳為40個(gè)的單片機(jī)芯片</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個(gè)引腳,接在外部石英晶體的一端,它在單片機(jī)內(nèi)部是作為一個(gè)反相放大器的輸入端使用的,這個(gè)放大器也作為了片內(nèi)振蕩器。當(dāng)采用了外部時(shí)鐘時(shí),對于HMOS單片機(jī)來說,該引腳就要接地。</p><p> XTAL2:該引腳數(shù)為18個(gè)引腳,接在外部石英晶體
46、的另一端。在單片機(jī)內(nèi)部,該引腳接在片內(nèi)振蕩器的反相放大器的輸出端。當(dāng)采用了外部時(shí)鐘時(shí),對于HMOS單片機(jī)來說,該引腳的作用是作為一個(gè)外部振蕩信號的輸入端使用。</p><p> 3.2 I/O口線的引腳排列及管腳的說明</p><p> ★ P0口——漏極開路的8位雙向I/O口。</p><p> 在編程時(shí),P0口可以用于指令代碼字節(jié)的接收;當(dāng)使用外擴(kuò)I/O
47、口及片外儲存器是,P0口作為低字節(jié)的地址/數(shù)據(jù)復(fù)線;在程序校撿是,P0口能夠?qū)⒅噶钭州敵?,但需要外加上拉電阻?lt;/p><p> P0口為一個(gè)8位的漏極開路雙向I/O口,每腳可以吸收8TTL門電流。當(dāng)P1口的管腳第一次輸入1時(shí),被稱為高阻輸入。外部程序數(shù)據(jù)可存儲在P0端口,它被稱為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),原碼可從P0端口輸入,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),原碼從P0端口輸出,此時(shí)P0外部必須被拉高。&
48、lt;/p><p> ★ P1口——準(zhǔn)雙向8位的I/O口,具有內(nèi)部上拉電阻的功能。</p><p> P1口試專門為用戶準(zhǔn)備的I/O雙向口。用做輸入時(shí),應(yīng)該先讓輸出地鎖存器置為1;P1口可以同時(shí)驅(qū)動TTL4個(gè)負(fù)載;在編程和校檢時(shí),可以當(dāng)成輸入的是低8位的地址。</p><p> ★ P2口——準(zhǔn)雙向的8位I/O口,具有內(nèi)部上拉電阻。</p><
49、p> 在編程校檢時(shí),P2口能夠接收到高字節(jié)的地址和某些控制信號;P2口同時(shí)也可以當(dāng)做I/O口使用;當(dāng)使用外擴(kuò)I/O或者片外儲存器端口時(shí),P2端口輸出高8位的地址。當(dāng)用做輸入時(shí),應(yīng)該先將輸出地鎖存器置為1;P2口可以同時(shí)驅(qū)動TTL4個(gè)負(fù)載。</p><p> 當(dāng)P2口輸入1時(shí),其管腳被內(nèi)部的上拉電阻拉高,并作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,輸出電流。出現(xiàn)這種現(xiàn)象的原因是由于內(nèi)部上拉。當(dāng)P
50、2口被當(dāng)做16位地址外部數(shù)據(jù)存儲器或者外部程序存儲器進(jìn)行存取時(shí),P2口輸出高八位的地址。當(dāng)給出的地址為1時(shí),它可以利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器讀寫時(shí),P2口輸出特殊功能寄存器的內(nèi)容,P2端口在FLASH編程和校驗(yàn)的時(shí)候能夠接收高控制信號和八位地址信號 。</p><p> ★ P3口——準(zhǔn)雙向的8位I/O口,具有內(nèi)部上拉電阻。</p><p> P3口能夠作為普通I/O
51、口。在編程校檢時(shí),P3口負(fù)責(zé)接收某些控制信號;可以驅(qū)動4個(gè)TTL。作為輸入時(shí),應(yīng)該先將輸出鎖存器置位1;同時(shí)P3端口還具有各種替代的功能。P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號。P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p> 表3.2-1 P3口特殊功能表</p><p><b> 3.3 RST鍵</b></p&g
52、t;<p> 該鍵的功能為復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST引腳的兩個(gè)機(jī)器周期的高電平的時(shí)間。</p><p> 3.4 PEROM陣列和鎖定位</p><p> 通過正確的控制信號的組合可以讓整個(gè)PEROM陣列和三個(gè)鎖定位電擦除,并保持ALE管腳處于低電位10ms實(shí)現(xiàn)。在芯片的擦操作中,該操作必須執(zhí)行的時(shí)間是在代碼陣列全部置1并且在任何非空存儲字節(jié)被重復(fù)編程
53、以前。而且,8051芯片設(shè)置有穩(wěn)態(tài)邏輯,可在零頻率的情況下進(jìn)行靜態(tài)邏輯,支持軟件可選的兩種掉電模式。在閑置模式的情況下,CPU停止工作,但是計(jì)數(shù)器、RAM、定時(shí)器、串口和中斷系統(tǒng)仍在繼續(xù)工作。在掉電模式下,凍結(jié)振蕩器并且保存RAM中的內(nèi)容,將所用的其他芯片的功能都禁止,一直到下一個(gè)硬件復(fù)位為止。</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p>
54、 4.1 主程序的設(shè)計(jì)及流程圖</p><p> 顯示屏軟件主要有向屏體提供顯示數(shù)據(jù)的功能,并且產(chǎn)生各種控制信號,而達(dá)到讓屏幕顯示我們所需的顯示內(nèi)容的目的。該系統(tǒng)的軟件采用C語言來編寫,按照模塊化得到設(shè)計(jì)思路而設(shè)計(jì)。首先分析程序所要實(shí)現(xiàn)的功能,程序要實(shí)現(xiàn)動態(tài)顯示,向左移動兩大功能。主程序的工作流程如圖4-1-1所示。</p><p> 圖4.1-1 主程序工作流程圖</p&
55、gt;<p> 4.2 顯示程序的設(shè)計(jì)</p><p> LED點(diǎn)陣的顯示方法是采用的動態(tài)掃描顯示,,并能實(shí)現(xiàn)左移的功能。圖4-2-1為顯示的程序流程圖。采用PCtoLCD2002字模軟件取出想要顯示的漢字的字模,該次設(shè)計(jì)實(shí)驗(yàn)設(shè)計(jì)的漢字是“您好”。</p><p> 圖4.2-1 顯示程序流程圖</p><p> 5 硬件的制作與調(diào)試 &
56、lt;/p><p> 5.1 系統(tǒng)的組裝</p><p> 在確定好硬件,程序編寫好過后,能夠制作出如圖5-1-1所示類似的實(shí)物圖。實(shí)物完成后必須對其進(jìn)行調(diào)試,檢查設(shè)計(jì)功能是否實(shí)現(xiàn)。</p><p> 圖5.1-1 實(shí)物圖</p><p> 16*16點(diǎn)陣的LED電子顯示屏的電路系統(tǒng)比較小,但是線路也很麻煩,特別是在焊接點(diǎn)陣屏?xí)r,對于
57、焊接的技術(shù)也是相當(dāng)重要的,整個(gè)電路系統(tǒng)中只要右一處錯(cuò)誤出現(xiàn),則會影響整個(gè)電路,并且檢測起來也相當(dāng)?shù)穆闊?,而且電路需要相交的線也較多,對于各種鋒利的引腳要注意處理,否則會將帶有包皮的導(dǎo)線刺破,則會對電路造成短路現(xiàn)象。</p><p> 完成實(shí)物后進(jìn)行調(diào)試,首先把程序下載到單片機(jī)里,再接通電源,觀察點(diǎn)陣顯示是否清晰穩(wěn)定,是否實(shí)現(xiàn)左移功能。</p><p><b> 5.2 程序的
58、調(diào)試</b></p><p> 固件程序設(shè)計(jì)完成后,采用Keil編譯器進(jìn)行編譯,調(diào)試Keil完全是圖形化界面,有著良好的人機(jī)接口,支持單步調(diào)試,插入斷點(diǎn),還可以觀察程序運(yùn)行中各變量的取值變化情況。而且還支持Wave硬件仿真器,使用起來很方便。</p><p> 首先在Keil里新建一個(gè)工程,把所有的C源文件添加進(jìn)工程(.h頭文件系統(tǒng)自動添加)然后編譯。編譯無誤后,可以使用W
59、ave硬件仿真器。使用時(shí),首先要對仿真環(huán)境進(jìn)行設(shè)置。然后畫出PCB電路圖,在畫PCB電路時(shí)要特別注意的幾個(gè)方面是電路板的過孔比較大,定位孔的放置,在焊接時(shí),要注意先焊接的元器件是否會影響以后的元器件的焊接。安裝好電路后就將程序?qū)懭氲紸T89S52中,將AT89S52插入驅(qū)動電路,若每個(gè)所需的發(fā)光二級管都能被點(diǎn)亮,這說明該電路的硬件成功完成;若發(fā)現(xiàn)二極管沒有被全部點(diǎn)亮,則需要用萬能表仔細(xì)的檢查電路板是否是由于焊接不當(dāng)被短路或者斷開等。可以
60、直接檢查不亮的二極管的電路出現(xiàn)了什么問題,問題找出來后進(jìn)行</p><p> 修補(bǔ),完成后再進(jìn)行操作,若每個(gè)燈被點(diǎn)亮即成功完成。</p><p><b> 6 結(jié)束語</b></p><p> 通過做這次關(guān)于LED點(diǎn)陣的設(shè)計(jì),我了解最多的就是關(guān)于LED顯示屏的顯示的知識,對于顯示屏的組成及相關(guān)的制作,有了更深一步的了解,對單片機(jī)的一些相
61、關(guān)的引腳的排列、作用、功能知道的更為具體,雖然在設(shè)計(jì)過程中遇到了很多不懂的知識,但是都通過去查閱相關(guān)的資料和請教相關(guān)的老師和同學(xué)一一解決了。通過這次的課程設(shè)計(jì),還是有一些收獲。馬上大三上期就要完了,現(xiàn)在回顧一下我的已過的大學(xué)生活,再和剛進(jìn)大學(xué)時(shí)那豪情萬丈的心情相比較,只能說我的大學(xué)還真是失敗。記得剛進(jìn)大學(xué)時(shí),信心滿滿的對自己說我要怎么怎么的過自己的大學(xué),不將大學(xué)生涯浪費(fèi)掉,結(jié)果現(xiàn)在的現(xiàn)狀簡直就是兩個(gè)完全相反的情況,對于現(xiàn)在的我來說,我只
62、能盡可能的認(rèn)真的學(xué)習(xí)自己的專業(yè)知識,,不讓剩下的這半年時(shí)間浪費(fèi)掉。</p><p> 隨著社會的發(fā)展,我們的生活也越來越好,正是因?yàn)檫@樣,我們才有更多的精力和金錢用來做其他的事情,現(xiàn)在我們能安心的呆在學(xué)校學(xué)習(xí),首先是歸功于國家的發(fā)展,最主要的是要感謝我們的父母,有了他們的無微不至的照顧和辛苦的在外打拼才能提供我們現(xiàn)在安逸的在學(xué)校學(xué)習(xí);其次,要感謝的就是教育我們的老師們,正因?yàn)橛辛怂麄兊臒o私的傳授我們知識,我們才
63、有了追逐夢想的能力。所以由衷的感謝他們對我的照顧和培養(yǎng)。</p><p><b> 附錄</b></p><p><b> 附錄1:程序清單</b></p><p> //用兩個(gè)138和兩個(gè)595設(shè)計(jì)16*16LED點(diǎn)陣顯示屏,向左移動顯示“您好”//</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個(gè)字符。</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++) //重復(fù)
76、顯示4次 ,也就是延時(shí)</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個(gè)8*8LED組成的顯示屏<
85、;/p><p><b> 附錄5:PCB圖</b></p><p><b> 參考文獻(xiàn)</b></p><p> [1] 吳金戊、沈慶陽、郭庭吉:8051單片機(jī)實(shí)踐與應(yīng)用,清華大學(xué)出版社,2004.6,P126-P130</p><p> [2] 劉欣銘、張廣斌:LED顯示屏技術(shù)綜述,黑龍江電力
86、,2003.5,P294-P296</p><p> [3] 李群芳、肖看、張士軍:單片微型計(jì)算機(jī)與接口系數(shù),電子工業(yè)出版,2012.12,P88-P90</p><p> [4] 何立民:單片機(jī)初級教程,北京航空航天大學(xué)出版社,2000.2,P18-P3</p><p> [5] 陽進(jìn):基于單片機(jī)的LED顯示屏的漢字顯示,中國科技信息,2005.12,P11
87、2</p><p> [6] 徐愛鈞、彭秀華:.Keil Cx51 V7.0單片機(jī)高級語言編程與Vision2應(yīng)用實(shí)踐,北京電子工業(yè)出版社,2004.11,P34-P45</p><p> [7] 李朝青:單片機(jī)原理及接口技術(shù)(第三版),北京航空航天大學(xué)出版,2005.3,P122-P125</p><p> [8] 王宜懷:單片機(jī)原理及其嵌入式應(yīng)用教程,北京
88、希望電子出版社,2002.1,P111-P113</p><p> [9] 韓潤萍、陳小萍:點(diǎn)陣LED顯示屏控制系統(tǒng),微計(jì)算機(jī)信息,2003.10,P50-P51</p><p> [10] 諸昌鈴:LED顯示屏系統(tǒng)原理及工程技術(shù),電子科技大學(xué)出版社,2000.9,P10-P20</p><p> [11] 李群芳:單片微型計(jì)算機(jī)與接口技術(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 16×16-led點(diǎn)陣設(shè)計(jì)-畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---16×16點(diǎn)陣led室內(nèi)電子顯示屏的設(shè)計(jì)
- 16×16led點(diǎn)陣屏顯示設(shè)計(jì)-課設(shè)論文
- 單片機(jī)課程設(shè)計(jì)--16×16 led點(diǎn)陣顯示漢字
- led16x16點(diǎn)陣課程設(shè)計(jì)--16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)
- 16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)畢業(yè)論文
- 16×16點(diǎn)陣eda課程設(shè)計(jì)報(bào)告
- 畢業(yè)論文---16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)模塊
- 16×16點(diǎn)陣(滾動顯示)
- 16x16點(diǎn)陣課程設(shè)計(jì)--16×16點(diǎn)陣led電子顯示屏的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---16×16 led廣告屏
- 單片機(jī)課程設(shè)計(jì)---16×16點(diǎn)陣式漢字顯示
- 合適硬件電路及對應(yīng)的軟件16×16點(diǎn)陣設(shè)計(jì)
- 16×64點(diǎn)陣設(shè)計(jì)畢業(yè)論文說明書
- 16×16位移位相加乘法器設(shè)計(jì)畢業(yè)論文
- 16乘16的點(diǎn)陣顯示設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 16x16led點(diǎn)陣課程設(shè)計(jì)報(bào)告
- 16x32點(diǎn)陣led顯示屏畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---φ3.5×16米圓筒混料機(jī)設(shè)計(jì)
- 16 16led點(diǎn)陣顯示屏
評論
0/150
提交評論