新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 玩轉(zhuǎn)單片機,沒有誰是菜鳥

玩轉(zhuǎn)單片機,沒有誰是菜鳥

作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
最近一直沒有更新博文,今天有時間去看了看,訪問人數(shù)沒有變化。此時才明白一件事,玩單片機沒有誰會是菜鳥,只要你努力、只要你不放棄,總有一天你會成為老鳥。
最近一直在玩單片機,自己焊最小系統(tǒng),自己焊流水燈,自己焊數(shù)碼管,自己焊鍵盤??傊?,就是為自己焊個51學(xué)習(xí)板,以后做小項目測試用??赡芎芏嗳藭ξ?,浪費時間又浪費錢。確實自己焊個學(xué)習(xí)板不比買的便宜,反而會花很多錢,最花錢的就是編程器。說到這肯定又有人笑了,孩子編程器沒必要買的,STC單片機自帶ISP在線可編程功能,確實能節(jié)省幾百塊呢。但是我用的是筆記本電腦,沒有串口,只有USB。如果是為了省錢,買個USB轉(zhuǎn)串口線自己搭接個ISP在線可編程電路,給STC單片機下載程序是完全可以的。也確實很省錢。(如果你運氣好,你會成功)但是,我的運氣不好,搭接的電路不成功,反復(fù)查找浪費我很多時間,現(xiàn)在想想真不值得。最總還是不成功,后來在網(wǎng)上百度,有一個工程師的答案是:只有STC公司的USB轉(zhuǎn)串口線,和STC單片機兼容性很好,成功率很高,達到90%以上,其他的USB轉(zhuǎn)串口線和STC單片機兼容性很差,10%左右(數(shù)字只是個大概,沒必要深究,目的是說明問題)。所以說如果你運氣和我一樣差,哪肯定會搞死你,讓你直接受打擊。
上一篇寫的是超級流水燈的一些實驗,電路很簡單,所以只有程序。下來就主要寫寫控制LED的原理。
1.先說說LED都有哪幾種現(xiàn)象:
(1)閃爍
(2)流動
(3)花樣流水燈
(4)(3)漸亮、漸滅
我所見到的廣告牌基本都是這三種現(xiàn)象,如果還有其他現(xiàn)象可能是我孤陋寡聞跟不上時代了,我先就以上現(xiàn)象分析哈,如果誰還有見到更有創(chuàng)意的LED的玩法,懇請你告訴我讓我也開闊開闊眼界。
(1)閃爍:最簡單的實驗,玩單片機必做的第一個實驗(控制一個LED,你也可以同時控制多個LED),無非就是【點亮LED—延時—熄滅LED—延時】如此不斷的循環(huán)。在這最重要的就是延時問題,延時時間要大于20MS,不然LED可能會常亮,只是亮度比較暗。
(2)流動:LED控制進階,【點亮1燈—延時—熄滅1燈,點亮2燈—延時—熄滅2燈,點亮3燈—延時—...........延時—熄滅7燈,點亮8燈—延時—熄滅8燈,點亮1燈】如此循環(huán),8個LED的循環(huán)流動。
(3)花樣流水燈:也是流水燈的一種,和流水燈的原理一樣,只是每次點亮的LED不同,花樣流水燈可能一次點亮好幾個LED,這幾個LED正好能拼成一個漂亮的圖形或文字什么的。。。
流水燈最重要的是控制其流向和編碼了,你可能會看到這樣一大堆16進制代碼,這就是花樣流水燈的編碼,也就是花樣流水燈的想象所在.。
ucharcodeLED_P1[]=
{
0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,
0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff,0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,0x7f,
0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,
0x0f,0xf0,0xff};
(4)漸亮、漸暗:這個可能是控制LED最難的吧!其實還是時間的控制,只是控制一個周期的時間小于20MS讓人的眼瞼看不到他閃爍就OK。
漸亮:1.假如周期為20MS,意思是在20MS內(nèi)完成從不亮逐漸到最亮。
2.其次就是將20MS分成多少個等級,分的越多,效果越明顯。如果分為8個等級,那么就有8種亮度,在20MS內(nèi)完成8種亮度的顯示,即每種亮度顯示2.5MS。由于人的眼睛只能分辨20MS以上,20MS以內(nèi)無論如何閃爍,人看到的都是亮著的,只是亮度的問題。所以在20MS內(nèi)8種亮度變化,人的眼瞼只能看到亮度的強弱而已,如果按照從弱到最強的順序顯示,哪么看到的就是LED漸亮的效果了。
3.亮度被分成8個等級,8個等級的亮度均不同。每個等級2.5MS,在2.5MS中,如何讓燈呈現(xiàn)出不同的亮度呢?(因為人的眼睛只能分辨20MS以上,2.5MS是小于20MS的,所以你可以讓LED亮0.5MS,滅2MS,則LED是一個亮度等級;亮1MS,滅1.5MS則LED又是一個亮度等級)
4.總結(jié):20MS分成8個等級,每個等級對應(yīng)一個亮度(一個亮度等級2.5MS,控制2.5MS中LED的高低電平時間,則可以確這個亮度等級的亮度),8個亮度等級對應(yīng)不同的亮度。將8個亮度等級按強弱順序排序,則就是我們所要的漸亮或漸滅等要求。
漸暗:原理同漸亮一樣,只是亮度的強弱順序不同而已。
以上是我個人控制LED的一些見解,本人只是個單片機初學(xué)者,也就是群里朋友說的菜鳥,可能上面寫的東西有很多問題,發(fā)這些東西只是希望能得到老鳥的指點,希望能給和我一樣菜的菜鳥一些幫助。最近又在搗弄數(shù)碼管,也不知道我的這些原理問題有多少,或是我孤陋寡聞有很多控制方法,現(xiàn)象我不知道的??傊M玫酱蠹业闹更c,先在這謝謝了。
本文只講原理,具體程序上篇《玩轉(zhuǎn)單片機,你我都是菜鳥3》已經(jīng)詳細寫出。虛心接受老鳥和高手們的指點。


關(guān)鍵詞: 單片機最小系

評論


技術(shù)專區(qū)

關(guān)閉