Forum: Mikrocontroller und Digitale Elektronik PIC 16F727 Läuft nicht


von M. J. (manfred-64)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche mich gerade am PIC16F727, mit sehr wenig Erfolg :(
Hab aber schon mal vor Jahren mit dem 16F84 erfolgreich experimentiert.

Im MPLAB-Simulator läuft alles  wie es soll, leider rührt sich am PIC 
selbst nichts :(
(LED Blinkt mit 2Hz an RB5, externer Takt 2,048MHz)
Der TTL-Oszillator läuft.
Ich brauche 5V und habe den Vcap auf Pin 2/RA0. Ich gehe davon aus das 
ich dann an Pin 2 auch die interne Reglerspannung von 3,2V messen 
sollte, was leider nicht der fall ist. Ich messe eine schwankende 
Spannung von ~0-4V, hab's mit 0,1- 1µF versucht !?

Was stimmt mit meiner Konfiguration nicht ???

PS: hab im Schaltplan die LED an den falschen Port gelegt, kann aber 
leider kein korrigiertes Bild hoch laden !? In der Schlachtung liegt sie 
an RB5 !





     LIST      p=16F727             ; list directive to define processor
     #INCLUDE <P16F727.INC>         ; processor specific variable 
finitions

__CONFIG    _CONFIG1, _DEBUG_OFF & _PLL_DIS & _BORV_1_9 & _BOR_OFF & 
_CP_OFF & _MCLR_DIS & _PWRT_EN & _WDT_OFF & _XT_OSC

__CONFIG    _CONFIG2, _VCAP_RA0

;----------------------------------------------------------------------- 
-------
; RESET VECTOR
;----------------------------------------------------------------------- 
-------

RESET     ORG     0x0000            ; processor reset vector
          pagesel START
          GOTO    START             ; go to beginning of program

;----------------------------------------------------------------------- 
-------
; SubRutinen
;----------------------------------------------------------------------- 
-------

LED_1
    BANKSEL PORTB
    BCF  INTCON,T0IF
    MOVLW  B'00100000'
    XORWF  PORTB,W
    MOVWF  PORTB

    BANKSEL  0
    RETURN

;----------------------------------------------------------------------- 
-------
; Initialisirung
;----------------------------------------------------------------------- 
-------
INIT
    CLRF  PORTB
    CLRF  Temp_1
;----------------------------------------------------------------------- 
-------
; Timer Init
;----------------------------------------------------------------------- 
-------
; Timer 0
    BANKSEL OPTION_REG
    MOVLW  B'10000111'
    MOVWF  OPTION_REG

;----------------------------------------------------------------------- 
-------
; Port Init
;----------------------------------------------------------------------- 
-------
; PORTA
    Banksel ANSELA    ;AD's off
    CLRF  ANSELA

; PORTB
    BANKSEL TRISB
    BCF  TRISB, RB5  ;Test LED
    BANKSEL ANSELB
    CLRF  ANSELB

    CLRF  ANSELD
    CLRF  ANSELE

    BANKSEL 0
    RETURN

;----------------------------------------------------------------------- 
-------
; MAIN PROGRAM
;----------------------------------------------------------------------- 
-------

START

    call  INIT
;----------------------------------------------------------------------- 
-------
; PLACE USER PROGRAM HERE
;----------------------------------------------------------------------- 
-------
MAIN

    BTFSC  INTCON,T0IF
    CALL  LED_1      ;Port B5
    GOTO  MAIN

    END

von Tobi D. (fanti)


Lesenswert?

Du hast beschrieben, dass du einen externen Takt verwenden möchtest, 
hast du auch im Schaltplan so dargestellt.
Allerdings hast du in den CONFIG-Einstellungen für den Quarz "_XT_OSC" 
gewählt. Ich bin zwar kein Profi aber der PIC möchte somit mit einem 
eigenen Quarz arbeiten, laut Datenblatt benutzt du den EC-Modus:

EC – External clock with I/O on OSC2/CLKOUT

XT – Medium Gain Crystal or Ceramic
Resonator Oscillator mode



und direkt ne Frage von mir hinterher: wozu brauchst du den Kondensator 
an Pin 2, den hab ich noch nie benutzt und bis jetzt auch noch nicht 
gebraucht

von Lehrmann M. (ubimbo)


Lesenswert?

Hallo,

1. MCLR gehört beschalten - sollte man einfach so machen - du benötigst 
im Moment den I/O (eigentlich nur Input) des MCLR nicht. Beschalte ihn 
entsprechend den Vorgaben im Datenblatt nach Vdd.

2. Jeder Vdd Pin gehört einzeln mit einem 100nF Kondensator 'entstört'

3. Ist es denn ein Quarzoszillator oder 'nur' ein Quarz? In jemdem Fall 
mal HS Mode ausprobieren.

von M. J. (manfred-64)


Lesenswert?

@ fanti,
Du hast recht der 16F727 hat einen speziellen EC Mode (sollte aber auch 
im XT o. HS Funzen, beide getestet)
Hat leider nichts gebracht :(
Der Cap an Pin 2 ist zur Stabilisierung des internen Spannungsreglers, 
da der PIC "intern" nur mit Max. 3.2V arbeitet
Hab das auch mal testweise raus geschmissen und ihn an 3,6V laufen 
lassen, nix er will nich. Hab's mit nem 2. PIC16F727 auch schon probiert 
(man weiß ja nie), NIX da läuft gar nichts :(

@ ubimbo,
hab auch all Deine Tip's ausprobiert -> dito
es ist ein Quarzoszillator.

Ich mach da irgend was grundsätzliches in der Config falsch.
Die Schaltung hab ich nun zum Xten mal geprüft, Osci läuft, Pic 
gewechselt, LED und Widerstand (!!!) getestet.
Selbst den Pic-Brenner (Sprut's Nr.5)hab ich überprüft.

von heldvomfeld (Gast)


Lesenswert?

wie Michael schon geschrieben hat:

- Pin 1 über bspw. 10kOhm an Vdd,
- Pin 32 zusätzlich noch über 100nF an Gnd

gruß~

von Jens (ein anderer) (Gast)


Lesenswert?

Manfred John schrieb:
> Selbst den Pic-Brenner (Sprut's Nr.5)hab ich überprüft.

Bist du sicher, dass der Brenner 5 den 16F727 brennen kann? Ich habe 
mich vor einiger Zeit am 722 probiert und die gleichen Probleme gehabt. 
Das Teil lief einfach nicht los. Bei der Fehlersuche fiel mir irgendwann 
auf, dass die Konfigurationsbits vom Compiler (HiTech) nicht korrekt 
gesetzt wurden. Nchdem ich das manuell geändert hatte ging es. Als 
Brenner sollte übrigens ein Brenner 8 zum Einsatz kommen, doch mit dem 
hatte ich nur Fehlermeldungen. Eigentlich sollte der aber die 72xer 
Reihe brennen können. Alternativ stand mir ein PICkit 2 zur Verfügung, 
doch leider kann MPLab den 16F72x nicht mit dem PICkit 2 brennen, erst 
mit dem PK3. Komischerweise ist bei dem PK2 ein einfaches Brennprogramm 
dabei, womit der PIC gebrannt werden konnte. Warum MPLab nicht 
unterstützt wird, weiß nur Microchip.

Ob es dir weiterhilft weiß ich nicht, doch mit keinem PIC hatte ich so 
viele Startschwierigkeiten wie mit dem 16F722. Sch...teil.

von M. J. (manfred-64)


Lesenswert?

Sicher bin ich mir momentan bei gar nichts mehr was den Pic16F727 
betrifft :)
Der Brenner Nr.5 kann (laut liste) den Pic Brennen, er erkennt ihn auch 
korrekt.
Ich werd mal den Pic auslesen und die gebrannten Config-Flags 
überprüfen.

Nu geh ich erst mal bei dem Herrlichen Wetter in den Biergarten, mir'n 
paar Bier in Kop kippen :)
Dann Hören vielleicht auch diese Kopfschmerzen auf, da drin macht die 
ganze zeit Pic, Pic,Pic...

Dank euch allen erst mal und Prost :D

von Tobi D. (fanti)


Lesenswert?

welchen Programmer benutzt du denn? bzw welche Programmierspannung hast 
du denn anliegen?
evtl. könnte dort das Problem liegen:
Laut Sprut braucht der 16f7x7 eine höher Programmierspannung als die 
anderen PICs.
PIC16F7x / 7x7      12,75 V

von M. J. (manfred-64)


Lesenswert?

ok, hab den Fehler gefunden.
Mein PBrenner5 mit PBrennerNG brennt die Config nicht :(
Hab alle Änderungen am Brenner durchgeführt, keine Änderung.
Scheint ein Softwareproblem zu sein.
Die PBrenner37u soft soll laut Sprut's HP den 16f727 brennen,
leider wird er weder erkannt noch ist er in der Dropdown-Liste.

Ohne scheint der Pic seine Arbeit komplett zu verweigern ?

Kann nur noch hoffen das mein China-Lieferant es dieses mal schafft das 
der PICkit3 Clone es bis zu meinen Haustür schafft.

von M. J. (manfred-64)


Lesenswert?

Heute ist endlich der PickKit3 von "Sure Electronics" gekommen :)
Nach kurzer Startschwierigkeit (Stromversorgung über'n PK3 ein schalten 
nich vergessen!) habe ich es geschafft, nach geschlagenen 2 Wochen, habe 
ich eine LED zum blinken gebracht :D

Dank an alle und BB

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.