PIC 16F84A Probleme?

Gast #145466
Lesenswert?

Hallo,
hab mir von unten genannter Seite den Programmer gebaut, und versuche
nun mit WinPic den Chip zu programmieren. Schön und gut, es
funktioniert soweit, nur das Config-Word kann er nicht schreiben? Es
landet dann immer im Codebereich auf 0x0005 und nicht auf 0x2007?

Kann es sein das der Programmer den Programmiermodus nicht korrekt
startet?

http://members.vol.at/home.floery/electronix/pic/evalkit.pdf

Weiterhin hab ich direkt das Eval-Board das darin enthalten ist mit
gebaut, nur schaltet mir der PIC den Eingang des "Testprogramms"
nicht auf On?!?

Hab das Programm aus hinweisen von diesem forum mal so umgebaut:
1
LIST P=PIC16F84A, F=INHX8M
2

3
#include <p16F84A.inc>
4

5
STATUS  EQU 03
6
BNR     EQU 05
7
PORTA   EQU 05
8
PORTB   EQU 06
9
TRISA   EQU 85
10
TRISB   EQU 86
11

12

13
          ORG       0x0000
14
          GOTO      MAIN
15
  
16
          ORG       0x04
17
           GOTO      IRQH
18

19

20
MAIN:     ORG       0x10
21
          BCF       STATUS,RP0
22
          CLRF      PORTB
23
          BCF       STATUS,RP0
24
          MOVLW     0x00
25
          CLRW
26
          MOVWF     TRISB        ;Port B als Ausgänge (das ist Zeile 10)
27
          BCF       STATUS,RP0   ;zurück zu Bank 0
28
          
29
          MOVLW     0x01
30
          MOVWF     PORTB
31

32
LOOP:     GOTO      LOOP
33
 
34
IRQH:     RETFIE
35

36
          ORG       0x2007
37
          DATA      0x3FF5
38

39
          END

Hat einer evtl eine Idee woran das liegt (außer das der Programmer shit
ist? :D)
Gast #145467
Lesenswert?

Also erstmal kannst du dir die ganzen Registerzuweisungen (außer BNR)
sparen, das ist nämlich bereits in der p16f84a.inc geschehen.

Ich vermute mal, daß WinPic nicht in der Lage ist (wie viele andere
Tools auch), die Konfiguration aus dem HEX-File zu lesen. Bietet WinPic
Möglichkeiten, den PIC manuell zu konfigurieren? Das sollte dann
funktionieren. Das "org 0x2007" kann nicht gehen, denn diese
Speicherstelle ist im Codebereich des PIC16F84 nicht vorhanden. Die
Adresse 0x2007 ist nur während des programmierens erreichbar.

Gruß
Thorsten
Gast #145471
Lesenswert?

Hmm könnte natürlich sein, das irgendwie durch nen fehler das gesetzt
wurde, nur, wie krieg ich das wieder weg? Muss ja irgendwie möglich
sein die CP wieder zu deaktivieren, oder? Schliesslich ist kein
funktionierendes Programm auf dem Chip (das hat z.b nicht funktioniert
das programm korrekt drauf zu brennen)

Das seltsame war das er mir beim brennen häufig beim anschliessenden
read irgendwas in die register geschrieben hatte. Inzwischen geht da
gar nix mehr ...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren