創(chuàng)意流水燈設(shè)計_第1頁
創(chuàng)意流水燈設(shè)計_第2頁
創(chuàng)意流水燈設(shè)計_第3頁
創(chuàng)意流水燈設(shè)計_第4頁
創(chuàng)意流水燈設(shè)計_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

CHANGZHOUINSTITUTEOFTECHNOLOGY設(shè)計說明書項目名稱:創(chuàng)意流水燈設(shè)計二級學院:電氣與光電工程學院專業(yè):班級:學生姓名:學號:指導教師:職稱:時間:2016年10月14日—2017年1月19日目錄1、設(shè)計內(nèi)容和要求………32、系統(tǒng)總體結(jié)構(gòu)…………33、硬件設(shè)計………………43.1單片機最小系統(tǒng)…………………43.2芯片與輸入輸出設(shè)備的連接……44、軟件設(shè)計………………54.1總體分析與編程思路……………54.2主程序與按鍵處理程序…………54.3流水燈效果程序…………………55、系統(tǒng)調(diào)試………………56、設(shè)計小結(jié)………………77、參考文獻………………8附錄1.元件清單……………8附錄2.硬件原理圖………8附錄3.程序清單…………91、設(shè)計內(nèi)容和要求單片機應用系統(tǒng)在工業(yè)控制,生產(chǎn)自動化、機電一體化等領(lǐng)域有著廣泛的應用。上學期較系統(tǒng)的學習了51單片機的基礎(chǔ)知識,本學期主要圍繞課題進行了實踐訓練。本課題選擇了一心形LED效果進行創(chuàng)意設(shè)計。要求通過按鍵控制,實現(xiàn)流水燈三種不同的閃爍方法(1)按1鍵,單燈循環(huán)(2)按2鍵,依次亮起再依次熄滅(3)按3鍵,漸明漸暗(4)按4鍵,關(guān)閉2、系統(tǒng)總體結(jié)構(gòu)由于51單片機I/O口可以提供20mA電流,足以驅(qū)動LED,因此只要構(gòu)成最小系統(tǒng)即可,LED共16只接在P0口與P2口上,四個按鍵接在P3(0-3)口上。系統(tǒng)總體結(jié)構(gòu)如圖2.1CPUCPU按鍵LED圖2-1系統(tǒng)結(jié)構(gòu)圖3、硬件設(shè)計3.1單片機最小系統(tǒng)本課題選擇的51單片機是ATMEL公司89C52芯片,封裝形式為DIP40。除在VCC(40引腳)提供5V電源、GND(20引腳)接地外,要構(gòu)成最小系統(tǒng),須提供振蕩輸入與上電復位電路(見圖3.1)。XTAL1與XTAL2為片內(nèi)振蕩電路輸入線,連接2只22pF微調(diào)電容與石英晶振,這里選擇的振蕩頻率為12MHz,石英晶振起振后,在XTAL2線上輸出一個3V左右的正弦波,片內(nèi)OSC電路按晶振同頻產(chǎn)生自激振蕩。在RST線上連接10uF電容C1與10K分壓電阻R9,電容正極連接電源,電阻接地,上電后芯片復位,將PC存儲器清0。圖3.1AT89C52最小系統(tǒng)3.2芯片與輸入輸出設(shè)備的連接由于AT89C52的I/O口可以提供20mA電流,足以驅(qū)動LED,因此只須把16只LED分別連接在AT89C52的一個P0,P2口上,將4個按鍵連接在P3(0-3)口上即可。為了起到限流作用,在LED與電源回路中串接200歐的電阻。該課題的電氣原理圖,見附件2。4、軟件設(shè)計4.1總體分析與編程思路該設(shè)計分為主程序、各效果程序以及按鍵處理程序,由于需要在LED燈亮的同時響應按鍵輸入,因此使用一定時器T1,每50MS掃描P3口一次,讀取輸入的按鍵值,再進行相應的變化操作。4.2主程序和按鍵處理程序主程序主要負責為各變量賦初值,設(shè)置并開啟定時器,根據(jù)效果號調(diào)用效果程序,其流程圖如圖4-1。T1中斷TH1,TL1賦初值T1中斷TH1,TL1賦初值讀取鍵值按鍵值修改效果號返回開始各變量賦初值打開定時器按效果號輸出效果圖4-1主程序流程圖圖4-2T1中斷流程圖T1中斷程序主要用來處理按鍵輸入,每50MS掃描P3口一次,讀取按鍵值,并根據(jù)鍵值修改效果號,其流程圖如圖4-2。4.3流水燈效果程序流水燈效果主要思路是通過循環(huán)更改P0口與P2口的電平值(低亮高滅)來點亮和熄滅接在這些口上的流水燈,如單燈循環(huán)是將P0與P2口單個口的電平改為低電平,順序點亮與熄滅是是將P0與P2一個一個口電平依次的改為低電平或高電平,而漸明漸暗是以MS為單位,改變P0口與P2口電平高低的時間(即PWM),來達到效果。具體見程序清單。5、系統(tǒng)調(diào)試程序編寫完成后,經(jīng)過排錯、編譯,生成相對應的編譯結(jié)果文件(hex文件),在Proteus7中搭建好電路,將hex文件送入AT89C52芯片中進行模擬,運行結(jié)果如下圖5-1至5-3。在模擬成功的情況下,試做實物如圖5-4,調(diào)試成功圖5-1單燈循環(huán)運行效果圖5-2依次亮依次滅運行效果圖5-3漸亮漸暗運行效果圖5-4實物圖6、設(shè)計小結(jié)經(jīng)過將近一個星期的課程設(shè)計,創(chuàng)意LED燈設(shè)計基本完成,系統(tǒng)功能基本實現(xiàn),測試運行也基本正常。這個課題讓我對51單片機I/O口控制、定時器、PWM等知識有了更深的認識。當然這個系統(tǒng)還存在許多有待完善的地方:功能相對較少,界面設(shè)計得不夠精致完美。通過本次課程設(shè)計,我更深刻的認識到:單片機基礎(chǔ)知識要熟練掌握;要充分利用網(wǎng)絡(luò)這個大的資料庫;對待任何事情都要有耐心和恒心,遇到問題要冷靜地思考,積極找出癥結(jié)所在,逐個解決。7、參考文獻[1]李麗榮,張常全,鄭建紅.51單片機應用設(shè)計[M].北京:北京理工大學出版社,2012[2]王建,宋永昌.88例學會51單片機[M].北京:中國電力出版社,2014[3]張義和等.例說51單片機:C語言版[M].北京:人民郵電出版社,2010[4]張齊,朱寧西.單片機應用系統(tǒng)設(shè)計技術(shù)—基于C51的Proteus仿真(第3版)[M].北京:電子工業(yè)出版社,2013[5]許維鎣,鄭榮煥.proteus電子電路設(shè)計及仿真[M].北京:電子工業(yè)出版社,2014[6]單片機教程網(wǎng)[7]百度百科附件1.元件清單序號名稱型號、參數(shù)備注數(shù)量1CPUAT89C52DIP40封裝12管座DIP-4013晶振11.0592MHz14元片電容22pf25電解電容10uf/16V16接線端子XH2.54-4P2.54mm107電阻10K/0.25W金屬膜1/4W18排阻A10-103或A09-103直插29單排排針直針1*402.54mm210雙排排針直針2*402.54mm111LED16附件2.硬件原理圖附件3.程序清單#include<reg52.h>#include<intrins.h>#defineucharunsignedcharuchari,j,k,t,n,s;voidsingle_cycle(void);voidcomp_cycle(void);voidshine_cycle(void);voiddelay_10us(void);voiddelay_1ms(void);voiddelay_200ms(void);voidgetkeyvalue(void);voidmain(void){ P3=0xff; s=1; //效果號,初始值1為單燈循環(huán) EA=1; //總中斷允許 TMOD=0x11; //定時器T0,T1均工作在1模式下 ET1=1; //T1允許 TH1=(65536-9216*5)/256; //T1裝初值 TL1=(65536-9216*5)%256; TR1=1; //T1打開 while(1) //主循環(huán) { switch(s) //判斷效果號1-單燈2-順序3-明暗4-熄滅 { case1:single_cycle();break; case2:comp_cycle();break; case3:shine_cycle();break; case4:P0=0xff;P2=0xff;break; } }}voidsingle_cycle(void) //單燈效果程序{ P0=0xfe; P2=0xff; for(k=0;k<7;k++) { delay_200ms(); P0=~((~P0)<<1); } P0=0x7f; delay_200ms(); P0=0xff; P2=0xfe; for(k=0;k<7;k++) { delay_200ms(); P2=~((~P2)<<1); } P2=0x7f; delay_200ms();}voidcomp_cycle(void) //順序點亮再熄滅效果程序{ P0=0xfe; for(k=0;k<7;k++) { delay_200ms(); P0=P0&(P0<<1); } P0=0x00; delay_200ms(); P2=0xfe; for(k=0;k<7;k++) { delay_200ms(); P2=P2&(P2<<1); } P2=0x00; delay_200ms(); P0=0x01; for(k=0;k<7;k++) { delay_200ms(); P0=P0|(P0<<1); } P0=0xff; delay_200ms(); P2=0x01; for(k=0;k<7;k++) { delay_200ms(); P2=P2|(P2<<1); } P2=0xff; delay_200ms();}voidshine_cycle(void) //漸明漸暗效果程序{ k=1; while(k<=5) { for(n=0;n<200;n++) { P0=0x00; P2=0x00; for(t=0;t<k;t++)delay_1ms(); P0=0xff; P2=0xff; for(t=0;t<5-k;t++)delay_1ms(); } k++; } k=5; while(k>0) { for(n=0;n<200;n++) { P0=0x00; P2=0x00; for(t=5;t>k;t--)delay_1ms(); P0=0xff; P2=0xff; for(t=5-k;t>0;t--)delay_1ms(); } k--; }}voiddelay_10us(void) //10US延時程序{_nop_(); _nop_();_nop_();_nop_();}voiddelay_1ms(void) //1MS延時程序{for(i=0;i<100;i++)delay_10us();}voiddelay_200ms(void){for(j=0;j<200;j++)delay_1ms();}voidInterrupt_time1(void)interrupt3 //定時器1每隔50MS掃描鍵盤一次{ EA=0; TR1=0; TH1=(65536-9216*5)/256; //重裝定時器 TL1=(65536-9216*5)%256; EA=1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論