2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p><b>  摘 要</b></p><p>  LED是發(fā)光二極管LIGHT EMINTTING DIODE的英文縮寫,是一種直接能將電能轉(zhuǎn)化為可見光的半導(dǎo)體。LED點(diǎn)陣是由發(fā)光二極管排列組成的顯示器件,在日常生活中隨處可見,其發(fā)光類型屬于冷光源,效率及發(fā)熱量是普通發(fā)光器件難以比擬的。它采用低電壓掃描驅(qū)動(dòng),具有耗電少、使用壽命長、成本低、亮度高、故障少、視角大、可視距離遠(yuǎn)

2、、可靠耐用、應(yīng)用靈活、安全、響應(yīng)時(shí)間短、綠色環(huán)保、控制靈活等特點(diǎn)。隨著社會(huì)經(jīng)濟(jì)的不斷進(jìn)步,人們對LED顯示器的認(rèn)識不斷加深,其應(yīng)用領(lǐng)域越來越廣。</p><p>  本設(shè)計(jì)是基于AT89C51的8×8點(diǎn)陣LED數(shù)碼字符顯示器的設(shè)計(jì),LED點(diǎn)陣顯示屏作為一種新興的顯示器件,是由多個(gè)獨(dú)立的LED發(fā)光二極管封裝而成. LED點(diǎn)陣顯示屏可以顯示數(shù)字或符號, 通常用來顯示時(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)容信息量大,外形美觀大方,操作使用方便靈活。適用于火車,汽車站,碼頭,金融證券市場,文化中心,信息中心體育設(shè)施等公共場所。該項(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)范圍廣,亮度高,壽命長,工作穩(wěn)定可靠等優(yōu)點(diǎn)而成為眾多顯示媒體以及戶外作業(yè)顯示的理想選擇。同時(shí)也可廣泛應(yīng)用到軍事、車站、賓館、體育、新聞、金融、證券、廣告以及交通運(yùn)輸?shù)仍S多行業(yè)。目前大多數(shù)的LED點(diǎn)陣顯示系統(tǒng)自帶字庫。其顯示和動(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、在目測條件下LED顯示屏各點(diǎn)亮度均勻、充足、穩(wěn)定、清晰無串?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ī)作為微處理器,將共陽極二極管用共陰型接法連接成8×8點(diǎn)陣LED數(shù)碼字符陣列,通過程序控制,采用動(dòng)態(tài)顯示,建立字符庫“0”“1”“2”“3” “4” “5” “6” “7”

14、 “8” “9”。</p><p><b>  2.2 器件選擇</b></p><p>  微處理器采用AT89C51系列單片機(jī),AT89C51單片機(jī)是這幾年在我國非常流行的單片機(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è)漏極開路型準(zhǔn)雙向I/O口。在訪問外部存儲(chǔ)器時(shí),它是分時(shí)多路轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線,在訪問期間激活

