Beispielprogramm für den PIC 12F629

Gast #775509
Lesenswert?

Ich hab ein PICkit2, ein 12F629 und den PICC C-Compiler.

Nun will ich mal ein Beispielprogramm zum laufen bringen. Zum Beispiel 
eine LED blinken lassen.

1. Hat Jemand son ein einfaches Demo-Programm?

2. Bei der Header-Datei des PICC C-Compiler steht:

#ifndef  HTC_H
#warning Header file pic12f6x.h included directly. Use #include <htc.h> 
instead.
#endif

Was bedeutet das???

3. Hab dann in meinem Programm pic12f6x.h eingebunden, beim Compilieren 
kam der Fehler:

Warning [162] C:\Programme\HI-TECH 
Software\PICC\LITE\9.60\include\pic12f6x.h; 3.80 #warning: Header file 
pic12f6x.h included directly. Use #include <htc.h> instead.

Wieso htc.h????

Sorry, mache das erste mal mit pics rum..

danke für eure hilfe
Gast #775515
Lesenswert?

Hallo Picler,

also

1. Solche Beispiele findest du entweder bei examples in deinem 
Compiler-Verzeichnis oder auf der Microchip-Homepage
2. =3. Das bedeutet, das du die Header-Datei direkt eingebunden hast und 
du sollst das nicht machen, sondern htc.h einbinden. Die htc.h sucht 
sich die richtige Header-Datei aus der Bauteil-Definition deines 
Projekts. Mit welchem Compiler arbeitest du eigentlich ? Mach einfach 
mal die htc.h auf, dann siehst du lauter abfragen zu den Prozessor-typen 
und dann eine zugehörigen include ...

gruß
Gast #775566
Lesenswert?

Compilieren geht.
Will man ein Schalter einlesen und an einem Pin ausgeben. Läuft aber 
leider nicht, was mach ich falsch?

#include <pic12f6x.h>

main()
{
//Init
static bit bitvar;

TRIS3 = 1; //GPIO3 Input
TRIS1 = 0;


    while(1 == 1)               //  Loop Forever
    {
    bitvar = GPIO3;
    GPIO1 = bitvar;
    }
}
Gast #775580
Lesenswert?

Danke, geht aber noch nicht.

Muss ich  icht auch noch ANSEL Null setzen?

Wenn ich

ANSEL = 0x00;

mache, kommt die Fehlermeldung

undefined identifier "ANSEL"


Wieso das? ANSEL ist doch im header-file definiert.
#775628
Lesenswert?

Picler wrote:
> undefined identifier "ANSEL"
> Wieso das? ANSEL ist doch im header-file definiert.

Der PIC12F629 hat gar kein ANSEL, weil er keinen A/D-Wandler hat.


Kannst Du die LED wenigstens statisch einschalten?
z.B.
1
#include <htc.h>
2

3
main()
4
{
5
//Init
6
static bit bitvar;
7

8
TRIS3 = 1; //GPIO3 Input
9
TRIS1 = 0;
10

11

12
    while(1)               //  Loop Forever
13
    {
14
    GPIO1 = 1;             // oder =0, je nachdem wie die LED angeschlossen ist
15
    }
16
}
Gast #775865
Lesenswert?

Sagen wir ich  hab einen Timer 0.

Wird der Interrupt von Timer 0 ausgelöst mach ich folgendes:

Timer mit X laden
(jedes zweite mal mit 1000-X)
Ausgang Invertieren
Timer Starten


Der Timer hätte dann eine Periode von 1000 und eine Pulsweite von X.

Geht das so?

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