Forum: Mikrocontroller und Digitale Elektronik PIC12F675 Grundschaltung


von Stefan H. (stefan_haussmann)


Lesenswert?

Hallo,

Ich habe einen PIC12F675 und das Experimeniterboard von Vellemann.
Auf der Platine Funktioniert der PIC wunderber.
Nun wollte ich eine Schaltung auf einer Lochrasterplatine nachbauen. Ich 
habe versucht die Schaltung des Boards nachzubauen, aber aus irgendeinem 
Grung funktioniert das nicht. Ich möchte den internen Quarz verwenden, 
kann also auf diese Beschaltung verzichten.

Kann mir irgendjemand eine Grundschaltung entwerfen mit der ich 2 Taster 
als Eingänge und als Ausgänge an 2 Pins +5V Abrgeifen kann???

Währe echt super, da es hier vermutlich Leute gibt, die das in 5 Minuten 
hinkriegen.

von slow (Gast)


Lesenswert?

Sorgfältiger arbeiten und die Schaltung 1:1 übernehmen, wenn sie sachon 
so gut funktioniert. Was brauchst da einen andere Schaltung?

von Dave C. (dave_chappelle)


Lesenswert?

Poste doch einfach schnell deine Schaltung, dann verraten wir dir was du 
falsch gemacht hast.

von slow (Gast)


Lesenswert?

Genau poste doch mal die Schaltung, solltest Du doch in fünf Minuten 
hinkriegen.

von Stefan H. (stefan_haussmann)


Lesenswert?

Ich hab keinen Schaltplan am PC...ich glaub auch nicht dass ich dieses 
Armutszeugnis hier Posten sollte...

Ich benötige keinen Anschluss an die Serielle Schnittstelle, da ich den 
PIC auf dem Versuchsboard Programmieren Kann.

Also einfach nur Spannungsversorgung, 2 Eingänge und 2 Ausgänge...Ich 
hab nicht genug Wissen auf diesem Gebiet.

von Stefan H. (stefan_haussmann)


Lesenswert?

Mit welchem Programm kann ich das einfach am PC entwerfen?

von Dave C. (dave_chappelle)


Lesenswert?

Am besten für so was einfaches zeichnen und einscannen.
Ansonsten als Freeware ist Eagle recht gut geeignet.

Allerdings habe ich nicht das Gefühl, dass du viel falsch machen kannst 
bei der Grundbeschaltung wie du sie beschreibst.

Hast du MCLR mit einem ca. 10k Widerstand auf VDD gehängt?
Des weiteren ist ein 100nF Kondensator zwischen VDD und VSS zu 
empfehlen.
Achte noch auf den Reset Pin, ob der High oder Low Aktiv ist.. Solltest 
du diese 3 Sachen beachtet haben, kann fast nix mehr schief gehen.

von slow (Gast)


Lesenswert?

Was kannst Du  was willst Du  was mußt Du überhaupt machen?

Wenns ein Hobby werden soll, lern Dich rein.
Wenns eine Hausaufgabe ist, mach sie selbst.
Wenns beruflich ist, kündige.

von Stefan H. (stefan_haussmann)


Lesenswert?

Nein, das habe ich nicht gemacht mit dem 10k Widerstand...

Ich glaub ic hentwerf das ding nachher Komplett neu und Poste das dann 
mal.
Dann könnt ihr mir eher sagen warum das nicht geht.

von Dave C. (dave_chappelle)


Lesenswert?

Stefan Haussmann schrieb:
> Ich glaub ic hentwerf das ding nachher Komplett neu und Poste das dann
> mal.
> Dann könnt ihr mir eher sagen warum das nicht geht.
>
>

Gute Idee

von Stefan H. (stefan_haussmann)


Angehängte Dateien:

Lesenswert?

Hab hier mal versucht die Schaltung zu erstellen, so wie ihr mir das 
Beschrieben habt...Hab es nicht hinbekommen Vss in VDD zu ändern.
Es ist jetzt auch nur eine LED vorhanden...klappt das so?

von Stefan H. (stefan_haussmann)


Lesenswert?

Ich hatte mit Mikrocontrollern noch nicht viel zu tun...ich mach grad 
Schule und wollte mal so eine kleine Schaltung selber bauen, da wir nur 
Programmieren und uns nicht über die Hardware unterhalten...

von Stefan (Gast)


Lesenswert?

Sollte so laufen.

von Stefan H. (stefan_haussmann)


Lesenswert?

Ok, cool..dann probier ich das morgen mal so....danke fürs helfen

von ich (Gast)


Lesenswert?

Du kannst auch den Reset-Pin in der Config (5. bit, MCLRE auf 0) 
deaktivieren bzw. den Pin als IO(RP3) definieren. Somit sparst du dir 
den Widerstand und sofern du kein Taster gegen Masse hast, kannst du den 
Reset sowieso nicht betätigen (außer mit nem Schraubenzieher nach Masse 
kurzschließen).

Also wenn du die Konfig änderst, brauchst du nur 5V, Masse und halt 
deine LED mit Vorwiderstand. Bedenke aber, dass die Pins einen absoluten 
Maximalstrom von 25mA vertragen.
Wenn du das nicht änderst, kannst du die Schaltung so lassen.

Auch wenn das Programmiertechnisch ist, vergiss nicht, die ADCs für 
evtl. später kommende Eingänge auszuschalten.

von Stefan H. (stefan_haussmann)


Lesenswert?

Also das Ding funktioniert jetzt...danke für eure Hilfe :-)

von Stefan H. (stefan_haussmann)


Angehängte Dateien:

Lesenswert?

Hallo Leute, hab nochmal n kleines Problem,

Ich habe den angehängten Schaltplan aufgebaut und habe Probleme die 
Eingänge abzufragen (z.B if (GPIO.B4==1)...)
Ich hab das Datenblatt durchgeschaut und keine Ahnung woran es jetzt 
noch Scheitert. Der Programmausschnitt welcher die Konfiguration 
beinhaltet ist ebenfalls angehängt. Die Ausgänge funktionieren 
einwandfrei.
Hat vielleciht jemand einen Tip?

von Stefan H. (stefan_haussmann)


Lesenswert?

Das hier ist das Programm dazu (zumindest ein Teil)

1
 void Init()             //Initialisierungsroutine für Timer
2
 {
3
4
      ANSEL=0;            //Alle Ausgänge Digital
5
      CMCON=7;            //Kein Komperator
6
      TRISIO=0b00110000;  //GP5,GP4 als Eingang
7
      T1CON=0b00000001;   //Timer 1 Konfigurieren und starten
8
       /*     0-------;    Nicht relevant
9
              -0------;    Nicht relevant
10
              --00----;    Precsaler (1:1)
11
              ----0---;    LP Oszilator aus (nicht relevant)
12
              -----0--;    Sync. ext. Takt (Hier nicht relevant)
13
              ------0-;    Internet Takt verwenden
14
              -------1;    Timer starten
15
       */
16
      GIE_bit=1;  //Alle unmaskierten interrupts erlauben
17
      PEIE_bit=1; //PERIPHERAL INTERRUPTS ENABLE
18
      T1IE_bit=1; //Timer1 Interrupt erlauben
19
20
 }

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.