按鍵控制1位LED數(shù)碼管顯示0-9(共17頁)_第1頁
按鍵控制1位LED數(shù)碼管顯示0-9(共17頁)_第2頁
按鍵控制1位LED數(shù)碼管顯示0-9(共17頁)_第3頁
按鍵控制1位LED數(shù)碼管顯示0-9(共17頁)_第4頁
按鍵控制1位LED數(shù)碼管顯示0-9(共17頁)_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)課程設(shè)計姓名:陳素云班級:09電力方向2班學(xué)號:200920305340設(shè)計題目:按鍵控制1位LED數(shù)碼管顯示0-9設(shè)計要求:通過單片的I/O口與LED數(shù)碼管所構(gòu)成的單片機(jī)系統(tǒng)的軟件編程,使學(xué)生掌握簡單的單片機(jī)系統(tǒng)的設(shè)計,同時初步學(xué)全用匯編語言和C語言兩種方式編程的基本方法。學(xué)生必須采用單片機(jī)AT89C51為LED顯示屏的控制為核心,分別置“1”或“0”,讓某些段的LED 發(fā)光,其它的熄滅,然后達(dá)到顯示不同的字符和圖符號的目的. 學(xué)生根據(jù)前期設(shè)計的步驟按照設(shè)計報告內(nèi)容的具體要求,選擇前期設(shè)計的一個典型題目,寫出詳盡的課程設(shè)計報告,重點內(nèi)容包括方案論證、完整的電路圖、軟件系統(tǒng)流程圖及開發(fā)程

2、序、組裝調(diào)試內(nèi)容和總結(jié)等。目錄第1節(jié) 引 言31.1 LED數(shù)碼顯示器概述31.2 設(shè)計任務(wù) 5 1.3設(shè)計目的 6 第2節(jié) AT89C51單片機(jī)簡介62.1 AT89C51單片機(jī)62.2 單片機(jī)管腳圖 7 2.3管腳說明72.4振蕩器特性9第3節(jié) 設(shè)計主程序與硬件電路設(shè)計93.1設(shè)計的主程序103.2系統(tǒng)程序所需硬件103.2.1所需的硬件103.2.2所需硬件的結(jié)構(gòu)圖113.3 硬件電路總連接圖12第4節(jié) 程序運行過程 124.1分析步驟 124.2 程序執(zhí)行過程13第5節(jié) 程序運行結(jié)果13 總結(jié)參考文獻(xiàn)第1節(jié) 引 言還記得我們小時候玩的“火柴棒游戲”嗎,幾根火柴棒組合起來,能拼成各種各樣

3、的圖形,LED數(shù)碼管顯示器實際上也是這么一個東西。在單片機(jī)系統(tǒng)中,常常用LED數(shù)碼數(shù)碼管顯示器來顯示各種數(shù)字或符號。LED 數(shù)碼顯示器是單片機(jī)嵌入式系統(tǒng)中經(jīng)常使用的顯示器件。一個“8”字型的顯示模塊用“a、b、c、d、e、f、g、h” 8 個發(fā)光二極管組合而成。每個發(fā)光二極管稱為一字段。LED 數(shù)碼顯示器有共陽極和共陰極兩種結(jié)構(gòu)形式。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。 1.1 LED數(shù)碼顯示器概述 八段LED數(shù)碼管顯示器由8個發(fā)光二極管組成?;?個長條形的發(fā)光管排列成“日”字 形,另一個賀點形的發(fā)光管在數(shù)碼管顯示器的右下角作為顯示小數(shù)點用,它能顯示各種數(shù)

