?? 鍵盤控制的花樣彩燈.asm
字號:
;鍵盤控制的花樣彩燈。
;***************************************************************************
;* (程序轉(zhuǎn)載請著明出處 ,未聲明可適應(yīng)本站騰龍/isp開發(fā)套件/倚天版開發(fā)套件 *
;* E-mail:sxj1974@163.com (51c51 test web) 51測試網(wǎng),自學單片機的網(wǎng)站 *
;* Create by :石學軍 www.51c51.com www.8951.com 更多例程請登陸網(wǎng)站 *
;***************************************************************************
;亮燈控制程序;
;************;
;
ORG 0000H
LJMP START
org 0030h
;************;
; 主 程 序 ;
;************;
START:
MOV P3,#0FFH
JNB P3.4,FUN0 ;檢測按鍵
JNB P3.5,FUN1
JNB P3.2,FUN2
JNB P3.3,FUN3 ;關(guān)閉按紐
AJMP START
FUN0: LCALL DL10MS ;消岸抖動
JB P3.4,START
WAITL0: JNB P3.4,WAITL0 ;等待鍵釋放
FUN01: LCALL FUN00
AJMP START
FUN1: LCALL DL10MS ;消岸抖動
JB P3.5,START
WAITL1: JNB P3.5,WAITL1 ;等待鍵釋放
FUN10: LCALL FUN11
AJMP START
FUN2: LCALL DL10MS ;消岸抖動
JB P3.2,START
WAITL2: JNB P3.2,WAITL2 ;等待鍵釋放
FUN20: LCALL FUN22
AJMP START
FUN3: LCALL DL10MS ;消岸抖動
JB P3.3,START
WAITL3: JNB P3.3,WAITL3 ;等待鍵釋放
MOV P1,#0FFH ;關(guān)顯示
LJMP START
FUN00: MOV A,#0FEH ;左移子程序
FUN000: MOV P1,A
LCALL DL05S
JNB ACC.7,OUT ;檢測是否結(jié)束
RL A
AJMP FUN000
OUT: RET
FUN11: MOV A,#07FH ;右移子程序
FUN111: MOV P1,A
LCALL DL05S
JNB ACC.0,OUT ;檢測是否結(jié)束
RR A
AJMP FUN111
FUN22:MOV A,#0AAH ;間隔顯示子程序
MOV P1,A
LCALL DL30S
CPL A
MOV P1,A
LCALL DL30S
RET
;************;
; 延時程序 ;
;************;
DL512:MOV R2,#0FFH ;延時500US
LOOP1: DJNZ R2,LOOP1
RET
DL10MS:MOV R3,#14H ;延時10MS
LOOP2: LCALL DL512
DJNZ R3,LOOP2
RET
DL05S:MOV R4,#0AH ;延時100MS
LOOP3: LCALL DL10MS
DJNZ R4,LOOP3
RET
DL30S:MOV R5,#03H ;延時300MS.
LOOP4:LCALL DL05S
DJNZ R5,LOOP4
RET
end
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -