新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機入門程序二

        單片機入門程序二

        作者: 時間:2016-11-24 來源:網絡 收藏
        ;*****************************************;

        ;實驗名稱:廣告燈左右移動實驗
        ;作者: 龍誼
        ;版本: VER 1.0
        ;說明: 初學者學習單片機編程入門實驗
        ;修改:
        ;編程語言: 匯編語言
        ;*****************************************;

        本文引用地址:http://www.104case.com/article/201611/320664.htm

        方法一:

        ORG00H
        START:MOVA,#0FFH ;設置左移初值
        CLRC ;進位清零
        MOVR1,#08H ;設定左移次數8
        ZUOYI:RLCA ;開始左移
        MOVP0,A ;由P0口顯示左移值
        CALLDELAY ;調延時子程序
        DJNZR1,ZUOYI ;判斷左移次數=8?不等就繼續左移
        MOVR1,#07H ;等于就設定右移次數7
        YOUYI:RRCA ;開始右移
        MOVP0,A ;由P0口顯示右移值
        CALL DELAY ;調延時子程序
        DJNZR1,YOUYI ;判斷右移次數=7?不等就繼續右移
        JMPSTART ;等于就返回開始形成程序的循環功能
        DELAY:MOVR5,#20 ;采用晶振12MHZ,延時時間為0.2秒
        D1: MOVR6,#20
        D2: MOVR7,#248
        DJNZR7,$
        DJNZR6,D2
        DJNZR5,D1
        RET
        END

        方法二:

        ORG00H
        START: MOVDPTR,#TABLE;TABLE表的地址存入數據指針
        YIDONG:CLRA ;清除ACC
        MOVCA,@A+DPTR ;到數據指針所指的地址取碼
        CJNEA,#01,QIDONG;取出的碼=01H?不是則跳到QIDONG
        JMPSTART;是01H返回重新開始
        QIDONG:MOVP0,A ;取到的碼由P0顯示
        CALLDELAY ;調延時子程序
        INCDPTR ;數據指針加1,取下一個碼
        JMPYIDONG
        DELAY: MOVR5,#20 ;采用晶振12MHZ,延時時間為0.2秒
        D1: MOVR6,#20
        D2: MOVR7,#248
        DJNZR7,$
        DJNZR6,D2
        DJNZR5,D1
        RET
        TABLE: DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH;左移碼
        DB0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;右移碼
        DB01H ;結束碼
        END



        關鍵詞: 單片機入門程

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 丹阳市| 英吉沙县| 浦北县| 吉隆县| 陇川县| 鹤峰县| 正宁县| 富阳市| 阳新县| 弥勒县| 洛川县| 湘西| 中西区| 抚顺市| 义马市| 桃源县| 溆浦县| 云和县| 新民市| 介休市| 龙胜| 老河口市| 湖口县| 嘉定区| 阿荣旗| 井研县| 德州市| 民丰县| 普安县| 天长市| 阜平县| 苍溪县| 瓦房店市| 开江县| 八宿县| 敖汉旗| 开封县| 南丹县| 三原县| 云林县| 保亭|