18、了內(nèi)部內(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口。在訪問外部存儲(chǔ)器時(shí),它送出高8位地址。</p><p>  P3.0—P3.7(

19、10—17):P3口是一個(gè)內(nèi)部帶上拉電阻的8位雙向I/O口。在MCS—51中,這8個(gè)引腳還兼有專用功能,P3的8條口線都定義有第二功能。</p><p>  (2)控制線控制引腳(ALE/PROG、PSEN、RST、VPD、EA/ VPP)</p><p>  ALE(30):地址鎖存控制信號。在系統(tǒng)擴(kuò)展時(shí),用于控制P0口輸出的低8位地址鎖存起來,以實(shí)現(xiàn)地位地址和數(shù)據(jù)的隔離。此外,由于AL

20、E是以晶振61的固定頻率輸出正脈沖,因此,可作為外部時(shí)鐘或外部定時(shí)脈沖使用。</p><p>  PSEN(29):外部程序存儲(chǔ)控制信號。在外部ROM時(shí),有效(低電平),以實(shí)現(xiàn)外部ROM單元的讀操作。</p><p>  EA(31):訪問程序存儲(chǔ)控制信號。當(dāng)信號為低電平時(shí),對ROM的讀操作限定在外部程序存儲(chǔ)器;當(dāng)信號為高電平時(shí),對ROM的讀操作時(shí)從內(nèi)部程序存儲(chǔ)器開始,并可延至外部程序存儲(chǔ)

21、器。</p><p>  RST(9):復(fù)位信號。但輸入的復(fù)位信號延續(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í)鐘脈沖信號。</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)開始工作。單片機(jī)有多種復(fù)位方式,常用的復(fù)位操作有上電復(fù)位和手動(dòng)復(fù)位方式。本設(shè)計(jì)采用最簡單的上電復(fù)位方式,電路如圖3所示。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,復(fù)位電路產(chǎn)生的復(fù)位信號(高電平有效)由RST引腳送入到內(nèi)部的復(fù)位電路,對AT89C51單片機(jī)進(jìn)行復(fù)位,復(fù)位信號要持續(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后再松開,也能使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)輸出電流都不是很高,不過1~2mA而已。因此很難直接高態(tài)驅(qū)動(dòng)LED,這時(shí)候就需要額外的驅(qū)動(dòng)電路,通常有共陽型與共陰型LED陣列驅(qū)動(dòng)電路,本設(shè)計(jì)才用共陰型高態(tài)掃描信號驅(qū)動(dòng)電路。</p><p>  共陰型LED陣列驅(qū)動(dòng)電路采用高態(tài)掃描,也就是任何時(shí)間只有一個(gè)高態(tài)信號,其它則為低態(tài)。一行掃描完成后,再把高態(tài)信號轉(zhuǎn)化到近鄰的其他行,掃描信號接用一個(gè)反向驅(qū)動(dòng)器,AT89C51本身內(nèi)置一個(gè)反向驅(qū)

28、動(dòng)器,本設(shè)計(jì)將AT89C51作為點(diǎn)矩陣顯示控制系統(tǒng)的控制核心,通過點(diǎn)矩陣實(shí)時(shí)顯示并移動(dòng)字符。</p><p>  單片機(jī)的串口與行驅(qū)動(dòng)器相連,用來發(fā)送顯示數(shù)據(jù)信息。P0口與LED陣列的行引腳相連,送出數(shù)據(jù)、地址以及系統(tǒng)控制信號。輸出低態(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>  所要顯示的信號各個(gè)經(jīng)過一個(gè)限流電阻送入晶體管的基極,而每個(gè)NPN晶體管的的集極連接VCC、射極輸出經(jīng)一個(gè)100Ω的限流電阻連接到LED陣列的列陣腳。對于高態(tài)的顯示信號,將可提供其所連接LED的驅(qū)動(dòng)電流,而這個(gè)驅(qū)動(dòng)電流經(jīng)過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(集電極開路,TTL)或OD(漏極開路,CMOS)輸出,那么不用上拉電阻是不能工作的,管子沒有電源就不能輸出高電平了。 </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)陣共陽LED顯示器。其中,P0口作為字符數(shù)據(jù)輸出口,P2口為字符顯示掃描輸出口,第31腳(EA)接電源,P1.7開關(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所示,只要其對應(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ī)連接,我們在焊接的過程中特意將0~7接口排列出來作為列,將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)陣顯示器的共陽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)行鍵盤掃描載入“0,1,2,3,4,5,6,7,8,9”字型,然后判斷一組字型是否掃描完,按不同情況進(jìn)行循環(huán)調(diào)用子程序。進(jìn)入子程序后,首先設(shè)置相應(yīng)的程序,反復(fù)調(diào)用顯示子程序,并在顯示過程中反復(fù)調(diào)用鍵盤掃描子程序進(jìn)行延時(shí),判斷是否退出相應(yīng)的方式顯示子程序。設(shè)計(jì)過程中

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ì)見附錄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候插反,先檢測下,無硬件錯(cuò)誤后,再進(jìn)行程序編程。</p><p>  利用C語言的編程方式,將系統(tǒng)要求的基本功能,以及創(chuàng)新功能根據(jù)程序流程圖編寫出來,用Keil軟件調(diào)試無誤后,生成Hex文件。</p><p>  雙擊Proteus中的AT89C51芯片,將Keil生成的He

