新聞中心

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

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

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


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

評(píng)論


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

關(guān)閉