基于51單片機(jī)的呼吸燈設(shè)計C語言_第1頁
基于51單片機(jī)的呼吸燈設(shè)計C語言_第2頁
基于51單片機(jī)的呼吸燈設(shè)計C語言_第3頁
基于51單片機(jī)的呼吸燈設(shè)計C語言_第4頁
基于51單片機(jī)的呼吸燈設(shè)計C語言_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程設(shè)計報告題目:基于51單片機(jī)的呼吸燈設(shè)計信息工程學(xué)院課程設(shè)計任務(wù)書學(xué)生卡1學(xué)生專業(yè)課)設(shè)計主題基于51單片機(jī)的呼吸燈設(shè)計認(rèn)為數(shù)數(shù)技術(shù)技術(shù)參數(shù)字8顆LED依次實(shí)現(xiàn)呼吸效果。添加其他閃爍圖案以獲得更耀眼的效果。認(rèn)為數(shù)數(shù)想求采用單片機(jī)的I/O口,通過C語言編程實(shí)現(xiàn)LED逐漸變亮再變暗的效果,類似于人呼吸的效果。參測試首都材料1 郭天祥,新概念51單片機(jī)C語言教程,電子行業(yè),2009年1月2徐愛軍,單片機(jī)高級語言C51應(yīng)用程序設(shè)計,電子工業(yè),2000年5月年月日學(xué)生:學(xué)生號:課程設(shè)計主題:基于51單片機(jī)的呼吸燈設(shè)計分?jǐn)?shù):指導(dǎo)老師:年月日信息工程學(xué)院課程設(shè)計成績評估表摘要本設(shè)計基于單片機(jī)的原理和接口

2、設(shè)計,利用單片機(jī)的I/O口,用C語言編程實(shí)現(xiàn)LED漸亮漸暗的效果,效果類似人類的呼吸。關(guān)鍵詞AT89C51,PWM(脈沖寬度調(diào)制)一、設(shè)計要求:呼吸燈就是讓LED燈像呼吸一樣閃爍,呼吸進(jìn)出,明暗,利用LED的余輝和人眼的余輝效應(yīng),看起來像人的呼吸。2、設(shè)計原則:用C語言編程實(shí)現(xiàn)PWM(脈寬調(diào)制)輸出驅(qū)動LED,逐漸增加PWM的占空比,實(shí)現(xiàn)LED模擬呼吸的過程,即逐漸變亮,再變暗,再變亮再變暗。 .等等,然后用LED 人眼的余輝和余輝效果看起來就像人的呼吸一樣。三、整體方案設(shè)計8顆LED依次實(shí)現(xiàn)呼吸效果。添加其他閃爍圖案以獲得更耀眼的效果。4. 實(shí)驗(yàn)元件及設(shè)備(1) 組件: 8 個 LED(發(fā)光

3、二極管)8 個 1K 電阻器2個1nf電容1個晶振1個AT89C51芯片1個Atmega128開發(fā)板1臺電腦硬件原理主電路:8顆LED分別接AT89C51的P1口,采用共陽極方式,電源加1k電阻。(2) 時鐘電路:外部時鐘方式是使用外部振蕩脈沖信號。軟件設(shè)計與系統(tǒng)仿真調(diào)試調(diào)試方法:使用keil軟件編寫和調(diào)試C語言程序,然后使用Proteus仿真軟件進(jìn)行仿真實(shí)驗(yàn)。調(diào)試過程中遇到的問題:1、由于仿真軟件Proteus中的呼吸燈程序效果不明顯,很難區(qū)分LED是否有呼吸的效果。所以在用keil調(diào)試程序的時候,使用STC編程軟件直接寫入開發(fā)板,這樣LED是否有呼吸作用就一目了然了;2.程序運(yùn)行時,LED

4、閃爍過快。由于人眼的余輝效應(yīng),似乎所有的 LED 都是常亮的。調(diào)試后修改延遲時間,達(dá)到呼吸效果。七、結(jié)論與經(jīng)驗(yàn)在本設(shè)計中,C語言程序可以在開發(fā)板上實(shí)現(xiàn)相應(yīng)的功能。在調(diào)試過程中,發(fā)現(xiàn)很多問題都是因?yàn)椴粚P脑斐傻摹R虼耍诮窈蟮脑O(shè)計方案中,要集中精力,不可馬虎。此外,缺乏知識。雖然是一個小的設(shè)計方案,但是我查閱了很多相關(guān)資料。以后我應(yīng)該有足夠的知識來保證C程序編寫的質(zhì)量。參考1 郭天祥,新概念51單片機(jī)C語言教程,電子行業(yè),2009年1月2徐愛軍,單片機(jī)高級語言C51應(yīng)用程序設(shè)計,電子工業(yè),2000年5月附錄A:呼吸燈設(shè)計電路圖附錄 B: C 語言程序列表#include/*-定義MCU管腳-*/

5、位 LED0=P10;位 LED1=P11;位 LED2=P12;位 LED3=P13;位 LED4=P14;位 LED5=P15;位 LED6=P16;位 LED7=P17;無效延遲(無符號整數(shù) t); /函數(shù)聲明無符號整數(shù) z,y;void main(void)/主函數(shù)unsigned int CYCLE=500,PWM_LOW=0;/定義循環(huán)并賦值while (1) /主循環(huán)/*-整排LED燈呼吸-*/P1=0 x00;延遲(500); /加一個延時,可以看到熄滅的過程(下面的過程同)for(PWM_LOW=1;PWM_LOW0;PWM_LOW-) /逐漸變亮的相反過程 P1=0 x00

6、; /點(diǎn)亮LED 延遲(PWM_LOW); P1=0 xff; /關(guān)閉LED 延遲(CYCLE-PWM_LOW); /在主循環(huán)中添加其他需要一直工作的程序,延遲長度從599減少到600個循環(huán)中的1個/*-第一個LED燈呼吸-*/LED0=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED0=0; 延遲(PWM_LOW); LED0=1; 延遲(CYCLE-PWM_LOW);/*-第二個LED在呼吸-*/LED1=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-)LED1=0;延遲(PWM_LOW);LED1=1;延遲(CY

7、CLE-PWM_LOW);/*-第三個LED在呼吸-*/LED2=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED2=0; 延遲(PWM_LOW); LED2=1; 延遲(CYCLE-PWM_LOW); /*-第四顆LED燈呼吸-顆*/LED3=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED3=0; 延遲(PWM_LOW); LED3=1; 延遲(CYCLE-PWM_LOW);/*-第五顆LED燈呼吸-*/LED4=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED4=

8、0; 延遲(PWM_LOW); LED4=1; 延遲(CYCLE-PWM_LOW);/*-第六顆LED燈呼吸-顆*/LED5=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED5=0; 延遲(PWM_LOW); LED5=1; 延遲(CYCLE-PWM_LOW);/*-第七顆LED燈呼吸-顆*/LED6=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED6=0; 延遲(PWM_LOW); LED6=1; 延遲(CYCLE-PWM_LOW);/*-第八顆LED燈呼吸-*/LED7=1;延遲(500);對于(PWM_LOW=1;PWM_LOW0;PWM_LOW-) LED7=0; 延遲(PWM_LOW); LED7=1; 延遲(CYCLE-PWM_LOW); P1=0 x00;對于(z=500;z0;z-)for(y=110;y0;y-);P1=0 xff;對于(z

溫馨提示

  • 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

提交評論