微控制器之入門級流水燈
對於絕大多數初入微控制器坑的學者,上手微控制器所嘗試的第乙個程式都是流水燈,究其原因,與微控制器的引腳結構以及程式簡易程度有很大關聯。所謂流水燈,就是微控制器上的8顆led燈依次點亮,當點亮完第八個燈後再返回點亮第乙個,同一時刻,有且只有唯一一顆led點亮,執行後的效果就跟流水一樣。
要實現流水燈的效果,有很多種不一樣的方法,這裡我們採用按位運算的方法寫一下流水燈的程式。
既然流水燈是8顆led燈依次點亮,同一時刻,有且只有唯一一顆led點亮,那麼我們為了實現這一效果,就需要把八顆led的點亮時間依次分別間隔開來,這裡很直接的就能夠想到延時,八顆led分別在不同時刻點亮,就需要用到我們的按位移動,依次的移動響應的引腳以點亮led。
延時按位移動
由此我們能夠將延時寫成乙個函式,以實現延時功能,直接利用主函式main實現led的按位移動與點亮
延時函式
void
delay
(void
)
按位移動led,使led依次點亮
void
main()
}
這裡就將程式的主體寫的差不多了,接下來看看完整版的吧
#include
void
delay
(void
)//延時函式
void
main()
}
本程式採用按位移的方法實現流水燈的運作,屬於比較簡單直接的方法,另外還有其他一些方法,留待下次有機會再次分享,第一次寫部落格,心情激動,有不足之處,還望海涵,多多指點。 微控制器 流水燈
基礎知識 1.c語言預處理命令 define a p0 注意後邊不用加分號 在 中使用p0口時,可以直接用a代替,防止修改埠時大面積修改 2.迴圈左移和右移函式 crol a,b 迴圈左移函式,a是左移的值,b是左移的位數。包含在intrins.h庫函式裡面。cror a,b 迴圈右移函式,原理同上...
微控制器流水燈
上篇給大家分享了單個led的點亮與閃爍,這次給大家分享一下怎樣用微控制器控制led實現流水燈效果。所需元器件如下 stc89c52rc晶元 1 10k電阻 1 330 電阻 8 10uf 電解電容 1 22pf 瓷片電容 2 12mhz晶振 1 按鍵 1 led燈 8 電路圖如下 如下 led流水燈...
微控制器流水燈
微控制器c51流水燈實驗 1 基本的流水燈 設定延時函式使led燈依次有間隔的亮起 軟體延時採用程式delay j 可調整延時時間。2 簡單鍵控的流水燈。實現思路 由於是按下鍵不鬆手,鍵值一直保留,所以判斷if k10 即是按下k1,採用if k10 或if k1 1 後接while 1 迴圈的模式...