Ich habe noch was ausprobiert und zwar habe ich jetzt die PICPgm Software benutzt, obwohl sie eigentlich nicht für meinen Programmer gedacht ist.
Der 2. PIC wird wie schon bei der anderen Software nicht erkannt.
Der erste wird jetzt beschrieben aber zum Ende hin, gibt die Verifizierung eine Fehlermeldung aus.
Hab ein paar LEDs angeschlossen und den PIC getestet und es tut sich nun zumindest etwas. Das Programm sieht so aus:
GP0 blinkt tatsächlich aller paar Sekunden auf. Und zwar blinkert zunächst GP5 ein paar mal kurz auf und dann GP0 einmal kurz. Das ganze aller paar Sekunden und manchmal auch nicht ganz regelmäßig.
list p=12f675
include "p12f675.inc"
small_delay_tmp equ 0x20
long_delay_tmp equ 0x21
goto main
small_delay:
movlw 0xff
movwf small_delay_tmp
small_delay_L1:
decfsz small_delay_tmp, F
goto small_delay_L1
return
long_delay:
movwf long_delay_tmp
long_delay_L1:
call small_delay
decfsz long_delay_tmp, F
goto long_delay_L1
return
main:
bcf STATUS, RP0
clrf GPIO
movlw 0x7
movwf CMCON
bsf STATUS, RP0
movlw 0x0
movwf TRISIO
bcf STATUS, RP0
infinite:
bcf GPIO, GP0
movlw 0x82
call long_delay
bsf GPIO, GP0
movlw 0x82
call long_delay
goto infinite
end
Jetzt habe ich das Programm leicht abgeändert sodass es nun folgendermaßen aussieht:
Jetzt passiert gar nichts mehr. GP0,GP1,GP2,GP5 = 0,4V; GP3 = 0,8V; GP4=0V; also alles wie im Rohzustand außer das GP4 = 0V ist.
list p=12f675
include "p12f675.inc"
goto main
main:
bcf STATUS, RP0
clrf GPIO
movlw 0x7
movwf CMCON
bsf STATUS, RP0
movlw 0x0
movwf TRISIO
bcf STATUS, RP0
infinite:
bcf GPIO, GP0
;movlw 0x82
goto infinite
end
Aber leuchten tut natürlich nichts, obwohl GP0 high sein sollte.
Was könnte das sein - PIC kaputt, Programmerboard kaputt?
Und was ist mit dem Programmcode, ich dachte für den 12f675 muss man das ANSEL-Register setzen!?
Lesezeichen