4、字及部份英文字母。LED數(shù)碼管顯示器有兩種不一樣的形式:一種是8個發(fā)光二極管的陽極都 連在一起的,稱之為共陽極LED數(shù)碼管顯示器;另一種是8個發(fā)光二極管的陰極都連在一起 的,稱之為共陰極LED數(shù)碼管顯示器。如下圖所示。 共陰和共陽結(jié)構(gòu)的LED數(shù)碼管顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時, 對應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段hgfedcba對應(yīng)于一 個字節(jié)(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進(jìn)制碼就能表示欲顯示字符的字 形代碼。例如,對于共陰LED數(shù)碼管顯示器,當(dāng)公共陰極接地(為零電平),而陽極hgfedcba 各段為0

5、111011時,數(shù)碼管顯示器顯示"P"字符,即對于共陰極LED數(shù)碼管顯示器,“P”字 符的字形碼是73H。如果是共陽LED數(shù)碼管顯示器,公共陽極接高電平,顯示“P”字符的字 形代碼應(yīng)為10001100(8CH)。這里必須注意的是:很多產(chǎn)品為方便接線,常不按規(guī)則的辦法 去對應(yīng)字段與位的關(guān)系,這個時候字形碼就必須根據(jù)接線來自行設(shè)計了,后面我們會給出一 個例程。 在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動態(tài)掃描顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不

6、用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種辦法單片機(jī)中CPU的開銷小。能供給單獨鎖存的I/O接口電路很多。 1.2 設(shè)計任務(wù)按鍵控制1位LED數(shù)碼管顯示0-9,首先在實驗室將程序編寫完整并使用tkstudy ice檢查是否有錯誤。觀察有無錯誤果,若無錯誤,就會生成hex文件,最后利用protel 99 se畫好原理圖,則將正確編譯過的hex文件通過編程器寫入mcu片內(nèi)。進(jìn)行全速運行,看能否實現(xiàn)任務(wù)要求。1.3 設(shè)計目的通過一個微機(jī)應(yīng)用系統(tǒng)的設(shè)計與調(diào)試過程,運用單片機(jī)原理及應(yīng)用課程所學(xué)的知識,在設(shè)計中加以實踐,達(dá)到理解、鞏固和發(fā)展所學(xué)內(nèi)容的目標(biāo)。通過系統(tǒng)構(gòu)造、流程設(shè)計、編程

7、與調(diào)試的過程,掌握分析與解決實際問題的方法與手段,提高系統(tǒng)設(shè)計、程序編碼與調(diào)試方面的實際動手能力,讓同學(xué)們在理論學(xué)習(xí)的基礎(chǔ)上,通過完成一個涉及MCS-51單片機(jī)多種資源應(yīng)用并具有綜合功能的小系統(tǒng)目標(biāo)板的設(shè)計與編程應(yīng)用,使學(xué)生不但能夠?qū)⒄n堂上學(xué)到的理論知識與實際應(yīng)用結(jié)合起來,而且能夠?qū)﹄娮与娐贰㈦娮釉骷?、印制電路板等方面的知識進(jìn)一步加深認(rèn)識同時在軟件編程、排錯調(diào)試、焊接技術(shù)、相關(guān)儀器設(shè)備的使用技能等方面得到較全面的鍛煉和提高,為今后能夠獨立進(jìn)行某些單片機(jī)應(yīng)用系統(tǒng)的開發(fā)設(shè)計工作打下一定的基礎(chǔ)。第2節(jié) AT89C51單片機(jī)簡介2.1 AT89C51單片機(jī)AT89C51是一種帶4K字節(jié)閃爍可編程可擦

8、除只讀存儲器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。一個單片機(jī)芯片的基本組成如下:中央處理器CPU:它是單片機(jī)的核心,用于產(chǎn)生各種控制信號,完成對數(shù)據(jù)的算術(shù)邏輯運算和傳送。內(nèi)部數(shù)

9、據(jù)存儲器RAM:用來存放可以讀/寫的數(shù)據(jù)。內(nèi)部程序存儲器ROM:用來存放程序指令或某些常數(shù)表格。4個8位的并行I/O接口P0、P1、P2和P3,每個口都可以用作輸入或者輸出。3個定時/計數(shù)器,用來作外部事件計數(shù)器,也可以定時。內(nèi)部中斷系統(tǒng):具有5個中斷源、2個優(yōu)先級的嵌套中斷結(jié)構(gòu),可實現(xiàn)二級中斷服務(wù)程序嵌套。每一個中斷源都可以用軟件程序規(guī)定為高優(yōu)先級中斷或低優(yōu)先級中斷。一個串行接口電路:可用于異步接收發(fā)送器。內(nèi)部時鐘電路:震蕩頻率可以高達(dá)40MHz,但晶體和微調(diào)電容需要外接。2.2 AT89C51單片機(jī)管腳圖 圖2.AT89C51單片機(jī)管腳圖2.3 管腳說明VCC:供電電壓。GND:接地。P0

10、口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P

11、2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉

12、為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:P3口管腳備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器1外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖

13、存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/

14、VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.4 振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈

15、寬無任何要求,但必須保證脈沖的高低電平要求的寬度。第3 節(jié) 設(shè)計主程序與硬件電路設(shè)計3.1 設(shè)計的主程序程序如下:org 0000h sjmp main org 000bh sjmp t0_isr org 0030hmain:jb p3.0,$ acall delay30ms jnb p3.0,$loop:clr a mov dptr,#table movc a,a+dptr mov p0,a mov tmod,#01h mov th0,#0d8h mov tl0,#0efh setb et0 setb ea setb tr0pd: jb p3.1,fz acall delay30ms jnb

16、 p3.1,$stop:sjmp mainfz: cjne r0,#100,$ inc dptr clr a movc a,a+dptr cjne a,#00h,aaa mov dptr,#table ;如果花樣數(shù)據(jù)完應(yīng)重新循環(huán) clr a movc a,a+dptraaa: mov p0,a mov r0,#00h sjmp pddelay30ms: mov r6,#150bbb: mov r7,#100 djnz r7,$ djnz r6,bbb rett0_isr: clr tr0 mov th0,#0d8h mov tl0,#0efh inc r0 setb tr0 retitable