45、x加載到芯片內(nèi),進(jìn)行仿真,經(jīng)調(diào)試后所編寫的程序能夠完美實(shí)現(xiàn)系統(tǒng)所需的各種功能。</p><p><b>  4.4.2硬件調(diào)試</b></p><p>  硬件調(diào)試主要是檢測硬件電路是否有短路、斷路、虛焊等。具體步驟及測試結(jié)果如下:</p><p>  (1) 檢查電源與地線是否全部連接上,用萬用表對照電路原理圖測試各導(dǎo)線是否完全連接,對未連接

46、的進(jìn)行修復(fù)。</p><p>  (2) 參照原理圖,檢查各個(gè)器件之間的連接是否連接正確,是否存在虛焊,經(jīng)測試,各連接不存在問題。</p><p>  (3) 以上兩項(xiàng)檢查并修復(fù)完后,給該硬件電路上電,電源指示燈點(diǎn)亮。</p><p>  (4) 將燒錄好程序的最小單片機(jī)系統(tǒng)接入各模塊后,各模塊能過正常工作,如:數(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é)合方式來實(shí)現(xiàn)本LED點(diǎn)矩陣顯示器的仿真實(shí)現(xiàn)過程。電路的核心是單片機(jī)AT89C51。單片機(jī)的P0口八個(gè)引腳通過總線連接到LED矩陣顯示器的段選碼和位選碼(a、b、c、d、e、f、g和1、2、3、4、5、6、7、8)

48、的引腳上,來作為控制信號的來源。</p><p>  Keil uVision3 介紹</p><p>  C語言是一種通用的計(jì)算機(jī)程序設(shè)計(jì)語言,在國際上十分流行,它既可用來編寫計(jì)算機(jī)的系統(tǒng)程序,也可用來編寫一般的應(yīng)用程序[5]。C語言既具有一般高級語言的特點(diǎn),又能直接對計(jì)算機(jī)的硬件進(jìn)行操作,表達(dá)和運(yùn)算能力也較強(qiáng),許多以前只能采用匯編語言來解決的問題現(xiàn)在都可以改用C語言來解決。Keil C

49、5l是一種專為8051單片機(jī)設(shè)計(jì)的高效率C語言編譯器,符合ANSI標(biāo)準(zhǔn),生成的程序代碼運(yùn)行速度極高,所需要的存儲(chǔ)器空間極小,完全可以和匯編語言相媲美。 Keil軟件是目前最流行開發(fā)MCS-51系列單片機(jī)的軟件,Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境(uVision3)將這些部份組合在一起。運(yùn)行Keil軟件需要Pentium或以上的CPU,16MB或更多RAM

50、、20M以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。掌握這一軟件的使用對于使用51系列單片機(jī)的愛好者來說是十分必要的,如果你使用C語言編程,那么Keil幾乎就是你的不二之選(目前在國內(nèi)你只能買到該軟件、而你買的仿真機(jī)也很可能只支持該軟件),即使</p><p>  打開keil軟件,編寫程序如下:</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圖文顯示屏,電路簡單,成本

52、較低,且較易擴(kuò)展;顯示屏各點(diǎn)亮度均勻、充足;顯示圖形或文字穩(wěn)定、清晰無串?dāng)_。</p><p><b>  6 總結(jié)</b></p><p>  本次課程設(shè)計(jì)到現(xiàn)在有一個(gè)多星期,回顧這些天我感到學(xué)到了很多東西,在寫這個(gè)心得的時(shí)候,我想就這些天的收獲,說一說自己內(nèi)心的想法。</p><p>  本設(shè)計(jì)是一個(gè)8x8的點(diǎn)陣LED數(shù)碼顯示器,能夠在目測條

