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