




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機控制流水燈前言隨著人們生活環(huán)境的不斷改善和美化,在許多場合可以看到彩色霓虹燈不斷變化閃爍。LED 燈由于其豐富的燈光色彩,低廉的造價以及控制簡單等特點而得到了廣泛的應用,用彩燈來裝飾街道和城市建筑物已經成為一種時尚。但目前市場上各式樣的 LED 燈控制器大多數(shù)用全硬件電路實現(xiàn),電路結構復雜、功能單一,這樣一旦制作成品只能按照固定的模式閃亮,不能根據(jù)不同場合、不同時間段的需要來調節(jié)亮燈時間、模式、閃爍頻率等動態(tài)參數(shù)。這種彩燈控制器結構往往有芯片過多、電路復雜、功率損耗大等缺點。此外從功能效果上看,亮燈模式少而且樣式單調,缺乏用戶可操作性,影響亮燈效果。因此有必要對現(xiàn)有的彩燈控制器進行改進。
2、流水燈是一審按一定的規(guī)律像流水一樣連續(xù)閃亮。流水燈控制是可編程控制器的一個應用,其控制思想在工業(yè)控制技術領域也同樣適用。流水燈控制可用多種方法實現(xiàn),但對現(xiàn)代可編程控制器而言,利用移位寄存器實現(xiàn)最為便利。通常用左移寄存器實現(xiàn)燈的單方向移動;用雙向移位寄存器實現(xiàn)燈的雙向移動。本案例利用價格低廉的AT89C5 源歹單片機控制基色 LED 丁泡從而實現(xiàn)豐富的變化。前言 11 1、課程設計的目的和要求 31.1設計目的 31.2設計要求 32 2、設計方案選擇 43 3、硬件設計 41.1設計思路 41.2流水燈電路原理圖 41元件清單 51硬件電路模塊分析 61.3主要元件說明 91振蕩器特性 121
3、芯片擦除 124 4、軟件設計 124.1主程序設計 124.2程序流程圖 155 5、使用 keilkeil、proteusproteus 軟件調試仿真說明 16仿真過程 16仿真結果 166 6、結束語 167 7、參考文獻 171、課程設計的目的和要求設計目的近年來隨著科技的發(fā)展,單片機的應用正在不斷走向深入,同時帶動傳統(tǒng)控制檢測日新月異更新,在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,單片機方面知識是不夠的,還應根據(jù)具體硬件結構,以及針對具體應用對象點的軟件結合,加以完善。流水燈,可以更簡單、方便的使用。通過本課程設計使學生進一步鞏固單片機原理及應用的基
4、本概念、基本理論,分析問題的基本方法,增強系統(tǒng)地運用已學的理論知識解決實際問題的能力和查閱資料的能力。 培養(yǎng)一定的自學能力和獨立分析問題、 解決問題的能力,能通過獨立思考、查閱工具書、參考文獻,尋找解決方案。設計要求設計流水燈的基本要求:設計一個 16 個 LED 燈的流水久 T,應用 AT89C51 實驗開發(fā)板的定時器功能實現(xiàn),電路開啟后 LED 燈在時鐘信號作用下按一定規(guī)律轉換狀態(tài)。2、設計方案選擇根據(jù)設計的基本要求,要實現(xiàn)其基本要求有兩種設計方案的選擇,這兩種設計方案都是基于 AT89C51 單片機的基礎上設計的。 一種是使用兩片 74LS138 譯碼器芯片擴展成為 4 線一 16 線具
5、有 16 種輸出狀態(tài),從而可以控制 16 個 LED 燈;另一種是直接使用單片機的兩個 I/O 端口控制,這樣也可以實現(xiàn)控制 16 個 LED燈。比較這兩種設計方案,我們小組選用了后者。因為這個設計只是簡單的要求實現(xiàn)16 個 LED 燈循環(huán)點亮的流水功能,不用實現(xiàn)其他的功能,即不需要考慮占用 I/O 口多的問題;而前者的設計方案需要外添加兩個 74LS138 芯片,這樣就增加了硬件電路的復雜性。3、硬件設計3.1 設計思路如果要讓接在 P0.0 口的 LED1 亮起來, 那么只要把 P0.0 口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接?P0.0 口的 LED1 熄滅,就要把 P0.0 口的電
6、平變?yōu)楦唠娖?;同理?接在 P0.1P0.7 和 P2.0P2.7 口的其他 15 個 LED 的點亮和熄滅的方法同 LED1因此,要實現(xiàn)流水燈功能,我們只要將發(fā)光二極管 LEDbLED16ft 次點亮、熄滅,16 只LED 燈便會一亮一暗的做流水燈了。在此我們還應注意一點,由于人眼的視覺暫留效應以及單片機執(zhí)行每條指令的時間很短,我們在控制二極管亮滅的時候應該延時一段時間,否則我們就看不到“流水”效果了。3.2 流水燈電路原理圖利用單片機的 PRP2高低電平控制 LED 燈的發(fā)光閃爍,再利用編程實現(xiàn)流水燈的功能。用軟件來實現(xiàn)對 LED 的控制,實現(xiàn)的軟硬件結合。每個 LED 燈接一個限流電阻,
7、來控制流入 LED 發(fā)光管的電流。閃爍系統(tǒng)硬件系統(tǒng)方框圖3.2.1 元件清單表 3-1 元件清單名稱型號個數(shù)AT89C51122pF 電容210uF 電解電容1220 歐姆電阻1610k 電阻1晶振 11.0592M1發(fā)光二極管16AT89C5 假心部件圖 3-1 硬件接線圖連接線3.2.2 硬件電路模塊分析(1)核心部件89C51 單片機是整個流水燈循環(huán)系統(tǒng)的核心功能的部件,其中內部有 ROM有 RAIM 有并行 I/O 口等,在 51 單片機內部有一個 CPU 用來運算、控制,有四個并行I/O 口,分別是 PRP1、P2、P3,有 ROM 用來存放程序,有 RAM 用來存放中間結果,此外還
8、有定時/計數(shù)器,串行 I/O 口,中斷系統(tǒng),以及一個內部的時鐘電路。(2)復位系統(tǒng)電路中 C1、R1、VC*組成復位電路,它的作用是將單片機內部特殊功能寄存器和端口寄存器恢復到初始狀態(tài),從內部 FLASHY 儲器的初始狀態(tài)開始執(zhí)行。如圖所示,當要對晶片重置時,只要按此開關就能完成 LED 和開關的重置。復位是單片機的初始化操作,其主要功能是把 PC 初始化為 0000H 使單片機從0000H 單元開始執(zhí)行程序。 單片機的 RST 管腳為主機提供了一個外部復位信號輸入口。復位信號是高電平有效,高電平有效的持續(xù)時間為 2 個機器周期以上。單片機的復位方式可由手動復位方式完成。RSHI 腳是復位信號
9、輸入端,復位信號為高電平有效,其有效時間應持續(xù) 24 個振蕩周期以上才能完成復位操作,若使用 6MH 舒振,則需持續(xù) 4S 以上才能完成復位操作。圖 2.10 中,在通電瞬間,由于 RC 的充電過程,在 RS 礎出現(xiàn)一定寬度的正脈沖,只要該正脈沖保持 10ms 以上,就能使單片機自動復位若干圖 3-2 復位電路CPUS 第二個機器周期內執(zhí)行內部復位操作,以后每個機器周期重復一次,直至RST 端電平變低。在單片機復位期間,AlE 和天西信號都不產生。復位操作將對部分專用寄存器產生影響,復位后,這些內部寄存器狀態(tài)如表 2-6o表 1-2 部分專用寄存器復位狀態(tài)寄存器值寄存器值PC0000HACC1
10、00HB00HPSW00HSP07HDPTR0000HP0P30FFHIPXXX00000IE0XX00000TMOD00HTCON00HTL0,TL100HTHQTH100HSCONI00HSBUF不定PCON0XXX0000上電瞬間由于電容 C 上無儲能,其端電壓近似為零,RS 松得高電平,隨著電容器C 的充電,RST 引腳上的高電平將逐漸下降,當 RST 引腳上的電壓小于某一數(shù)值后,單片機就脫離復位狀態(tài),進入正常工作模式。只要高電平能保持復位所需要的時間(約兩個機器周期),單片機就能實現(xiàn)復位。(3)振湯系統(tǒng)單片機本身如同一個復雜的庖步時序電路,片內有一個高增益的反相放大器,反相放大器的輸
11、入端為 XTAL1,輸出端為XTAL2 在芯片的外部通過這兩個引腳跨接晶體振蕩器和微調電容 C1、C2 形成反饋電路,可構成穩(wěn)定的自激振蕩器,振蕩頻率范圍通常是 1.212MHz 晶體振蕩頻率高,則系統(tǒng)的時鐘頻率也高,單片機的運行速度也就快。由該放大器構成的振蕩電路和時鐘電路一起構成了單片機的時鐘方式。如圖所示圖 3-3 振蕩電路晶體振蕩器的振蕩信號從 XTAL2 端送入內部時鐘電路,它將該振蕩信號二分頻,產生一個兩相時鐘信號 A 和 B 供單片機使用。時鐘信號的周期稱為狀態(tài)時間 S,它是振蕩周期的 2 倍, A 信號在每個狀態(tài)的前半周期有效, 在每個狀態(tài)的后半周期 B 信號有效。CPUB 是
12、以兩相時鐘 A 和 B 為基本節(jié)拍協(xié)調單片機各部分有效工作的。MCS-51 單片機時鐘電路示意圖如圖下圖所示為了保證同步工作,電 路應在唯一的時鐘信作所需要的號控制下,嚴粒地按牛 y 時序,作2 肝_|_時鐘桁不。平時鐘電路就用于產生單片機工U1為 LED 燈循環(huán)系統(tǒng)提,卜書定頻率波何互外電L機組成的孑婉中,C2為了各單片機之間時心 I 號的同步.弓 I 入叫 1 的夕永沖信號作為各牖片(沖。這時外部的脈沖信經單片機 22R89C51 的 XTAL2 引腳注入的 在 MCS-51 單片機振蕩電路產生的振蕩脈沖并不直接使用,而是經分頻后再為系統(tǒng)所用。振蕩脈沖在片內通過一個時鐘發(fā)生電路二分頻后才作
13、為系統(tǒng)的時鐘信號。片內時鐘發(fā)生電路實質上是一個二分頻的觸發(fā)器,其輸入來自振蕩器,輸出為二相時鐘信號,即狀態(tài)時鐘信號,其頻率為 fosc/2;狀態(tài)時鐘三分頻后為 ALE 信號,其頻率為 fosc/6;狀態(tài)時鐘六分頻后為機器周期,其頻率為 fosc/12。(4)顯示電路如圖 3-4 所示,P0 口控制 LED 燈 D1D8 的顯示, P2 口控制 LED 燈 D10-D17 的顯示。限流電阻為 220 歐姆,經過的電流大概為 15mA二分頻MCS-51單片機時鐘振蕩電路示意圖狀態(tài)時鐘ALE機器周期圖 3-4LED 顯示電路3.3 主要元件說明此電路主要元件是 AT89C51 單片機,單片機內部主要
14、包含下列幾個部件:一個 8 位 CPU一個時鐘電路;4Kbyte 程序存儲器;128byte 數(shù)據(jù)存儲器;兩個 16 位定時/計數(shù)器;64Kbyte 擴展總線控制電路;四個 8-bit 并行 I/O 端口;一個可編程串行接口;五個中斷源,其中包括兩個優(yōu)先級嵌套中斷。3-EK1MliP2HJUIIP2.i|A3F3Jg4rHE.JFTE 周FQpaariMBIHE-FBl.nSEJIIWIPB.UADRMfiaE.3EJB H由團如b.曲AT89C51 硬件結構框圖主要特性AT89C51 是一種低功耗/低電壓、高性能的八位 CMO 卸片機,片內有一個 4KB的FLASH可編程可擦除只讀存儲器(F
15、PEROMFlashProgrammableandErasableReadOnlyMemory),它采用了 CMOS:藝和 ATME 公司的高密度非易失性存儲器技術, 而且其輸出引腳和指令系統(tǒng)都與 MSC-51兼容。片內置通用 8位中央處理器(CPU 和 FLASH#儲單元,片內的存儲器允許在系統(tǒng)內改編程序或用常規(guī)的非易失性存儲器編程。因此,AT89C51 是一種功能強、靈活性高且價格合理的單片機,可方便的應用于各種控制領域。主要引腳功能.電源引腳 Vcc 和 VssVcc:電源端,接+5VoVss:接地端。通常在 Vcc 和 Vss 引腳之間接 0.1 仙高頻濾波電容。.時鐘電路引腳 XTA
16、L 俐 XTAL2外部中斷程序存貯器數(shù)據(jù)存貯器128字節(jié)RAM定時器1定時器口77y外部計J數(shù)脈沖總線ALEV串行口EAVVVVPSENPPlP2巴TXDRyD中斷控制4K字節(jié)ROMCPUXTAL1 接外部晶振和微調電容的一端,在片內它是振蕩器倒相放大器的輸入,若使用外部 TTL 時鐘時,該引腳必須接地。XTAL2 接外部晶振和微調電容的另一端,在片內它是振蕩器倒相放大器的輸出,若使用外部 TTL 時鐘時,該引腳為外部時鐘的輸入端。.地址鎖存允許 ALE在系統(tǒng)擴展時,ALE 用于控制地址鎖存器鎖存 P0 口輸出的低 8 位地址,從而實現(xiàn)數(shù)據(jù)與低位地址的復用。當單片機上電正常工作后,ALE 端就
17、周期性地以時鐘頻率的 1/6 的固定頻率向外輸出正脈沖信號, ALE 的負載能力為 8 個 LSTTL 器件。.外部程序存儲器讀選通信號麗而是讀外部程序存儲器的選通信號,低電平有效。CPU 從外部存儲器取指令時,它在每個機器周期中兩次有效。.程序存儲器地址允許輸入端 EA/VPP當區(qū)為高電平時,CPlft 行片內程序存儲器指令,但當 PC 中的值超過 0FFFH 時,將自動轉向執(zhí)行片外程序存儲器指令。當 EA 為低電平時,CPUR 執(zhí)行片外程序存儲器指令。對于 8031,由于其無片內 ROM 故區(qū)必須接低電平。.復位信號 RST該信號高電平有效, 在輸入端保持兩個機器周期的高電平后, 就可以完
18、成復位操作。止匕外,該引腳還有掉電保護功能,若在該端接+5V 備用電源,在使用中若 Vcc 掉電,可保護片內 RAMfr 信息不丟失。.輸入/輸出口引腳 P。、PI、R 和 P3P0 口(P0.0P0.7):該端口為漏極開路的 8 位準雙向口,負載能力位 8 高 LSTTL負載,它為 8 位地址線和 8 位數(shù)據(jù)線的復用端口。P1 口(P1.0P1.7):它是一個內部帶上拉電阻的 8 位準雙向 I/O 口,P1 口的驅動能力為 4 個 LSTTL 負載。P2 口(P2.0P2.7):它為一個內部帶上拉電阻的 8 位準雙向 I/O 口,P2 口的驅動能力也為 4 個 LSTTL 負載。在訪問外部程
19、序存儲器時,它作存儲器的高 8 位地址線。P3 口(P3.0P3.7):P3口同樣是內部帶上拉電阻的 8 位準雙向 I/O 口,P3口除了作為一般的 I/O 口使用之外,具還具有特殊功能圖】AT89c51的引腳排列振蕩器特性XTAL1 和 XTAL2 分別為反向放大器的輸入和輸出。 該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2 應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度芯片擦除AT89C5 破有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電
20、模式。在閑置模式下,CPU 亭止工彳但 RAM 定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。 在掉電模式下, 保存 RAM 勺內容并且凍結振蕩器, 禁止所用其他芯片功能,直到下一個硬件復位為止。4、軟件設計主程序設計PL0PLtPi.2Pl,3PL4PL5PLbPL7RSTRXD)P3.0ED1P3.1ETihP工2(IHTT)P3,3(T0)P3,4(T1P3.5施P工&(KB)P3.7XTAL2kTALi50YCCF0,0/(AD0)PB.I八ADDPD.2/UD2)Pit3/(AD3)POJ/IADMPO,5/CW5JPUJ/( 皿 )PD.7/(,W7H/VPPALE/nOC麗P2
21、J/M15)P2.6/UU)M.5/U13P2.4U12)P2,3/(AlDP2.2/M10JP2.1/(A9)P2.0/(A8JATB9C5J#include#defineT10/定時器時間 T*50msvoidInit_Timer0(void);unsignedcharTimevoidmain(void)intflag=1;/P0Time=0;P0=0 x7f;P2=0 xff;Init_Timer0();/while(1)if(flag=1)/P0if(Time=T)/0.5sP0=1;P0=P0|0 x80;Time=0;if(P0=0 xfe)/flag=0;if(flag=0)/P
22、2口先開始亮燈初始化定時器口準備亮燈移動一次到了 P0 的最后一個燈 11111110口準備亮燈if(Time=T&P0=0 xfe)P2=0 x7f;/P2 口開始亮燈 01111111P0=0 xff;/P0 口不亮燈 11111111Time=0;)if(Time=T)(P2=1;P2=P2|0 x80;Time=0;)if(P2=0 xfe)/到了 P2 口的最后一個燈 11111110(P1=0 x00;/調試代碼if(Time=T)(P0=0 x7f;P2=0 xff;flag=1;/P0準備亮燈Time=0;P1=0 xff;/調試代碼continue;/重新循環(huán);)vo
23、idInit_Timer0(void)(TMOD=0 x01;/選擇工彳方式 1TH0=0 x3C;/設置初始值,定時 50MSTL0=0 xB0;EA=1;/ET0=1;/TR0=1;/)voidTimer0()interrupt1(TH0=(65536-50000)/256;/設置初始值TL0=(65536-50000)%256;Time+;)此程序中加入了一個 P1 口用來調試代碼, 這個調試代碼的主要作用就是為了觀察 LED 燈循環(huán)點亮后作為明顯的結束標志。在仿真中可以看到 LED 燈有規(guī)律的一個一個的點亮如此循環(huán)。程序流程圖打開總中斷打開定時器 0 中斷啟動定時器 0圖 4-1 程序
24、流程圖5、使用keil、proteus軟件調試仿真說明仿真過程Proteus 仿真時,單片機需要加載程序,加載程序為.HEX 文件。本設計利用KeilpVision4,在新建 Keil 項目時選擇 AT89C51II 片機作為 CPU將 C語言源程序導入,在“OptionsForTarget”對話窗口中,選中“Output”選項中的“CreateHEXFile”,編譯鏈接后就可以生成.HEX 文件。在 ProteusISIS 中,選中 AT89C51 并單擊鼠標左鍵,對 AT89C51 進行設置, 設置單片機時鐘頻率為 12MHz 按照正確的文件路徑加載.HEX文件。對單片機設置完畢后就可以開始仿真了。仿真結果m-C5JSProfrsiiicnriJ文件舊SMIIEI工HEiatf(D)es(G)am 海儂的啦 u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 班主任班級安全防范與應急處理協(xié)議
- 舊村改造項目拆遷補償與二手房購買合同
- 財務軟件研發(fā)保密協(xié)議及勞動合同模板
- 電玩城免責協(xié)議書范本
- 部門副總經理員工晉升與發(fā)展規(guī)劃勞動合同范本
- 殘疾人勞動合同簽訂與勞動爭議預防與處理
- 樁基成孔智能監(jiān)測儀
- 學校繳費流程規(guī)范說明
- 快遞店店員培訓
- 2025消防知識培訓
- 中央民族大學強基校測面試題
- 2025年陜西、山西、青海、寧夏高考政治試卷真題(含答案解析)
- 2025年 中國南水北調集團新能源投資公司第一批中層及考試筆試試卷附答案
- 期末試卷(五)(含答案含聽力原文無聽力音頻)-2024-2025學年人教PEP版英語(新教材)三年級下冊
- 3.21 明清時期的科技與文化 課件 2024-2025學年統(tǒng)編版七年級歷史下冊
- 出國培訓考試試題及答案
- 湖南2024生地會考試卷及答案
- 廣東省深圳市2024年中考英語真題(含答案)
- 敘事護理學智慧樹知到答案2024年中國人民解放軍海軍軍醫(yī)大學
- 六年級主題班隊會記錄表(6個表)
- 電梯維保人員管理制度
評論
0/150
提交評論