我的大学单片机课程案例和ppt
源代码在线查看: 3.asm
ORG 0000H ;起始地址
AJMP MAIN ;跳到主程序入口
ORG 0030H
MAIN: MOV P1,#11111111B ;熄灭所有LED灯
LOOP: MOV P2,#11111111B ;P2口赋初值
D0: MOV A,P2 ;把P2口的值写入A(读按键)
JB P2.0,D3 ;P2.0没有按键就跳转到D3
D00: MOV P1, #11111100B ;有按键则P1.0、P1.1的LED点亮
LJMP LOOP ;跳转到LOOP重新按键扫描
D3: JB P2.3,D7 ; P2.3没有按键就跳转到D7
D33: MOV P1, #10101010B ;有按键则P1.0、P1.2 、P1.4、P1.6的LED点亮
LJMP LOOP ;跳转到LOOP重新按键扫描
D7: JB P2.7,D0 ; P2.7没有按键就跳转到D0
GO1: MOV R5,#8
MOV A, #11111110B ;有按键则P1口八个灯循环点亮
GO2: JNB P2.0,D00
JNB P2.3,D33
MOV P1,A
CALL DELAY
RL A
DJNZ R5,GO2
LJMP GO1
LJMP LOOP ;跳转到LOOP重新按键扫描
DELAY:MOV R6,#200 ;延时程序
DE1: MOV R7,#200
DE2: DJNZ R7,DE2
DJNZ R6,DE1
RET
END ;结束