Forum: Mikrocontroller und Digitale Elektronik PIC16F84A Programm läuft nicht


von Michael S. (misax)


Lesenswert?

ist das Programm so richtig:

#define _XTAL_FREQ 4000000
#include <xc.h>
int main()
{
  TRISA1 = 0; //RA1 as Output PIN
  while(1)
  {
    RA1 = 1;  // LED ON
    __delay_ms(1000); // 1 Second Delay
    RA1 = 0;  // LED OFF
    __delay_ms(1000); // 1 Second Delay
  }
  return 0;
}

um eine LED am Pin 18 zum Blinken zu bringen ?

tut es bei mir nicht, sondern die PICKIT3-Status-LED blitzt im 
Sekundentakt auf.

was habe ich falsch gemacht ?

von wo??? (Gast)


Lesenswert?

wo wird der Port initialisiert ?

von Franko P. (sgssn)


Lesenswert?

Der F84 hat ja auch nen Watchdog. Ist der abgeschaltet? Steht meist in 
ner config-Anweisung.

Gruß

von Michael S. (misax)


Lesenswert?

watchdog habe ich jetzt auf 0 gestellt.
geht aber immer noch nicht.

TRISA1 = 0; //RA1 as Output PIN ist doch die Initialisierung oder fehlt 
da noch was ?

ist das normal dass der PICKIT3 trotz der Meldung
Device Erased...

Programming...
The following memory area(s) will be programmed:
program memory: start address = 0x0, end address = 0x3ff
Programming/Verify complete

im Sekundentakt mit der Staus-LED blitzt ?

: Bearbeitet durch User
von Franko P. (sgssn)


Lesenswert?

Und mit was für nem Clock läuft der? Der olle F84 hat doch noch keinen 
internen Takt oder? Also läuft der mit nem Quarz oder was? Und kannst du 
da was messen, ob der tut was er soll?

von Michael S. (misax)


Lesenswert?

ich hab erst mit nem 4Mhz und dann mit nem 16MHz Quarz probiert beides 
mal dasselbe. wie kann ich messen ob der Quartz läuft ?

von H. H. (Gast)


Lesenswert?

Franko P. schrieb:
> Und mit was für nem Clock läuft der? Der olle F84 hat doch noch
> keinen
> internen Takt oder? Also läuft der mit nem Quarz oder was? Und kannst du
> da was messen, ob der tut was er soll?

Der braucht zum Brennen keinen Takt.

Das hat früher gereicht:

https://pic-microcontroller.com/simple-jdm-pic-programmer-using-pic16f84a-microcontroller/

von Franko P. (sgssn)


Lesenswert?

Ich dachte nach dem Programmieren soll der laufen und das tut er nicht. 
Was ist das für ne LED am PICKIT3?

von Michael S. (misax)


Lesenswert?

die Status-LED blitzt alle Sekunde kurz auf.
wie kann ich feststellen ob der Quartz aktiv ist ?

von H. H. (Gast)


Lesenswert?

Michael S. schrieb:
> wie kann ich feststellen ob der Quartz aktiv ist ?

Oszi.

von Franko P. (sgssn)


Lesenswert?

Mit dem Oszi am Qaurz messen, ob da was zappelt.

von Peter K. (Firma: www.pic-microcontroller.de) (peter_k)


Angehängte Dateien:

Lesenswert?

Hallo
Brenne mal das HEX File was im Anhang ist in deinen
Pic. Wenn dies läuft dann ist an deinem Aufbau
zumindest alles richtig. Läuft mit 4MHz und die LED ist
an Port A1.

von Teo D. (teoderix)


Lesenswert?

Defaultmäsig ist das für einen RC-Oszillator konfiguriert.
1
// CONFIG
2
#pragma config FOSC = HS        // Oscillator Selection bits (HS oscillator)
3
#pragma config WDTE = OFF       // Watchdog Timer (WDT disabled)
4
#pragma config PWRTE = ON       // Power-up Timer Enable bit (Power-up Timer is enabled)
5
#pragma config CP = OFF         // Code Protection bit (Code protection disabled)

FOSC bei 4MHz kann man auch XT ausprobieren... Dabla gug.

von Michael S. (misax)


Lesenswert?

danke mit FOSC = HS klappts jetzt !

: Bearbeitet durch User
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.