001.asm
来自「利用取表方式实现流水灯的闪烁与游走.这个是单片机程序.」· 汇编 代码 · 共 37 行
ASM
37 行
ORG 0000H
LJMP START
ORG 0030H
START: MOV SP,#70H ; 设置堆栈指针指向70H
MOV DPTR,#TABLE ;TABLE表的地址存入指针
LOOP: CLR A ; 除ACC
MOVC A,@A+DPTR ;到数据指针所指地址取码
CJNE A,#01H,LOOP1 ;取出的码是否为01H?即表中的码是否取完,
;是則跳转到LOOP1继续取码
LJMP START ;將A中的码送到P1
LOOP1:MOV P1,A
LCALL DELAY
INC DPTR ;数据指针加1,取下个码
LJMP LOOP
DELAY:MOV R7,#00H; ;延时
D1:MOV R6,#80H
D2:NOP
DJNZ R6,D2
DJNZ R7,D1
RET
TABLE: DB 0FEH,0FDH,0FBH,0F7H ;左移兩次
DB 0EFH,0DFH,0BFH,7FH
DB 0FEH,0FDH,0FBH,0F7H
DB 0EFH,0DFH,0BFH,7FH
DB 7FH,0BFH,0DFH,0EFH ;右移兩次
DB 0F7H,0FBH,0FDH,0FEH
DB 7FH,0BFH,0DFH,0EFH
DB 0F7H,0FBH,0FDH,0FEH
DB 00H,0FFH,00H,0FFH ;闪烁兩次
DB 01H ;结束标志码
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?