新聞中心

        EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (二)

        單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (二)

        作者: 時(shí)間:2013-05-26 來源:網(wǎng)絡(luò) 收藏
        一、八路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是有極性的,引腳長(zhǎng)的為正極,引腳短的為負(fù)極,負(fù)極和電阻一側(cè)連接,如果接錯(cuò)那么相應(yīng)的那一路可能在實(shí)驗(yàn)中不會(huì)點(diǎn)亮了,在焊接前要看仔細(xì)哦~~~

          單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (二) 單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (二)

          下面我們來完成軟件編程設(shè)計(jì),這里我們沒有采用高深的編程技巧,而是用了最笨、最直接的向端口送數(shù)的辦法來實(shí)現(xiàn),一來程序比較簡(jiǎ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

          如何精確計(jì)算延時(shí)子程序的執(zhí)行時(shí)間?

          匯編語言的一大優(yōu)勢(shì)就是能夠精確控制程序的執(zhí)行時(shí)間,這在編寫一些對(duì)時(shí)序要求嚴(yán)格的外圍器件驅(qū)動(dòng)時(shí)由為重要!

          單片機(jī)經(jīng)典實(shí)驗(yàn)實(shí)例精華詳解(附源程序) (二)

        晶振相關(guān)文章:晶振原理


        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 石河子市| 吴江市| 五指山市| 中阳县| 鄯善县| 广宗县| 菏泽市| 温泉县| 南皮县| 金寨县| 苏尼特左旗| 海林市| 松溪县| 巴南区| 五指山市| 邻水| 盐边县| 卢氏县| 嘉荫县| 屯留县| 高台县| 泸定县| 瑞金市| 茌平县| 包头市| 永登县| 衡东县| 肃宁县| 江油市| 濉溪县| 剑阁县| 双城市| 隆昌县| 满洲里市| 疏附县| 启东市| 余干县| 夹江县| 申扎县| 江川县| 陕西省|