單片機(jī)流水燈設(shè)計(jì)方法
這一課我們就結(jié)合at89sS51增強(qiáng)型單片機(jī)實(shí)驗(yàn)板、ISP編程器來(lái)手把手教你詳細(xì)學(xué)習(xí)單片機(jī)流水燈設(shè)計(jì)方法。購(gòu)買電路板聯(lián)系qq125739409
圖2: ISP編程器套件 |
S51增強(qiáng)型單片機(jī)實(shí)驗(yàn)板上有8個(gè)高亮度發(fā)光二極管(見(jiàn)圖1所示),可以用來(lái)做單片機(jī)流水燈、跑馬燈。。。等實(shí)驗(yàn),電路原理圖見(jiàn)下圖3。
圖3單片機(jī)流水燈設(shè)計(jì)方法 |
從原理圖可以看出,如果我們想讓接在P1.0口的LED1亮起來(lái),那么我們只要把P1.0口的電平變?yōu)榈碗娖骄涂梢粤?;相反,如果要接在P1.0口的LED1熄滅,就要把P1.0口的電平變?yōu)楦唠娖骄涂梢?;同理,接在P1.1~P1.7口的其他7個(gè)LED的點(diǎn)亮和熄滅方法方法同LED1。因此,要實(shí)現(xiàn)流水燈功能,我們只要將LED2~LED8依次點(diǎn)亮、熄滅,依始類推,8只LED變會(huì)一亮一暗的做流水燈了。
實(shí)現(xiàn)8個(gè)LED流水燈程序用中文表示為:P1.0低、延時(shí)、P1.0高、P1.1低、延時(shí)、P1.1高、P1.2低、延時(shí)、P1.2高、P1.3低、延時(shí)、P1.3高、P1.4低、延時(shí)、P1.4高、P1.5低、延時(shí)、P1.5高、P1.6低、延時(shí)、P1.6高、P1.7低、延時(shí)、P1.7高、返回到開(kāi)始、程序結(jié)束。
從上面中文表示看來(lái)實(shí)現(xiàn)單片機(jī)流水燈很簡(jiǎn)單,但是我們不能說(shuō)P1.0你變低,它就變低了。因?yàn)閱纹瑱C(jī)聽(tīng)不懂我們的漢語(yǔ)的,只能接受二進(jìn)制的“1、0......”機(jī)器代碼。我們又怎樣來(lái)使單片機(jī)按我們的意思去工作呢?為了讓單片機(jī)工作,只能將程序?qū)憺槎M(jìn)制代碼交給其執(zhí)行;早期單片機(jī)開(kāi)發(fā)人員就是使用人工編寫的二進(jìn)制代碼交給單片機(jī)去工作的。今天,我們不必用煩人的二進(jìn)制去編寫程序,完全可以將我們?nèi)菀桌斫獾摹俺绦蛘Z(yǔ)言”通過(guò)“翻譯”軟件“翻譯”成單片機(jī)所需的二進(jìn)制代碼,然后交給單片機(jī)去執(zhí)行。這里的“程序語(yǔ)言”目前主要有匯編語(yǔ)言和C語(yǔ)言兩種;在這里我們所說(shuō)的“翻譯”軟件,同行們都叫它為“編譯器”,將“程序語(yǔ)言”通過(guò)編譯器產(chǎn)生單片機(jī)的二進(jìn)制代碼的過(guò)程叫編譯。前面說(shuō)到,要想使LED1變亮,只需將對(duì)應(yīng)的單片機(jī)引腳電平變?yōu)榈碗娖骄涂梢粤恕,F(xiàn)在讓我們將上面提到的8只LED流水燈實(shí)驗(yàn)寫為匯編語(yǔ)言程序。
評(píng)論