2017-03-10 22 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を点滅させるコードを書きます。

関連する問題