17、:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh,00h end3.2 系統(tǒng)程序所需硬件3.2.1所需的硬件本系統(tǒng)采用單片機(jī)為LED顯示屏的控制核心,其主要是用AT89C51的一個I/O 口控制共陰極數(shù)碼管的8 個段位,分別置“1”或“0”,讓某些段的LED 發(fā)光,其它的熄滅,就可以顯示不同的字符和圖符號 除了AT89C51 ,本程序還需要用到7SEG-COM-CAT-BLUE , BUTTON , CAP , CRYSTAL , LED-YELLOW , RES ,RESPACK-7 , RESPACK-8 等。如下圖所示。3.2.2所需硬件的結(jié)構(gòu)圖 3

18、.3硬件電路總連接圖第4節(jié) 程序運行過程4.1分析步驟步驟分三個階段進(jìn)行:第一階段:主要了解Proteus軟件的入門及與Keil軟件的聯(lián)合調(diào)試,并親自操作,加深直觀印象。第二階段:了解設(shè)計的基本要求,結(jié)合所學(xué)理論內(nèi)容并利用Proteus軟件畫原理圖、獨立編程序調(diào)試、利用周立功實驗箱或Proteus軟件演示結(jié)果。第三階段:單片機(jī)課程設(shè)計報告的撰寫4.2程序執(zhí)行過程 一)系統(tǒng)功能要求1.單片機(jī)AT89C51讀入4位開關(guān)的輸入狀態(tài)(0F),并將其輸出到數(shù) 碼管顯示。2.用PROTEUS設(shè)計、仿真基于AT89C51單片機(jī)的開關(guān)控制LED數(shù)碼管實驗。3.掌握I/O的控制方法。二)系統(tǒng)硬件電路設(shè)

19、計1、 從PROTEUS庫中選取元器1) AT89C51.BUS : 總線式的單片機(jī)2) RES、RX8 :電阻、8排阻。3) 7SEG-COM-AN-GRN :帶公共端的共陽七段綠色數(shù)碼管,其引腳布局及測試如圖1-1所示。當(dāng)d ,e , f 腳電平為高時,這三段不亮:a , b , c , g 腳電平為低時,   這四段亮。               4) CAP CAP-ELEC:電容、電解電容5) CRYSTAL:晶振 

20、;6) SW-SPST :帶鎖存的單刀單擲開關(guān)如圖1-1所示。開關(guān)的合或斷可單擊向下或向上的指示箭頭實現(xiàn)。2、放置元器件、放置電源和地、連線、元器件屬性設(shè)置、電氣監(jiān)測 在對象選擇器中單擊選中AT89C51(藍(lán)色光條表示目前選取的元器件),在編輯區(qū)中合適的位置單擊,器件AT89C51就會放到編輯區(qū)中。依次把各元器件放入編輯區(qū)中適當(dāng)位置。   若需要改變元器件的放置位置,轉(zhuǎn)90。,對元器件右擊選中后再單擊按鈕 或 ;若要鏡像,先右擊選中元器件再單擊按鈕 或 ;若是多個元器件一起轉(zhuǎn)向,先右鍵拖出方框選中它們,再單擊相應(yīng)的塊操作按鈕。原理圖中的元件RN1、RN2 是8排電阻的排阻。

21、其中RN1、RN2的電阻的阻值分別設(shè)置為200、20 ,其屬性如圖1-2所示。三 系統(tǒng)程序設(shè)計  生成目標(biāo)代碼文件1)流程圖2)源代碼3)源代碼匯編四 調(diào)試分析系統(tǒng)仿真試驗第5節(jié) 程序運行結(jié)果電路圖如下:總結(jié)實現(xiàn)了能根據(jù)實際需要的本系統(tǒng)是以單片機(jī)AT89C51芯片為核心部件,實現(xiàn)了能通過AT89C51芯片控制節(jié)日彩燈實現(xiàn)一些基本的功能。剛開始時,自己通過各種途徑,盡可能多的了解有關(guān)于彩燈燈這方面的知識,為后面的設(shè)計打下基礎(chǔ),后面的進(jìn)展也很順利,不過在仿真階段,由于硬件電路設(shè)計的粗心,給自己帶來了不小的麻煩,不過問題最終還是得到了解決。通過這次課程設(shè)計,使我得到了一次用所學(xué)知識來實際解決問題的鍛煉,也讓自己感覺到大學(xué)所學(xué)的知識有一部分是很有實用價值的,同時我對單片機(jī)的基本知識以及常用的匯編設(shè)計程序得到了進(jìn)一步的鞏固。 在些次課程設(shè)計中,非常感謝謝老師的精心指導(dǎo),由于他的悉心指導(dǎo)和關(guān)心,一直激勵著我去努力做好本次課程設(shè)計,謝老師精湛的專業(yè)知識、耐心的工作態(tài)度和真誠的待人風(fēng)格給我留下了非常深刻的印象,對我以后的工作和生活

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論