基于單片機與PWM的呼吸燈設(shè)計
摘要
本設(shè)計是基于單片機的原理與接口設(shè)計,采用單片機I/O口,加以C語言編程實現(xiàn)LED漸亮再漸暗類似人的呼吸一樣的效果。
關(guān) 鍵 詞
AT89C51,PWM(脈寬調(diào)制)
一、設(shè)計要求:
呼吸燈就是讓LED燈的閃爍像呼吸一樣,時呼時吸,時亮?xí)r暗,利用LED的余輝和人眼的暫留效應(yīng),看上去和人的呼吸一樣。
二、設(shè)計原理:
用C語言編程實現(xiàn)PWM(脈寬調(diào)制)輸出驅(qū)動LED,逐漸增加PWM的占空比從而實現(xiàn)LED模擬呼吸的過程,即漸亮再漸暗再漸亮再漸暗……如此往復(fù),再利用LED的余輝和人眼的暫留效應(yīng),看上去就和人的呼吸一樣。
三、整體方案設(shè)計
8個LED按照順序逐個實現(xiàn)呼吸效果。加以其他閃爍花樣增加更炫彩的效果。
四、實驗元件及器材
(1)元件: LED(發(fā)光二極管) 8個
1KΩ電阻 8個
1nf電容 2個
晶振 1個
AT89C51芯片 1個
(2)器件:Atmega128開發(fā)板 1塊
計算機 1臺
- 主電路:8個LED分別連接AT89C51的P1口,使用共陽方式,并加以1kΩ的電阻接入電源。
(2)時鐘電路:外部時鐘方式是使用外部振蕩脈沖信號。
- 軟件設(shè)計及系統(tǒng)仿真調(diào)試
- 調(diào)試方法:利用keil軟件進行C語言程序編寫及調(diào)試,再利用Proteus仿真軟件進行仿真實驗。
- 調(diào)試過程所遇問題:
1、由于呼吸燈的程序在仿真軟件Proteus中實現(xiàn)的效果不明顯,很難辨別LED是否具有呼吸的效果。所以邊用keil調(diào)試程序邊用STC燒寫軟件直接寫入開發(fā)板,從而很明顯看出LED是否具有呼吸效果;
2、程序運行時,出現(xiàn)LED閃爍過快,由于人眼的暫留效應(yīng)看似LED全部一直亮著,經(jīng)調(diào)試,修改延時時間,實現(xiàn)呼吸效果。
七、結(jié)論與心得
在本次設(shè)計中,C語言程序在開發(fā)板中得以實現(xiàn)應(yīng)有的功能。在調(diào)試過程中,發(fā)現(xiàn)很多問題都是由于不細(xì)心導(dǎo)致的,因此在以后的設(shè)計方案中,要集中精力,莫粗心大意。再者就是知識量的不足,雖然是一個小小的設(shè)計方案,但是查閱了很多相關(guān)資料,在日后,要多充足自己的知識量,保證C程序的編寫質(zhì)量。
參考文獻
[1]郭天祥,《新概念51單片機C語言教程》,電子工業(yè)出版社,2009年1月
[2]徐愛鈞,《單片機高級語言C51應(yīng)用程序設(shè)計》,電子工業(yè)出版社,2000年5月
附件A:呼吸燈設(shè)計電路圖

附件B:C語言程序清單
完整的Word格式文檔51黑下載地址:
呼吸燈報告.doc
(339 KB)
(下載次數(shù): 43, 2018-4-3 14:48 上傳)
下載積分: 黑幣 -5