作者move779 (爆卦我专长)
看板ASM
标题[问题]怎麽让LED左移
时间Sun Mar 1 21:31:49 2009
P3.7 P2.5 P0.0
□□□□□□□□□□■■■■■■■■■■■■■■■■■■■■■■
←←←←←←←←←←←←
□□□□□□□□□■■■■■■■■■■■■■■■■■■■■■■□
□□□□□□□□■■■■■■■■■■■■■■■■■■■■■■□□
■■■■■■■■■■■■■■■■■■■■■■□□□□□□□□□□
如上涂满抽象的,就是要亮过去 但是我不知道怎麽写左移的而且要循环下去
就是P0减一然後P2加一
希望能交我该怎麽写下去
程式如下
ORG 00H
JMP START
START:
MOV A,#0
MOV P0,#0
MOV P1,#0
MOV P2,#0
MOV P3,#0
MOV R3,#0
MOV R5,#08
CALL PD
MOV R5,#08
CALL PE
MOV R5,#06
CALL PF
MOV R5,#08
PD:
INC A
MOV R3,A
MOV P0,R3
RLC A
MOV R6,A
DJNZ R5,PD
CLR A
CLR C
MOV R6,A
ret
PE:
INC A
MOV R3,A
MOV P1,R3
RLC A
MOV R6,A
DJNZ R5,PE
CLR A
CLR C
MOV R6,A
ret
PF:
INC A
MOV R3,A
MOV P2,R3
RLC A
MOV R6,A
DJNZ R5,PF
RET
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.240.249.205
※ 编辑: move779 来自: 210.240.249.205 (03/01 21:32)
※ 编辑: move779 来自: 210.240.249.205 (03/01 21:36)
1F:推 ruemann:P0~P3的暂存器位置、左移、C,这三个东西就可以了 03/01 22:44
2F:→ ruemann:另外一种是暴力解,就是把所有情况列出来,直接load进去 03/01 22:47
3F:推 dinopalm:跑马灯不必写得很漂亮吧 如同二楼说的 每种状况都写出来 03/01 23:08
4F:→ dinopalm:左移右移 交叉 来回跑 一招就搞定了 03/01 23:09
5F:→ move779:谢谢 r大的第一个方法很快 03/03 08:45
6F:→ move779:也谢谢D大 因为刚接触,所以没想过还有这样方法 03/03 08:47
7F:推 ast9869:用C写的话就很快了 DWORD dwLED=0x7ff; dwLED=dwLED<<1; 03/07 11:41
8F:推 ast9869:P0=dwLED&0xff; P1=(dwLED>>8)&0xff; P2=(dwLED>>16)&0xff 03/07 11:44
9F:→ ast9869:然後再判断dwLED是否溢位,溢位就LowByte or 0x01 03/07 11:48