剛剛開始學(xué)習(xí)PIC的單片機(jī),在實驗最簡單的程序時,用單步運(yùn)行方式,卻發(fā)現(xiàn)我無論怎么修改 MOVLW 0FFH的值,W寄存器的內(nèi)容總是0xFF,我怎么也不明白?望高手指點迷津,非常感謝!
delay
movlw 0ffh ;此處的0ffh我改成02h,或者D'2'
movwf 20h ;但是20H單元中的內(nèi)容卻總是0xFF,
lp0 movlw 0ffh ;不知道為什么?
movwf 21h
lp1 decfsz 21h,1
goto lp1
decfsz 20h,1
goto lp0
return
end
初學(xué)PIC單片機(jī)問題:為什么W的內(nèi)容我改變不了?
全部回復(fù)(10)
正序查看
倒序查看
@ptan
你用的是什么仿真器?是硬件仿真器?還是軟件仿真器?你用的是什么型號的PIC單片機(jī)?
我用的是PIC16.COM網(wǎng)站上推銷的MCD2仿真器,單片機(jī)用的是PIC16F877A,沒有用軟件仿真器.按理說不應(yīng)該出現(xiàn)這個問題.我就
是做個霹靂燈的仿真實驗,主要是想用單步方式看看整個程序的運(yùn)行過程,但是單步運(yùn)行的速度太慢,所以我才想把循環(huán)的數(shù)值降低,以便可以觀察整個情形,沒有想到出現(xiàn)了這個問題,便搞不明白了.
不可能是MCD2仿真器有問題吧?
是做個霹靂燈的仿真實驗,主要是想用單步方式看看整個程序的運(yùn)行過程,但是單步運(yùn)行的速度太慢,所以我才想把循環(huán)的數(shù)值降低,以便可以觀察整個情形,沒有想到出現(xiàn)了這個問題,便搞不明白了.
不可能是MCD2仿真器有問題吧?
0
回復(fù)
@caoyuan
我用的是PIC16.COM網(wǎng)站上推銷的MCD2仿真器,單片機(jī)用的是PIC16F877A,沒有用軟件仿真器.按理說不應(yīng)該出現(xiàn)這個問題.我就是做個霹靂燈的仿真實驗,主要是想用單步方式看看整個程序的運(yùn)行過程,但是單步運(yùn)行的速度太慢,所以我才想把循環(huán)的數(shù)值降低,以便可以觀察整個情形,沒有想到出現(xiàn)了這個問題,便搞不明白了. 不可能是MCD2仿真器有問題吧?
不如你把你的程序發(fā)過,我用我的仿真器幫你仿真看,MCD2我也沒用過,所以我不能說什么.
0
回復(fù)