最近、18 個の PIC 4500 を使い始めました。アセンブリでプログラムする最初の試みは、ループで 1 つの LED を点滅させることでした。ただし、私はこの言語でのプログラミングの経験があまりないため、他のコード スニペットに頼って作業を開始する必要がありました。私のコードは以下の通りです:
#include<p18f4550.inc>
CONFIG WDT = OFF
CONFIG MCLRE = ON
CONFIG DEBUG = ON
CONFIG LVP = OFF
CONFIG FOSC = INTOSCIO_EC
ORG 0
Delay1 res 2
Delay2 res 2
Start:
CLRF PORTB
CLRF TRISB
CLRF Delay1
CLRF Delay2
MainLoop:
BSF PORTB,1
GOTO DelayA
DelayA:
DECFSZ Delay1,1
GOTO DelayA
BCF PORTB,1
GOTO DelayB
DelayB:
DECFSZ Delay2,1
GOTO DelayB
GOTO MainLoop
end
なぜうまくいかないのか理解できませんが、命令サイクル速度 (1 MHz と思われます) と関係があるのではないかと考えており、遅延が極端に短くなっています。
どんな助けでも大歓迎です!