Forum: Mikrocontroller und Digitale Elektronik PIC 16F676-I/P zwei Timer programmieren


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Ludger T. (aladin)


Bewertung
1 lesenswert
nicht lesenswert
Hallo Forum,
ich bin neu und will eine Zeitschaltung mit einem PIC 16F676 I/P 
aufbauen.

Mit Spannung ein soll der erste einstellbare Timer starten ( Variabel 
einstellbar von 0-4 Stunden) und nach Ablauf des ersten Timers soll der 
zweite Timer starten der wiederum einstellbar ist , 0-8 Stunden.

Die Zeiten möchte ich mit zwei Poti´s einstellen.
Gibt es schon fertige Programme oder kann mir jemand  ein Programm zur 
Verfügung stellen, dass ich eventuell nur anpassen muß.

Vielen Dank für eure Hilfe!
MFG
Aladin

von Gamma-Ray (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wieso nimmst Du keinen aktuellen PIC?

Boards und Beispiele findest Du zum Beispiel hier:

http://www.microchip.com/promo/curiosity

von Ludger T. (aladin)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe für mein Projekt noch 20 Pic 16F676-I/P

von Gamma-Ray (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ludger T. schrieb:
> Ich habe für mein Projekt noch 20 Pic 16F676-I/P

Das ist gut.

Wenn Du sie auf eBay verkaufst, dann hast Du vielleicht das Geld für ein 
nagelneues Curiosity-Board von Microchip zusammen, mit dem Du über die 
USB-Schnittstelle Deines Rechners sofort loslegen kannst. Alles was Du 
an Software benötigst, findest Du kostenlos bei Microchip.

Beitrag #4987598 wurde vom Autor gelöscht.
von Witkatz :. (wit)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ludger T. schrieb:
> Gibt es schon fertige Programme oder kann mir jemand  ein Programm zur
> Verfügung stellen, dass ich eventuell nur anpassen muß.

Ich mach mal den Anfang. Hier ein Programmgerüst mit State Machine. Die
TBD Kommentare musst du selbst auscodieren, ich will die Arbeit únd den
Genuss des Datenblatt Lesens nicht abnehmen - nur etwas Starthilfe
geben. Für ADC und I/O findest du bestimmt genug Beispiele für ähnliche
PICs im Netz.
Was du mit "Spannung" meinst, musst du noch definieren, deswegen nur
eine Pltzahaltervariable dafür.

Gruß
witkatz

von Werner H. (pic16)


Bewertung
0 lesenswert
nicht lesenswert
Ludger T. schrieb:
> Mit Spannung ein soll der erste einstellbare Timer starten ( Variabel
> einstellbar von 0-4 Stunden) und nach Ablauf des ersten Timers soll der
> zweite Timer starten der wiederum einstellbar ist , 0-8 Stunden.

Und was machst du dann mit der ganzen Zeit? Auch wenn ich persönlich 
nichts von dieser Art programmieren halte, such mal nach Flowcode V7, da 
gibts eine abgespeckte Version zum download.

: Bearbeitet durch User
von Jens M. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ludger T. schrieb:
> Mit Spannung ein soll der erste einstellbare Timer starten ( Variabel
> einstellbar von 0-4 Stunden) und nach Ablauf des ersten Timers soll der
> zweite Timer starten der wiederum einstellbar ist , 0-8 Stunden.

und warum brauchst du dann 2 Timer?

> Die Zeiten möchte ich mit zwei Poti´s einstellen.
> Gibt es schon fertige Programme oder kann mir jemand  ein Programm zur
> Verfügung stellen, dass ich eventuell nur anpassen muß.

Mit PicBasic ist das recht einfach selbst zu erstellen.

von W.S. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gamma-Ray schrieb:
> Wieso nimmst Du keinen aktuellen PIC?

Wieso schlägst du ihm nicht gleich einen AVR oder einen Cortex oder 
einen ganzen PC vor?

Hier gibt es eine Überschrift und die PIC16Fxxx sich keine schlechte 
Wahl, auch wenn es davon schon seit langem eine stattliche Zahl Typen 
gibt.

Allerdings würde ich nicht von 2 Timern reden, sondern von zwei 
Ereignissen, die zu bestimmten Zeiten eintreten sollen. Ereignis A soll 
nach x Sekunden eintreten und Ereignis B nach x+y Sekunden. Sowas macht 
man sinnvollerweise mit einer Art Uhr im µC, also etwas, das die 
verstrichene Zeit zählt - und hier wären Sekunden so etwa das Richtige.

Allerdings würde ich gar sehr zu einem Display raten, denn die Zeiten 
sind doch arg lang und da würde man gern sehen, ob der µC es richtig 
macht. Ein gewöhnliches Alpha-LCD wäre da ausreichend und verbraucht 
wenig Strom.

Und nein, da gibt es nix Vorgefertigtes, das man bloß zu kopieren 
braucht. Also ist Selbermachen angesagt. Bei den PIC16 würde ich da zum 
Assembler greifen, geht (zumindest für mich) am direktesten und 
schnellsten. Aber da hat der TO die eigene Wahl.

W.S.

von Ludger T. (aladin)


Bewertung
0 lesenswert
nicht lesenswert
Hallo vielen Dank für deine Informationen, die sind sehr Hilfreich!
werde Morgen mit der Programmierung starten.
MfG.
Aladin.

von Ludger T. (aladin)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Gamma-Ray,
du hast natürlich recht.

Jetzt mal zu der Funktion:
Ich möchte sobald die Versorgungsspannung eingeschaltet wird einen 
Verbraucher für eine variable Zeit von 1 Stunde bis 4 Stunden mit voller 
Leistung betreiben und danach für eine Zeit von 1 Stunde bis 8 Stunden 
mit reduzierter Leistung betreiben.

Mit deinen Worten  Ereignis  A Betriebsmittel für x Stunden unter voller 
Leistung nach Ablauf der Zeit x Umschaltung auf eine reduzierte Leistung 
des Betriebsmittels A für die Zeit y.

Die Zeiten x und y möchte ich variabel über zwei Potis einstellen.

MfG.
Aladin.

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dafür brauchst du aber keine 2 Timer.
1 Timer reicht dafür. Aber kannst du ja
machen wie du willst. Ist halt dann etwas mehr
Programmcode. Aber geht auch mit 2 Timer.
Wenn man noch keine Erfahrung mit Controller
programmieren hat, dann sollte man mit einem Timer
anfangen oder es zuerst einmal ohne Timer hin
bekommen.

von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
In welcher Sprache soll denn programmiert
werden ?

von Ludger T. (aladin)


Bewertung
0 lesenswert
nicht lesenswert
Ich werde das Programm in Assembler Programmieren.
Und es ist richtig es geht auch mit einem Timer und zwei Ereignisssen, 
wie W.S. geschrieben hat.
Auch nochmals vielen Dank an Gamma Ray, das ist sehr hilfreich  ein 
ungefährer Ablauf.
Spannung ein bedeutet natürlich, dass am PIC die Versorgungungsspannung 
von 5 V eingeschaltet wird.

MfG
Ludger Trenkler

von Witkatz :. (wit)


Bewertung
0 lesenswert
nicht lesenswert
Ludger T. schrieb:
> Ich werde das Programm in Assembler Programmieren.

Mit dem kostenlosen XC8 wäre das Programm in C schnell fertig. Eine 
Vorlage mit dem kompletten Zeitablauf habe ich dir ja schon erstellt.
Und jetzt wird's Assembler. Naja, mach's wie du es magst und kannst. Ich 
halte mich raus.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.