八路LED跑馬燈實(shí)驗(yàn)
現(xiàn)在讓我們開始做第一個(gè)實(shí)驗(yàn):八路發(fā)光二極管輪流點(diǎn)亮的實(shí)驗(yàn),也就是通常所說的跑馬燈實(shí)驗(yàn),首先讓我們來完成必須的硬件部分,我們需要焊接上8個(gè)發(fā)光二極管和8個(gè)限流電阻,可以參考下面的原理圖和實(shí)物圖像進(jìn)行操作,需要注意的是LED是有極性的,引腳長的為正極,引腳短的為負(fù)極,負(fù)極和電阻一側(cè)連接,如果接錯(cuò)那么相應(yīng)的那一路可能在實(shí)驗(yàn)中不會(huì)點(diǎn)亮了,在焊接前要看仔細(xì)哦~~~
下面我們來完成軟件編程設(shè)計(jì),這里我們沒有采用高深的編程技巧,而是用了最笨、最直接的向端口送數(shù)的辦法來實(shí)現(xiàn),一來程序比較簡單,沒必要玩深沉,而且初學(xué)者看起來直觀易懂。
ORG 0000H
START:MOV P1,#01111111B;最下面的LED點(diǎn)亮
LCALL DELAY;延時(shí)1秒
MOV P1,#10111111B;最下面第二個(gè)的LED點(diǎn)亮
LCALL DELAY;延時(shí)1秒
MOV P1,#11011111B;最下面第三個(gè)的LED點(diǎn)亮 (以下省略)
LCALL DELAY
MOV P1,#11101111B
LCALL DELAY
MOV P1,#11110111B
LCALL DELAY
MOV P1,#11111011B
LCALL DELAY
MOV P1,#11111101B
LCALL DELAY
MOV P1,#11111110B
LCALL DELAY
MOV P1,#11111111B;完成第一次循環(huán)點(diǎn)亮,延時(shí)約0.25秒
AJMP START;反復(fù)循環(huán)
;延時(shí)子程序,12M晶振延時(shí)約250毫秒
DELAY:
MOV R4,#2
L3: MOV R2 ,#250
L1: MOV R3 ,#250
L2: DJNZ R3 ,L2
DJNZ R2 ,L1
DJNZ R4 ,L3
RET
END
點(diǎn)擊這里可以下載單片機(jī)實(shí)驗(yàn)開發(fā)板配套的程序。
如何精確計(jì)算延時(shí)子程序的執(zhí)行時(shí)間?
匯編語言的一大優(yōu)勢就是能夠精確控制程序的執(zhí)行時(shí)間,這在編寫一些對(duì)時(shí)序要求嚴(yán)格的外圍器件驅(qū)動(dòng)時(shí)由為重要!
下一篇文章:LED數(shù)碼管動(dòng)態(tài)驅(qū)動(dòng)
備注:如果不需要AT89S51實(shí)驗(yàn)開發(fā)板中的12伏電源變壓器,價(jià)格可以降低10元
銀行帳號(hào)及郵購需知 立即進(jìn)入訂貨系統(tǒng)! 查看全部郵購清單
郵局匯款地址:郵編226200 江蘇省啟東市江海中路511號(hào)水晶苑 A1 謝剛 收
電話/傳真:0513-83342087 小靈通:0513-83082087 聯(lián)系人:謝剛
電子信箱: