新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 試驗9------單片機小鍵盤控制的花樣彩燈

        試驗9------單片機小鍵盤控制的花樣彩燈

        作者: 時間:2011-02-25 來源:網絡 收藏

        試驗9------小鍵盤控制的花樣彩燈

        該程序示例了鍵盤控制p1口流水燈花樣的方法;具體表現為:p3.2 3.2 3.4 3.5四個小按鍵

        分別實現了四個控制:

        1啟動,停止;在任何狀態下按此鍵程序停止運行.

        2 跑燈,p1.0---1.7亮點流動:

        3 流水燈; p1.0-1.7 依次點亮

        4 交錯等; p0.O,P0.2,P0.4,P0.6和p0.1,P0.3,P0.5,P0.7輪流點亮

        該程序調試通過:

        ;************;

        ;亮燈控制程序;

        ;************;

        ;

        ;************;

        ;中斷入口程序;

        ;************;

        ;

        ORG 0000H

        LJMP START

        ORG 0003H

        RETI

        ORG 000BH

        RETI

        ORG 0013H

        RETI

        ORG 001BH

        RETI

        ORG 0023H

        RETI

        ;

        ;************;

        ; 初始化程序 ;

        ;************;

        ;

        CLEAR: RET

        ;

        ;************;

        ; 主 程 序 ;

        ;************;

        ;

        START:ACALL CLEAR

        STAR1:MOV P3,#0FFH

        JNB P3.4,FUN0

        JNB P3.5,FUN1

        JNB P3.2,FUN2

        JNB P3.3,FUN3 ;關閉按紐

        JNB F0,STAR1 ;曾經有鍵按下F0置1

        RET

        ;

        FUN0:LCALL DL10MS ;消岸抖動

        JB P3.4,STAR1

        WAITL0:JNB P3.4,WAITL0 ;等待鍵釋放

        SETB F0

        FUN01:LCALL FUN00

        LCALL STAR1

        LJMP FUN01

        ;

        FUN1:LCALL DL10MS ;消岸抖動

        JB P3.5,STAR1

        WAITL1:JNB P3.5,WAITL1 ;等待鍵釋放

        SETB F0

        FUN10:LCALL FUN11

        LCALL STAR1

        LJMP FUN10

        ;

        FUN2:LCALL DL10MS ;消岸抖動

        JB P3.2,STAR1

        WAITL2:JNB P3.2,WAITL2 ;等待鍵釋放

        SETB F0

        FUN20:LCALL FUN22

        LCALL STAR1

        LJMP FUN20

        ;

        FUN3:LCALL DL10MS ;消岸抖動

        JB P3.3,STAR1

        WAITL3:JNB P3.3,WAITL3 ;等待鍵釋放

        CLR F0

        MOV P1,#0FFH ;關顯示

        LJMP STAR1

        ;

        FUN00:MOV A,#0FEH

        FUN000:MOV P1,A

        LCALL DL05S

        JNB ACC.7,OUT

        RL A

        AJMP FUN000

        OUT: RET

        ;

        FUN11:MOV A,#0FEH

        FUN111:MOV P1,A

        LCALL DL05S

        JZ OUT

        RL A

        ANL A,P1

        AJMP FUN111

        ;

        FUN22:MOV A,#0AAH

        MOV P1,A

        LCALL DL30S

        CPL A

        MOV P1,A

        LCALL DL30S

        RET

        ;

        ;************;

        ; 延時程序 ;

        ;************;

        ;

        DL512:MOV R2,#0FFH

        LOOP1: DJNZ R2,LOOP1

        RET

        DL10MS:MOV R3,#14H

        LOOP2: LCALL DL512

        DJNZ R3,LOOP2

        RET

        DL05S:MOV R4,#0AH

        LOOP3: LCALL DL10MS

        DJNZ R4,LOOP3

        RET

        DL30S:MOV R5,#03H

        LOOP4:LCALL DL05S

        DJNZ R5,LOOP4

        RET

        end



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正宁县| 乌拉特前旗| 鄂伦春自治旗| 霍邱县| 高邮市| 永丰县| 称多县| 鄂伦春自治旗| 泽库县| 阿荣旗| 天峨县| 台前县| 出国| 舞钢市| 江门市| 洪雅县| 神池县| 什邡市| 钦州市| 三台县| 桐柏县| 惠安县| 竹山县| 双城市| 阜宁县| 北京市| 丘北县| 洞头县| 高邮市| 贺兰县| 汉寿县| 旌德县| 城口县| 大城县| 荆门市| 安宁市| 宁晋县| 靖宇县| 吉水县| 鹤峰县| 三门峡市|