
въпросче от начинаещите....
ЗДР на всички
взех си на скоро книга за 16ф84а
пробвах да реализирам следния код:
list p=16f84a
#include <p16f84a.inc>
__config _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
w equ 0
f equ 1
counter equ h'0c'
org h'0000'
goto start
start bsf STATUS,RP0
movlw B'11010111'
movwf OPTION_REG
bcf STATUS,RP0
clrf PORTB
bsf STATUS,RP0
movlw B'11111110'
movwf TRISB
bcf STATUS,RP0
goto main
wait movlw d'7'
movwf counter
clrf TMR0
again bcf INTCON,T0IF
loop btfss INTCON,T0IF
goto loop
decfsz counter,f
goto again
return
main bsf PORTB,0
call wait
bcf PORTB,0
call wait
goto main
end
(pic на млад конструктор)
тва кара един светодиод да мига -- елементарно предполагам
флашнах чипа чрез ponyprog , но като го свързах с необходимите външни елементи не стана нищо.
Гледах -има необходимото напрежение на крачетата на чипа , на MCLR ima +5V ама не бачка пущината....
Някакви идеи?
направи ми впечатление че при компилацията на кода (c MPLAB) дава следното съобщение
Message[302] D:\EMIL\SVETODIOD.ASM 12 : Register in operand not in bank 0. Ensure that bank bits are correct.
при положение че банката е избрана (bsf STATUS,RP0)
Също така като наблюдавам регистрите PORTB не променя състоянието си
предварително благодаря за вниманието