53、件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。圖形或文字顯示有靜止、移入移出等顯示方式。本系統(tǒng)具有硬件少,結(jié)構(gòu)簡單,容易實(shí)現(xiàn),性能穩(wěn)定可靠,成本低等特點(diǎn)。</p><p>  總結(jié)本文的研究工作,主要做了下面幾點(diǎn)工作:</p><p>  一、通過查閱大量的相關(guān)資料,詳細(xì)了解了LED的發(fā)光原理和LED顯示屏的原理,了解了LED的現(xiàn)狀,清楚地了解了L

54、ED顯示屏與其它顯示屏相比較有那些優(yōu)點(diǎn),明確了研究目標(biāo)。并且通過對單片機(jī)資料的查閱和應(yīng)用,更進(jìn)一步增加了對單片機(jī)知識的理解和運(yùn)用能力。并證實(shí)了自己的思路:“查資料→思考總結(jié)→運(yùn)用→找出差錯(cuò),再查資料和向別人詢問→再次運(yùn)用”的正確性。</p><p>  二,本文設(shè)計(jì)的LED顯示屏能夠?qū)崿F(xiàn)在目測條件下LED顯示屏各點(diǎn)亮度均勻、充足,可顯示圖形和文字,顯示圖形和文字應(yīng)穩(wěn)定、清晰無串?dāng)_。</p><

55、p>  三,本文列出了系統(tǒng)具體的硬件設(shè)計(jì)方案,硬件結(jié)構(gòu)電路圖,軟件流程圖和具體匯編語言程序設(shè)計(jì)與調(diào)試等方面。</p><p>  四,在這次課程設(shè)計(jì)的過程中學(xué)會(huì)了 PROTEUS 的基本使用,感到PROTEUS對電子專業(yè)的同學(xué)來說是一個(gè)很有用的軟件。在運(yùn)用PROTEUS時(shí)可以運(yùn)用一些快捷的標(biāo)號,總線的方法畫圖,這樣既能使電路圖清晰,簡單,更能大大提高畫圖速度</p><p>  六,

56、存在問題:沒有考慮仿真軟件是一個(gè)理想的仿真環(huán)境,而實(shí)際連接的電路板會(huì)由于譬如連接不當(dāng),相鄰器件間的干擾等等的問題導(dǎo)致在仿真軟件中能良好運(yùn)行的程序,出現(xiàn)顯示問題,經(jīng)過排查和合理的器件擺放焊接,問題解決。</p><p>  總體來說這次的科研實(shí)踐很成功,達(dá)到了預(yù)想的目的:學(xué)到了知識,提高了能力,完成了任務(wù)。有點(diǎn)缺憾是時(shí)間有限,不能進(jìn)一步深入和擴(kuò)散學(xué)習(xí)和研究。希望有時(shí)間可以對程序和電路圖作更進(jìn)一步的改進(jìn),譬如實(shí)現(xiàn)點(diǎn)陣

57、的上下移動(dòng),對角線移動(dòng),多色顯示等。</p><p>  在此感謝指導(dǎo)老師鞠老師的悉心教導(dǎo),改正了很多不曾發(fā)現(xià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、吳金戌,沈慶陽,郭庭吉 《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. 張義和,陳敵北編著 《例說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. 吳金戌,沈慶陽,郭庭吉.《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)用簡明速查手冊》.電子工業(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í)用手冊》.北京航空航天大學(xué)出版社</p><p>  15. 張凱.《LED介紹完全手冊》.北京航空航天大學(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ù):無 </b></p><p><b>  //返回值:無</b></p><p>  void delay1ms()</p>&

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論