2017-03-10 2 views
1
LA $t1, TRISE 
LI $t2, 0x0000 
SW $t2, 0($t1) 

LA $t1, TRISD 
LI $t2, 0xFFFF 
SW $t2, 0($t1) 

LI $t8, 0b0000000001 

LA $t1, PORTE 
LA $t2, PORTD 

LI $t7, 0x2000 

Loop: 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
JAL determinedelay 
NOP 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
JAL determinedelay 
NOP 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
JAL determinedelay 
NOP 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
SW $t8, 0($t1) 
SLL $t8,$t8,1 
SW $t8, 0($t1) 

SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
SRL $t8,$t8,1 
SW $t8, 0($t1) 
JAL Loop 
NOP 

determinedelay: 
LI $t7, 0x2000 
LW $t4,0($t2) 
SRL $t4,$t4,8 

mydelay: 
ADDI $t7,$t7,-1 
BGEZ $t7, mydelay 
NOP 
JR $ra 
NOP 

이 코드는 LED를 켜고, 왼쪽으로 이동하고, 다른 장치를 켜고, 왼쪽으로 이동하고, 스트립의 맨 왼쪽 끝으로 이동하고, 동일한 프로세스를 반복합니다 오른쪽으로가는 등 끊임없이 반복됩니다.MIPS 및 PIC32 LED 깜박임 지연

코드의 일부분이 올바르게 작동한다고 생각하지만 지연 문제가 있습니다. 궁극적으로 전체 지연은 스위치 입력에 의존해야하지만, 현재는 일관된 지연이 발생하도록 노력하고 있습니다.

프로그램을 실행할 때 하드웨어에서 아무런 변화가 없습니다.

답변

0

실행을 시도하기 전에 걷기. 단일 LED를 켜는 코드를 작성하십시오.

작동하면 해당 LED를 켜고 끄는 코드를 작성하십시오.

작업 할 때 스트립의 모든 LED를 켜고 끄는 코드를 작성하십시오.