版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> LED是發(fā)光二極管LIGHT EMINTTING DIODE的英文縮寫(xiě),是一種直接能將電能轉(zhuǎn)化為可見(jiàn)光的半導(dǎo)體。LED點(diǎn)陣是由發(fā)光二極管排列組成的顯示器件,在日常生活中隨處可見(jiàn),其發(fā)光類(lèi)型屬于冷光源,效率及發(fā)熱量是普通發(fā)光器件難以比擬的。它采用低電壓掃描驅(qū)動(dòng),具有耗電少、使用壽命長(zhǎng)、成本低、亮度高、故障少、視角大、可視距離遠(yuǎn)
2、、可靠耐用、應(yīng)用靈活、安全、響應(yīng)時(shí)間短、綠色環(huán)保、控制靈活等特點(diǎn)。隨著社會(huì)經(jīng)濟(jì)的不斷進(jìn)步,人們對(duì)LED顯示器的認(rèn)識(shí)不斷加深,其應(yīng)用領(lǐng)域越來(lái)越廣。</p><p> 本設(shè)計(jì)是基于AT89C51的8×8點(diǎn)陣LED數(shù)碼字符顯示器的設(shè)計(jì),LED點(diǎn)陣顯示屏作為一種新興的顯示器件,是由多個(gè)獨(dú)立的LED發(fā)光二極管封裝而成. LED點(diǎn)陣顯示屏可以顯示數(shù)字或符號(hào), 通常用來(lái)顯示時(shí)間、速度、系統(tǒng)狀態(tài)等。本文講述了基于AT
3、89C51單片機(jī)8×8 LED數(shù)碼字符顯示器的基本原理、硬件組成與設(shè)計(jì),Proteus軟件仿真,程序設(shè)計(jì)等基本環(huán)節(jié)與相關(guān)技術(shù)。</p><p> 關(guān)鍵字: LED8×8點(diǎn)陣顯示屏;Proteus軟件;AT89C51單片機(jī)</p><p><b> 目 錄</b></p><p> 1 緒論- 1 -</p&g
4、t;<p> 2 方案選擇及總體設(shè)計(jì)- 2 -</p><p> 2.1 方案確定- 2 -</p><p> 2.1.1 功能要求- 2 -</p><p> 2.1.2 方案確定- 2 -</p><p> 2.2 器件選擇- 2 -</p><p> 3 控制系統(tǒng)硬件設(shè)計(jì)-
5、3 -</p><p> 3.1 整體模塊設(shè)計(jì)- 3 -</p><p> 3.2 單片機(jī)最小系統(tǒng)設(shè)計(jì)- 3 -</p><p> 3.2.1 AT89C51芯片的介紹- 3 -</p><p> 3.2.2 晶振電路設(shè)計(jì)- 4 -</p><p> 3.2.3 復(fù)位電路設(shè)計(jì)- 5 -</p
6、><p> 3.3 驅(qū)動(dòng)電路設(shè)計(jì)- 5 -</p><p> 3.4上拉電阻- 6 -</p><p> 3.5 LED點(diǎn)陣顯示設(shè)計(jì)- 7 -</p><p> 4 控制系統(tǒng)軟件設(shè)計(jì)- 10 -</p><p> 4.1 軟件設(shè)計(jì)思想- 10 -</p><p> 4.2 主程
7、序流程圖- 11 -</p><p> 4.3計(jì)數(shù)器初值計(jì)算- 11 -</p><p> 4.4系統(tǒng)調(diào)試- 12 -</p><p> 4.4.1軟件調(diào)試- 12 -</p><p> 4.4.2硬件調(diào)試- 12 -</p><p> 5 系統(tǒng)仿真及性能分析- 13 -</p>&
8、lt;p> 5.1 系統(tǒng)仿真- 13 -</p><p> 5.2 性能分析- 15 -</p><p> 6 總結(jié)- 16 -</p><p> 7 參考文獻(xiàn)- 17 -</p><p> 附錄一:總原理圖18</p><p> 附錄二: 原件清單18</p><p
9、> 附錄三:系統(tǒng)程序19</p><p><b> 1 緒論</b></p><p> LED電子顯示屏具有所顯內(nèi)容信息量大,外形美觀大方,操作使用方便靈活。適用于火車(chē),汽車(chē)站,碼頭,金融證券市場(chǎng),文化中心,信息中心體育設(shè)施等公共場(chǎng)所。該項(xiàng)目廣泛涉及了計(jì)算機(jī)及電子技術(shù)中的電源技術(shù),單片機(jī)技術(shù),數(shù)據(jù)通訊技術(shù),顯示技術(shù),存儲(chǔ)技術(shù),系統(tǒng)軟件技術(shù),接口及驅(qū)動(dòng)等技
10、術(shù)。LED點(diǎn)陣顯示屏是集微電子技術(shù)、計(jì)算機(jī)技術(shù)、信息處理技術(shù)于一體的大型顯示屏系統(tǒng)。它以其色彩鮮艷,動(dòng)態(tài)范圍廣,亮度高,壽命長(zhǎng),工作穩(wěn)定可靠等優(yōu)點(diǎn)而成為眾多顯示媒體以及戶(hù)外作業(yè)顯示的理想選擇。同時(shí)也可廣泛應(yīng)用到軍事、車(chē)站、賓館、體育、新聞、金融、證券、廣告以及交通運(yùn)輸?shù)仍S多行業(yè)。目前大多數(shù)的LED點(diǎn)陣顯示系統(tǒng)自帶字庫(kù)。其顯示和動(dòng)態(tài)效果(主要是顯示內(nèi)容的滾動(dòng))的實(shí)現(xiàn)主要依靠硬件掃描驅(qū)動(dòng),該方法雖然比較方便,但顯示只能按照預(yù)先的設(shè)計(jì)進(jìn)行。而
11、實(shí)際上經(jīng)常會(huì)遇到一些特殊要求的動(dòng)態(tài)顯示,比如電梯運(yùn)行中指示箭頭的上下移動(dòng)、某些智能儀表幅值的條形顯示、廣告中廠家的商標(biāo)顯示等。這時(shí)一般的顯示系統(tǒng)就很難達(dá)到要求。另外,由于受到存儲(chǔ)器本身的局限,其特殊字符往往難以顯示,同時(shí)顯示內(nèi)容也不能隨意更改。 因此就提出了一種利用PC機(jī)和單片機(jī)控制的</p><p> 2 方案選擇及總體設(shè)計(jì)</p><p>
12、;<b> 2.1 方案確定</b></p><p> 2.1.1 功能要求</p><p> 1、采用MCS-51單片機(jī)作為微處理器。</p><p> 2、設(shè)計(jì)一個(gè)8×8點(diǎn)陣LED數(shù)碼字符顯示器。</p><p> 3、在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足、穩(wěn)定、清晰無(wú)串?dāng)_。</p&g
13、t;<p> 4、動(dòng)態(tài)顯示“0”“1”“2”“3” “4” “5” “6” “7” “8” “9”幾個(gè)字符。</p><p> 2.1.2 方案確定</p><p> 采用AT89C51單片機(jī)作為微處理器,將共陽(yáng)極二極管用共陰型接法連接成8×8點(diǎn)陣LED數(shù)碼字符陣列,通過(guò)程序控制,采用動(dòng)態(tài)顯示,建立字符庫(kù)“0”“1”“2”“3” “4” “5” “6” “7”
14、 “8” “9”。</p><p><b> 2.2 器件選擇</b></p><p> 微處理器采用AT89C51系列單片機(jī),AT89C51單片機(jī)是這幾年在我國(guó)非常流行的單片機(jī),是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)高性能單片機(jī),可擦除只讀存儲(chǔ)器
15、可以反復(fù)擦除100次,具有低功耗、高性能的特點(diǎn),并且可與工業(yè)標(biāo)準(zhǔn)的MCS—51指令集和輸出管腳相兼容,于本設(shè)計(jì)需要實(shí)現(xiàn)的功能,完全可勝任。</p><p> 3 控制系統(tǒng)硬件設(shè)計(jì)</p><p> 3.1 整體模塊設(shè)計(jì)</p><p> 本設(shè)計(jì)行、列驅(qū)動(dòng)電路,顯示器電路,運(yùn)用單片機(jī)的智能化,系統(tǒng)的將每個(gè)功能電路模塊連接在一起,總體結(jié)構(gòu)設(shè)計(jì)如圖1所示。</
16、p><p><b> 圖1 硬件系統(tǒng)框圖</b></p><p> 此次需要實(shí)現(xiàn)的功能是利用一個(gè)AT89C51,一個(gè)8×8LED點(diǎn)陣,動(dòng)態(tài)顯示“8051”4個(gè)字,采用PC上位機(jī)驅(qū)動(dòng)顯示電路。</p><p> 3.2 單片機(jī)最小系統(tǒng)設(shè)計(jì)</p><p> AT89C51單片機(jī)最小系統(tǒng)電路由復(fù)位電路、晶振電路
17、兩部分組成。</p><p> 3.2.1 AT89C51芯片的介紹</p><p> 圖2 AT89C51單片機(jī)芯片</p><p> (1)I/O端口線輸入輸出引腳</p><p> P0.0—P0.7(39—32):P0口食一個(gè)漏極開(kāi)路型準(zhǔn)雙向I/O口。在訪問(wèn)外部存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線,在訪問(wèn)期間激活
18、了內(nèi)部?jī)?nèi)部的上拉電阻,在E—PROM編程時(shí),它接受指令字節(jié),而在驗(yàn)證程序時(shí),則輸出指令字節(jié)。</p><p> P1.0—P1.7(1—8):P1口是帶內(nèi)部上拉電阻的8位雙向I/O口。</p><p> P2.0—P2.7(21—28):P2口是一個(gè)內(nèi)部帶上拉電阻的8位雙向I/O口。在訪問(wèn)外部存儲(chǔ)器時(shí),它送出高8位地址。</p><p> P3.0—P3.7(
19、10—17):P3口是一個(gè)內(nèi)部帶上拉電阻的8位雙向I/O口。在MCS—51中,這8個(gè)引腳還兼有專(zhuān)用功能,P3的8條口線都定義有第二功能。</p><p> ?。?)控制線控制引腳(ALE/PROG、PSEN、RST、VPD、EA/ VPP)</p><p> ALE(30):地址鎖存控制信號(hào)。在系統(tǒng)擴(kuò)展時(shí),用于控制P0口輸出的低8位地址鎖存起來(lái),以實(shí)現(xiàn)地位地址和數(shù)據(jù)的隔離。此外,由于AL
20、E是以晶振61的固定頻率輸出正脈沖,因此,可作為外部時(shí)鐘或外部定時(shí)脈沖使用。</p><p> PSEN(29):外部程序存儲(chǔ)控制信號(hào)。在外部ROM時(shí),有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作。</p><p> EA(31):訪問(wèn)程序存儲(chǔ)控制信號(hào)。當(dāng)信號(hào)為低電平時(shí),對(duì)ROM的讀操作限定在外部程序存儲(chǔ)器;當(dāng)信號(hào)為高電平時(shí),對(duì)ROM的讀操作時(shí)從內(nèi)部程序存儲(chǔ)器開(kāi)始,并可延至外部程序存儲(chǔ)
21、器。</p><p> RST(9):復(fù)位信號(hào)。但輸入的復(fù)位信號(hào)延續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)即為有效,用以完成單片機(jī)的復(fù)位初始化操作。</p><p> ?。?)外接晶體線 XTAL 1(19)和XTAL 2(18)外接晶體引線端。當(dāng)使用芯片內(nèi)部時(shí)鐘時(shí),此二引線端用于外接石英晶體和微調(diào)電容;當(dāng)使用外部時(shí)鐘時(shí),用于接外部時(shí)鐘脈沖信號(hào)。</p><p> ?。?)主
22、電源引腳 VCC(40):+5V電源。 VSS(20):地線(GND)。</p><p> 3.2.2 晶振電路設(shè)計(jì)</p><p> AT89C51單片機(jī)芯片內(nèi)部設(shè)有一個(gè)由反向放大器構(gòu)成的振蕩器,XTAL1和XTAL2分別為振蕩電路的的輸入端和輸出端,時(shí)鐘可有內(nèi)部或外部生成,在XTAL1和XTAL2引腳上外接定時(shí)元件,內(nèi)部振蕩電路就會(huì)產(chǎn)生自激振蕩。系統(tǒng)采用的定時(shí)元件為石英晶體和電容
23、組成的并聯(lián)諧振回路。晶振頻率fosc采用12MHZ,C1、C2的電容值取33pF,電容的大小起頻率微調(diào)的作用。晶振電路圖如圖所示。</p><p><b> 圖2 晶振電路圖</b></p><p> 3.2.3 復(fù)位電路設(shè)計(jì)</p><p> AT89C51單片機(jī)在啟動(dòng)運(yùn)行時(shí)或者出現(xiàn)死機(jī)時(shí)需要復(fù)位,使CPU以及其他功能部件處于一個(gè)確定的
24、初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。單片機(jī)有多種復(fù)位方式,常用的復(fù)位操作有上電復(fù)位和手動(dòng)復(fù)位方式。本設(shè)計(jì)采用最簡(jiǎn)單的上電復(fù)位方式,電路如圖3所示。上電復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的,復(fù)位電路產(chǎn)生的復(fù)位信號(hào)(高電平有效)由RST引腳送入到內(nèi)部的復(fù)位電路,對(duì)AT89C51單片機(jī)進(jìn)行復(fù)位,復(fù)位信號(hào)要持續(xù)兩個(gè)機(jī)器周期(24個(gè)時(shí)鐘周期)以上,才能使AT89C51單片機(jī)可靠復(fù)位。當(dāng)上電時(shí),C1相當(dāng)于短路,有時(shí)碰到干擾時(shí)會(huì)造成錯(cuò)誤復(fù)位,可在復(fù)位
25、端加個(gè)去耦電容,可以取得很好的效果。 </p><p> AT89C51單片機(jī)復(fù)位電路如下圖所示:</p><p> 圖3 上電復(fù)位電路圖 圖4 按鍵電平復(fù)位電路圖</p><p> 上電瞬間RST引腳的電位與VCC等電位,RST引腳為高電平,隨著電容C5充電電流的減少,RST引腳的電位不斷下降,可
26、以保持RST引腳在為高電平的時(shí)間內(nèi)完成復(fù)位操作。</p><p> 當(dāng)單片機(jī)已在運(yùn)行當(dāng)中時(shí),按下復(fù)位鍵S5后再松開(kāi),也能使RST引腳為一段時(shí)間的高電平,從而實(shí)現(xiàn)AT89C51單片機(jī)復(fù)位。</p><p> 3.3 驅(qū)動(dòng)電路設(shè)計(jì)</p><p> 正向點(diǎn)亮一顆LED,至少也要10~20mA,若電流不夠大,則LED不夠大。而不管是AT89C51的I/O口,還是TT
27、L、CMOS的輸出端,其高態(tài)輸出電流都不是很高,不過(guò)1~2mA而已。因此很難直接高態(tài)驅(qū)動(dòng)LED,這時(shí)候就需要額外的驅(qū)動(dòng)電路,通常有共陽(yáng)型與共陰型LED陣列驅(qū)動(dòng)電路,本設(shè)計(jì)才用共陰型高態(tài)掃描信號(hào)驅(qū)動(dòng)電路。</p><p> 共陰型LED陣列驅(qū)動(dòng)電路采用高態(tài)掃描,也就是任何時(shí)間只有一個(gè)高態(tài)信號(hào),其它則為低態(tài)。一行掃描完成后,再把高態(tài)信號(hào)轉(zhuǎn)化到近鄰的其他行,掃描信號(hào)接用一個(gè)反向驅(qū)動(dòng)器,AT89C51本身內(nèi)置一個(gè)反向驅(qū)
28、動(dòng)器,本設(shè)計(jì)將AT89C51作為點(diǎn)矩陣顯示控制系統(tǒng)的控制核心,通過(guò)點(diǎn)矩陣實(shí)時(shí)顯示并移動(dòng)字符。</p><p> 單片機(jī)的串口與行驅(qū)動(dòng)器相連,用來(lái)發(fā)送顯示數(shù)據(jù)信息。P0口與LED陣列的行引腳相連,送出數(shù)據(jù)、地址以及系統(tǒng)控制信號(hào)。輸出低態(tài)時(shí),最大可吸取0.5A,即500mA,若每個(gè)LED取30mA,7個(gè)LED同時(shí)點(diǎn)亮,需要210mA,完全滿足LED點(diǎn)亮的基本條件。</p><p><b
29、> 圖5 驅(qū)動(dòng)電路圖</b></p><p> 所要顯示的信號(hào)各個(gè)經(jīng)過(guò)一個(gè)限流電阻送入晶體管的基極,而每個(gè)NPN晶體管的的集極連接VCC、射極輸出經(jīng)一個(gè)100Ω的限流電阻連接到LED陣列的列陣腳。對(duì)于高態(tài)的顯示信號(hào),將可提供其所連接LED的驅(qū)動(dòng)電流,而這個(gè)驅(qū)動(dòng)電流經(jīng)過(guò)LED到輸出端,形成正向回路,即可點(diǎn)亮該LED。其中每個(gè)晶體管任何時(shí)間只需負(fù)責(zé)驅(qū)動(dòng)一個(gè)LED,所以選擇30mA射極電流的晶體管
30、。驅(qū)動(dòng)電路如圖5所示。</p><p><b> 3.4上拉電阻</b></p><p> 從電源高電平引出的電阻接到輸出端,如果電平用OC(集電極開(kāi)路,TTL)或OD(漏極開(kāi)路,CMOS)輸出,那么不用上拉電阻是不能工作的,管子沒(méi)有電源就不能輸出高電平了。 </p><p><b> 圖6上拉電阻電路</b><
31、;/p><p> 3.5 LED點(diǎn)陣顯示設(shè)計(jì)</p><p> 本設(shè)計(jì)采用ATMEL公司的AT89C51作矩陣顯示控制系統(tǒng)控制核心,12MHZ晶振,88點(diǎn)陣共陽(yáng)LED顯示器。其中,P0口作為字符數(shù)據(jù)輸出口,P2口為字符顯示掃描輸出口,第31腳(EA)接電源,P1.7開(kāi)關(guān)S1,改變電阻(270*8)的大小可改變顯示字符的亮度,驅(qū)動(dòng)用9012三極管。</p><p>
32、 本設(shè)計(jì)LED矩陣顯示器電路選用8×8點(diǎn)陣模塊,系統(tǒng)由單片機(jī)控制。 LED顯示屏是將發(fā)光二極管按行按列布置的,在掃描驅(qū)動(dòng)方式下可以按行掃描按列控制,也可以按列掃描按行控制。本文就是使用1塊8×8點(diǎn)陣,采用按列掃描按行控制控制方式,掃描順序自左向右,以滿足漢字顯示的要求。8×8點(diǎn)陣LED結(jié)構(gòu)如圖7所示。</p><p> 圖7 LED數(shù)碼顯示管</p><p&g
33、t; 8×8 點(diǎn)陣LED的工作原理。圖7為8×8點(diǎn)陣LED外觀及引腳圖,其等效電路如圖8所示,只要其對(duì)應(yīng)的X、Y軸順向偏壓,即可使LED發(fā)亮。例如如果想使左上角LED點(diǎn)亮,則Y0=1,X0=0即可。應(yīng)用時(shí)限流電阻可以放在X軸或Y軸。</p><p> 圖8 8×8點(diǎn)陣LED外觀及引腳圖</p><p> 圖9 8×8點(diǎn)陣LED等效電路<
34、;/p><p> 一個(gè)8×8點(diǎn)陣是由64個(gè)發(fā)光二極管按規(guī)律組成的,如圖9所示。圖中,行接低電平,列接高電平,發(fā)光二極管導(dǎo)通發(fā)光。</p><p> (1)把“單片機(jī)系統(tǒng)”區(qū)域中的P0端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“A~H”端口上;</p><p> (2)把“單片機(jī)系統(tǒng)”區(qū)域中的P1端口用8芯排芯連接到“點(diǎn)陣模塊”區(qū)域中的“0~7”端口上;&l
35、t;/p><p> 為了方便于單片機(jī)連接,我們?cè)诤附拥倪^(guò)程中特意將0~7接口排列出來(lái)作為列,將A~H接口作為行,這樣我們就可以直接將AT89C51單片機(jī)的P0口與0~7接口一次連接,將AT89C51單片機(jī)的P1口與A~H接口一次連接。要使LED發(fā)亮即使給予數(shù)字端高電平,字母端給予低電平,就能使二極管發(fā)亮。</p><p> (3)8*8點(diǎn)陣LED顯示器與單片機(jī)的接口</p>
36、<p> 8*8點(diǎn)陣LED的引腳圖如圖2-8所示,當(dāng)采用單片機(jī)進(jìn)行控制時(shí),連接點(diǎn)陣顯示器的共陽(yáng)r端與單片機(jī)的P2口相連,而共陰極c端需經(jīng)限流電阻與單片機(jī)的P0口相連。在編程控制時(shí),將8*8點(diǎn)陣LED顯示分成行和列兩部分,字符數(shù)據(jù)從P0口輸出,掃描控制字從P2</p><p> 口輸出每一列由一個(gè)字節(jié)的數(shù)據(jù)組成,數(shù)據(jù)可一次送入,然后掃描一行,顯示一個(gè)字需要掃描8次。</p><p&
37、gt; 4 控制系統(tǒng)軟件設(shè)計(jì)</p><p> 4.1 軟件設(shè)計(jì)思想</p><p> 主程序先進(jìn)行設(shè)置中斷,并啟動(dòng),再進(jìn)行鍵盤(pán)掃描載入“0,1,2,3,4,5,6,7,8,9”字型,然后判斷一組字型是否掃描完,按不同情況進(jìn)行循環(huán)調(diào)用子程序。進(jìn)入子程序后,首先設(shè)置相應(yīng)的程序,反復(fù)調(diào)用顯示子程序,并在顯示過(guò)程中反復(fù)調(diào)用鍵盤(pán)掃描子程序進(jìn)行延時(shí),判斷是否退出相應(yīng)的方式顯示子程序。設(shè)計(jì)過(guò)程中
38、,能很好得提高按鍵響應(yīng)速度。如圖10所示為軟件系統(tǒng)框圖。</p><p> 圖10 軟件系統(tǒng)框圖</p><p> 字符編碼:8×8點(diǎn)陣可以看成是從上至下8個(gè)字節(jié),每個(gè)字節(jié)8位,因?yàn)樵擖c(diǎn)陣為共陰型點(diǎn)陣,因此若該燈亮,則該位為“1”;該燈不亮,則該位為“0”。所以“0123456789”的編碼為,從上至下:</p><p> “0”:0x18,0x24
39、,0x24,0x24,0x24,0x24,0x24,0x18, </p><p> “1”:0x00,0x18,0x1c,0x18,0x18,0x18,0x18,0x18,;</p><p> “2”:0x00,0x1e,0x30,0x30,0x1c,0x06,0x06,0x3e;</p><p> “3”:0x00,0x1e,0x30,0x30,0x1c,0
40、x30,0x30,0x1e;;</p><p> “4”:0x00,0x30,0x38,0x34,0x32,0x3e,0x30,0x30,</p><p> “5”:0x00,0x1e,0x02,0x1e,0x30,0x30,0x30,0x1e,</p><p> “6”:0x00,0x1c,0x06,0x1e,0x36,0x36,0x36,0x1c,<
41、/p><p> “7”:0x00,0x3f,0x30,0x18,0x18,0x0c,0x0c,0x0c,</p><p> “8”:0x00,0x1c,0x36,0x36,0x1c,0x36,0x36,0x1c,</p><p> “9”:0x00,0x1c,0x36,0x36,0x36,0x3c,0x30,0x1c};</p><p>
42、 4.2 主程序流程圖</p><p> 主程序首先設(shè)置并啟動(dòng)T0中斷,然后調(diào)用初始化程序,為后面程序要用到的數(shù)據(jù)調(diào)入,并清零一些用到的數(shù)據(jù)單元,然后載入“0123456789”字型,進(jìn)行掃描。圖11為主程序流程圖,詳細(xì)主程序清單及子程序設(shè)計(jì)見(jiàn)附錄C。</p><p> 圖11 主程序流程圖</p><p> 4.3計(jì)數(shù)器初值計(jì)算</p>&l
43、t;p> 式中,TC為定時(shí)初值;T計(jì)數(shù)是單片機(jī)時(shí)鐘周期TCLK的12倍;M為計(jì)數(shù)器摸值該值和計(jì)數(shù)器工作方式有關(guān),在方式0時(shí)M為;在方式1時(shí)M的值為;在方式2和3為。</p><p><b> 4.4系統(tǒng)調(diào)試</b></p><p><b> 4.4.1軟件調(diào)試</b></p><p> 首先根據(jù)各單元電路模塊
44、,利用Proteus軟件將總的硬件原理圖繪制好,設(shè)計(jì)好各模塊要使用的I/O口,如:8×8點(diǎn)陣LED顯示屏?xí)r候插反,先檢測(cè)下,無(wú)硬件錯(cuò)誤后,再進(jìn)行程序編程。</p><p> 利用C語(yǔ)言的編程方式,將系統(tǒng)要求的基本功能,以及創(chuàng)新功能根據(jù)程序流程圖編寫(xiě)出來(lái),用Keil軟件調(diào)試無(wú)誤后,生成Hex文件。</p><p> 雙擊Proteus中的AT89C51芯片,將Keil生成的He
45、x加載到芯片內(nèi),進(jìn)行仿真,經(jīng)調(diào)試后所編寫(xiě)的程序能夠完美實(shí)現(xiàn)系統(tǒng)所需的各種功能。</p><p><b> 4.4.2硬件調(diào)試</b></p><p> 硬件調(diào)試主要是檢測(cè)硬件電路是否有短路、斷路、虛焊等。具體步驟及測(cè)試結(jié)果如下:</p><p> (1) 檢查電源與地線是否全部連接上,用萬(wàn)用表對(duì)照電路原理圖測(cè)試各導(dǎo)線是否完全連接,對(duì)未連接
46、的進(jìn)行修復(fù)。</p><p> (2) 參照原理圖,檢查各個(gè)器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測(cè)試,各連接不存在問(wèn)題。</p><p> (3) 以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮。</p><p> (4) 將燒錄好程序的最小單片機(jī)系統(tǒng)接入各模塊后,各模塊能過(guò)正常工作,如:數(shù)碼管正常發(fā)光。</p><p&g
47、t; 5 系統(tǒng)仿真及性能分析</p><p><b> 5.1 系統(tǒng)仿真</b></p><p> 本設(shè)計(jì)是以Keil C與Proteus.ISIS相結(jié)合方式來(lái)實(shí)現(xiàn)本LED點(diǎn)矩陣顯示器的仿真實(shí)現(xiàn)過(guò)程。電路的核心是單片機(jī)AT89C51。單片機(jī)的P0口八個(gè)引腳通過(guò)總線連接到LED矩陣顯示器的段選碼和位選碼(a、b、c、d、e、f、g和1、2、3、4、5、6、7、8)
48、的引腳上,來(lái)作為控制信號(hào)的來(lái)源。</p><p> Keil uVision3 介紹</p><p> C語(yǔ)言是一種通用的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,在國(guó)際上十分流行,它既可用來(lái)編寫(xiě)計(jì)算機(jī)的系統(tǒng)程序,也可用來(lái)編寫(xiě)一般的應(yīng)用程序[5]。C語(yǔ)言既具有一般高級(jí)語(yǔ)言的特點(diǎn),又能直接對(duì)計(jì)算機(jī)的硬件進(jìn)行操作,表達(dá)和運(yùn)算能力也較強(qiáng),許多以前只能采用匯編語(yǔ)言來(lái)解決的問(wèn)題現(xiàn)在都可以改用C語(yǔ)言來(lái)解決。Keil C
49、5l是一種專(zhuān)為8051單片機(jī)設(shè)計(jì)的高效率C語(yǔ)言編譯器,符合ANSI標(biāo)準(zhǔn),生成的程序代碼運(yùn)行速度極高,所需要的存儲(chǔ)器空間極小,完全可以和匯編語(yǔ)言相媲美。 Keil軟件是目前最流行開(kāi)發(fā)MCS-51系列單片機(jī)的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision3)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM
50、、20M以上空閑的硬盤(pán)空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果你使用C語(yǔ)言編程,那么Keil幾乎就是你的不二之選(目前在國(guó)內(nèi)你只能買(mǎi)到該軟件、而你買(mǎi)的仿真機(jī)也很可能只支持該軟件),即使</p><p> 打開(kāi)keil軟件,編寫(xiě)程序如下:</p><p> 圖12 Keil 動(dòng)態(tài)和延時(shí)程序調(diào)試&l
51、t;/p><p> 圖13 Proteus軟件仿真 </p><p><b> 5.2 性能分析</b></p><p> 此次系統(tǒng)設(shè)計(jì)結(jié)果較好,LED顯示屏能很好的顯示信息。LED顯示屏由4塊8×8的LED小模塊組成,整個(gè)顯示屏可以顯示8×8的“8051”字型。這個(gè)方案設(shè)計(jì)的8x8的點(diǎn)陣LED圖文顯示屏,電路簡(jiǎn)單,成本
52、較低,且較易擴(kuò)展;顯示屏各點(diǎn)亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無(wú)串?dāng)_。</p><p><b> 6 總結(jié)</b></p><p> 本次課程設(shè)計(jì)到現(xiàn)在有一個(gè)多星期,回顧這些天我感到學(xué)到了很多東西,在寫(xiě)這個(gè)心得的時(shí)候,我想就這些天的收獲,說(shuō)一說(shuō)自己內(nèi)心的想法。</p><p> 本設(shè)計(jì)是一個(gè)8x8的點(diǎn)陣LED數(shù)碼顯示器,能夠在目測(cè)條
53、件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。</p><p> 總結(jié)本文的研究工作,主要做了下面幾點(diǎn)工作:</p><p> 一、通過(guò)查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了L
54、ED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo)。并且通過(guò)對(duì)單片機(jī)資料的查閱和應(yīng)用,更進(jìn)一步增加了對(duì)單片機(jī)知識(shí)的理解和運(yùn)用能力。并證實(shí)了自己的思路:“查資料→思考總結(jié)→運(yùn)用→找出差錯(cuò),再查資料和向別人詢(xún)問(wèn)→再次運(yùn)用”的正確性。</p><p> 二,本文設(shè)計(jì)的LED顯示屏能夠?qū)崿F(xiàn)在目測(cè)條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無(wú)串?dāng)_。</p><
55、p> 三,本文列出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體匯編語(yǔ)言程序設(shè)計(jì)與調(diào)試等方面。</p><p> 四,在這次課程設(shè)計(jì)的過(guò)程中學(xué)會(huì)了 PROTEUS 的基本使用,感到PROTEUS對(duì)電子專(zhuān)業(yè)的同學(xué)來(lái)說(shuō)是一個(gè)很有用的軟件。在運(yùn)用PROTEUS時(shí)可以運(yùn)用一些快捷的標(biāo)號(hào),總線的方法畫(huà)圖,這樣既能使電路圖清晰,簡(jiǎn)單,更能大大提高畫(huà)圖速度</p><p> 六,
56、存在問(wèn)題:沒(méi)有考慮仿真軟件是一個(gè)理想的仿真環(huán)境,而實(shí)際連接的電路板會(huì)由于譬如連接不當(dāng),相鄰器件間的干擾等等的問(wèn)題導(dǎo)致在仿真軟件中能良好運(yùn)行的程序,出現(xiàn)顯示問(wèn)題,經(jīng)過(guò)排查和合理的器件擺放焊接,問(wèn)題解決。</p><p> 總體來(lái)說(shuō)這次的科研實(shí)踐很成功,達(dá)到了預(yù)想的目的:學(xué)到了知識(shí),提高了能力,完成了任務(wù)。有點(diǎn)缺憾是時(shí)間有限,不能進(jìn)一步深入和擴(kuò)散學(xué)習(xí)和研究。希望有時(shí)間可以對(duì)程序和電路圖作更進(jìn)一步的改進(jìn),譬如實(shí)現(xiàn)點(diǎn)陣
57、的上下移動(dòng),對(duì)角線移動(dòng),多色顯示等。</p><p> 在此感謝指導(dǎo)老師鞠老師的悉心教導(dǎo),改正了很多不曾發(fā)現(xiàn)的問(wèn)題,為即將的畢業(yè)設(shè)計(jì)打下了基礎(chǔ)。</p><p><b> 7 參考文獻(xiàn)</b></p><p> 1. 張靖武,周靈彬 《單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真》電子工業(yè)出版社</p><p> 2.
58、吳金戌,沈慶陽(yáng),郭庭吉 《8051單片機(jī)實(shí)踐與應(yīng)用》清華大學(xué)出版社</p><p> 3. 李群芳,肖看 《單片機(jī)原理接口及應(yīng)用》清華大學(xué)出版社</p><p> 4. 張毅剛,彭喜元等 《新編MCS-51單片機(jī)應(yīng)用設(shè)計(jì) 》哈爾濱工業(yè)大學(xué)出版社 </p><p> 5. 張義和,陳敵北編著 《例說(shuō)8051》人民郵電出版社 </p><p&
59、gt; 6. AT89C51 DATA SHEEP Philips Semiconductors 1999.dec.</p><p> 7. Yang. Y., Yi. J., Woo, Y.Y., and Kim. B.:‘Optimum design for linearityand efficiency of microwave Doherty amplifier using a new loadmat
60、ching technique’, Microw. J., 2001, 44, (12), pp. 20–36.</p><p> 8. 吳金戌,沈慶陽(yáng),郭庭吉.《8051單片機(jī)實(shí)踐與應(yīng)用》.清華大學(xué)出版社.</p><p> 9. 李群芳,肖看.《單片機(jī)原理、接口及應(yīng)用》.北京:清華大學(xué)出版社.</p><p> 10. 何立民.MCS-51《系列單片機(jī)應(yīng)用
61、系統(tǒng)設(shè)計(jì)與接口技術(shù)》 .北京航空航天大學(xué)出版社,1990</p><p> 11. 任濤等.《閃速存儲(chǔ)器數(shù)據(jù)及應(yīng)用簡(jiǎn)明速查手冊(cè)》.電子工業(yè)出版社</p><p> 12. 何立民.《單片機(jī)應(yīng)用技術(shù)選編》.北京航空航天大學(xué)出版社</p><p> 13. 張毅剛等.《MCS-51單片機(jī)應(yīng)用設(shè)計(jì)》.哈爾濱工業(yè)電子出版社</p><p>
62、14. 鄔寬明.《單片機(jī)外圍器件實(shí)用手冊(cè)》.北京航空航天大學(xué)出版社</p><p> 15. 張凱.《LED介紹完全手冊(cè)》.北京航空航天大學(xué)出版社</p><p> 16. 張友德等.《單片微型機(jī)原理應(yīng)用與實(shí)驗(yàn)》復(fù)旦大學(xué)出版社</p><p><b> 附錄一:總原理圖</b></p><p><b>
63、 附錄二: 原件清單</b></p><p><b> 附錄三:系統(tǒng)程序</b></p><p><b> 軟件流程圖:、</b></p><p> #include "REG51.H"</p><p> void delay1ms();//延時(shí)約1ms
64、函數(shù)聲明</p><p> void main()</p><p><b> {</b></p><p> unsigned char code led[]={0x18,0x24,0x24,0x24,0x24,0x24,0x24,0x18, //0</p><p> 0x00,0x18,0x1c,0x18,0
65、x18,0x18,0x18,0x18, //1</p><p> 0x00,0x1e,0x30,0x30,0x1c,0x06,0x06,0x3e,//2</p><p> 0x00,0x1e,0x30,0x30,0x1c,0x30,0x30,0x1e,//3</p><p> 0x00,0x30,0x38,0x34,0x32,0x3e,0x30,
66、0x30,//4</p><p> 0x00,0x1e,0x02,0x1e,0x30,0x30,0x30,0x1e,//5</p><p> 0x00,0x1c,0x06,0x1e,0x36,0x36,0x36,0x1c,//6</p><p> 0x00,0x3f,0x30,0x18,0x18,0x0c,0x0c,0x0c,//7</p
67、><p> 0x00,0x1c,0x36,0x36,0x1c,0x36,0x36,0x1c,//8</p><p> 0x00,0x1c,0x36,0x36,0x36,0x3c,0x30,0x1c};//9</p><p> unsigned char w; </p><p> unsi
68、gned int i,j,k,m; </p><p> while(1) {</p><p> for(k=0;k<10;k++) //字符個(gè)數(shù)控制變量</p><p><b> {</b></p><p> for(m=0;m<400;m++)//每個(gè)字符掃描顯示400次,控制每個(gè)字符顯示時(shí)間
69、</p><p> { </p><p> w=0x01;//行變量w指向第一行</p><p> j=k*8;//指向數(shù)組led的第k個(gè)字符第一個(gè)顯示碼下標(biāo)</p><p> for(i=0;i<8;i++)</p><p><b> { </b><
70、/p><p> P1=w;//行數(shù)據(jù)送P1口</p><p> P0=led[j];//列數(shù)據(jù)送P0口</p><p> delay1ms(); </p><p> w<<=1; //行變量左移指向下一行</p><p> j++;//指向數(shù)組中下一個(gè)顯示碼</p><
71、;p><b> }</b></p><p><b> } </b></p><p><b> } </b></p><p><b> }</b></p><p><b> }</b></p>
72、<p> //函數(shù)名:delay1ms</p><p> //函數(shù)功能:采用軟件實(shí)現(xiàn)延時(shí)約1ms</p><p><b> //形式參數(shù):無(wú) </b></p><p><b> //返回值:無(wú)</b></p><p> void delay1ms()</p>&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計(jì)--點(diǎn)陣led電子顯示屏
- 單片機(jī)課程設(shè)計(jì)---點(diǎn)陣led電子顯示屏
- 單片機(jī)課程設(shè)計(jì)---led點(diǎn)陣電子顯示屏的設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)之led點(diǎn)陣電子顯示屏設(shè)計(jì)
- led顯示屏單片機(jī)課程設(shè)計(jì)說(shuō)明書(shū)
- 單片機(jī)課程設(shè)計(jì)lcd顯示屏設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)報(bào)告--- led點(diǎn)陣動(dòng)態(tài)顯示屏設(shè)計(jì)
- 單片機(jī)控制led顯示屏系統(tǒng)
- 單片機(jī)課程設(shè)計(jì)---點(diǎn)陣電子顯示屏設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的電子顯示屏設(shè)計(jì)
- 基于單片機(jī)的led點(diǎn)陣顯示屏設(shè)計(jì)
- 單片機(jī)畢業(yè)論文--基于單片機(jī)的led顯示屏設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---液晶點(diǎn)陣顯示屏程序設(shè)計(jì)
- led點(diǎn)陣顯示屏課程設(shè)計(jì)
- 基于單片機(jī)的led點(diǎn)陣電子顯示屏設(shè)計(jì)
- 單片機(jī)控制的led滾屏顯示屏的設(shè)計(jì)
- 基于51單片機(jī)的led點(diǎn)陣顯示屏
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的led顯示屏設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的led電子顯示屏
- 基于單片機(jī)的led顯示屏設(shè)計(jì)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論