您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>汇编编程>

四个小键盘控制的花样彩灯汇编源程序

大小:344 人气: 2010-04-20 需要积分:3
靓仔峰的空间

用户级别:注册会员

贡献文章:

贡献资料:

;键盘控制的花样彩灯。
;****************
;亮灯控制程序;
;************;
;
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 ;关闭按纽
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 ;关显示
LJMP START

FUN00: MOV A,#0FEH ;左移子程序
FUN000: MOV P1,A
LCALL DL05S
JNB ACC.7,OUT ;检测是否结束
RL A
AJMP FUN000
OUT: RET

FUN11: MOV A,#07FH ;右移子程序
FUN111: MOV P1,A
LCALL DL05S
JNB ACC.0,OUT ;检测是否结束
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

非常好我支持^.^

(3) 100%

不好我反对

(0) 0%

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!