alex0801
10.08.2004, 20:15
HI@all,
hab mir mal ne Designfrage zu nem PIC16F84:
Ich verwende als Sprache cc5x (www.cc5x.de.vu) die mir sehr gelegen kommt da ich da nicht arg umlernen brauche und auch kein ASM lernen muss.
Ich will mit dem PIC ein 8x2 LCD Display (ja, das _muss_ so klein sein) ansteuern was ja auch recht gut klappt. Desweiteren brauch ich mehrere Eingänge.
Die Pinbelegung sieht bis jetzt wie folgt aus:
* Pinbenutzung:
* PIN| TYP | Verwendung
* ---+-------------+--------------------------
* 1 | RA2 |
* 2 | RA3 |
* 3 | RA4 / T0CKL |
* 4 | /MCLR |
* 5 | VSS |
* 6 | RB0 / Int | Bit0 LCD Register Select
* 7 | RB1 |
* 8 | RB2 |
* 9 | RB3 | Bit3 LCD Enalbe
* 10 | RB4 | Bit4 LCD Data
* 11 | RB5 | Bit5 LCD Data
* 12 | RB6 | Bit6 LCD Data
* 13 | RB7 | Bit7 LCD Data
* 14 | VDD |
* 15 | OSC2 | Quarz
* 16 | OSC1 | Quarz
* 17 | RA0 |
* 18 | RA1 |
Ich würd gern noch weitere 2-3 Tasten zur Bedienung anschließen. Desweiteren brauche ich einen Eingang für einen Durchflussmesser (liefert pro definierter Menge einen Impuls via Hall-Sensor),
einen Raddrehzahlsensor (ebenfalls Halleffekt weil wartungsfrei) und
einen Temparaturfühler für die Öltemperatur.
Das ganze soll ein Mini-Bordcomputer für's Motorrad geben und ich frag mich grad was am sinnvollsten vom anschließen her ist und wie ich das mit dem Interrupt mache.
Das Register-Select des Displays lässt sich sicher umlegen auf was anderes (muss mal die File zum ansteuern des LCDs angucken) damit der Pin frei wird.
Nur wie und was mach ich mit dem Interrupt. Programmieren kann ich, nur hab ich bisher noch nix mit Interrupts direkt zu tun gehabt.
Soll ich alle Taster und Eingänge mit dem Interrupt-Pin koppeln oder in einer Endlosschleife die EIngänge abfragen oder wie bewerkstellige ich das am besten?
Meine zweite Frage wäre folgende:
Was schlagt ihr bzgl. der Temperaturmessung vor ? Was ist am einfachsten und zuverlässigsten ? Muss nicht supergenau sein, darf auch +-5°C abweichung haben, so genau brauch ichs nicht. Ach ja: Messbereich bis ca. 100°C, nach unten ... hmm, sagen wir ab 0-10°C ....
Dritte Frage:
Meint ihr ein PIC16F84 ist überfordert mit Raddrehzahlerfassung und der Berechnung der Geschwindigkeit ? Will zusammen mit dem Durchflussmesser eine Durchschnittsverbrauchsanzeige mit realisieren...Der PIC muss unter Umständen also ganz schön rechnen.
Raddrehzahlmessen mach ich doch am besten über den Timer mit externem Input, oder ? Dann muss ich auch RB4 umverlegen ?!
Und gleichzeitig die Impulse des Durchflussmessers zählen... hmm, die dann wohl über Interrupt an RB0 ...
Naja, wär klasse wenn ihr mit da n paar Anregungen geben könntet.
Will nicht unbedingt nen größeren PIC nehmen da ich mir dann erst wieder n Experimentierboard und nen Programmer bauen darf. Prinzipiell ist mir die Tankuhrfunktion am wichtigsten. Wenn der Rest zu viel wird kann ich auch was weglassen.
KOmm ich evtl mit dem PIC16F628 weiter ? Den kann ich mit meinem Programmer auch noch beschreiben...
Danke,
- Alex
hab mir mal ne Designfrage zu nem PIC16F84:
Ich verwende als Sprache cc5x (www.cc5x.de.vu) die mir sehr gelegen kommt da ich da nicht arg umlernen brauche und auch kein ASM lernen muss.
Ich will mit dem PIC ein 8x2 LCD Display (ja, das _muss_ so klein sein) ansteuern was ja auch recht gut klappt. Desweiteren brauch ich mehrere Eingänge.
Die Pinbelegung sieht bis jetzt wie folgt aus:
* Pinbenutzung:
* PIN| TYP | Verwendung
* ---+-------------+--------------------------
* 1 | RA2 |
* 2 | RA3 |
* 3 | RA4 / T0CKL |
* 4 | /MCLR |
* 5 | VSS |
* 6 | RB0 / Int | Bit0 LCD Register Select
* 7 | RB1 |
* 8 | RB2 |
* 9 | RB3 | Bit3 LCD Enalbe
* 10 | RB4 | Bit4 LCD Data
* 11 | RB5 | Bit5 LCD Data
* 12 | RB6 | Bit6 LCD Data
* 13 | RB7 | Bit7 LCD Data
* 14 | VDD |
* 15 | OSC2 | Quarz
* 16 | OSC1 | Quarz
* 17 | RA0 |
* 18 | RA1 |
Ich würd gern noch weitere 2-3 Tasten zur Bedienung anschließen. Desweiteren brauche ich einen Eingang für einen Durchflussmesser (liefert pro definierter Menge einen Impuls via Hall-Sensor),
einen Raddrehzahlsensor (ebenfalls Halleffekt weil wartungsfrei) und
einen Temparaturfühler für die Öltemperatur.
Das ganze soll ein Mini-Bordcomputer für's Motorrad geben und ich frag mich grad was am sinnvollsten vom anschließen her ist und wie ich das mit dem Interrupt mache.
Das Register-Select des Displays lässt sich sicher umlegen auf was anderes (muss mal die File zum ansteuern des LCDs angucken) damit der Pin frei wird.
Nur wie und was mach ich mit dem Interrupt. Programmieren kann ich, nur hab ich bisher noch nix mit Interrupts direkt zu tun gehabt.
Soll ich alle Taster und Eingänge mit dem Interrupt-Pin koppeln oder in einer Endlosschleife die EIngänge abfragen oder wie bewerkstellige ich das am besten?
Meine zweite Frage wäre folgende:
Was schlagt ihr bzgl. der Temperaturmessung vor ? Was ist am einfachsten und zuverlässigsten ? Muss nicht supergenau sein, darf auch +-5°C abweichung haben, so genau brauch ichs nicht. Ach ja: Messbereich bis ca. 100°C, nach unten ... hmm, sagen wir ab 0-10°C ....
Dritte Frage:
Meint ihr ein PIC16F84 ist überfordert mit Raddrehzahlerfassung und der Berechnung der Geschwindigkeit ? Will zusammen mit dem Durchflussmesser eine Durchschnittsverbrauchsanzeige mit realisieren...Der PIC muss unter Umständen also ganz schön rechnen.
Raddrehzahlmessen mach ich doch am besten über den Timer mit externem Input, oder ? Dann muss ich auch RB4 umverlegen ?!
Und gleichzeitig die Impulse des Durchflussmessers zählen... hmm, die dann wohl über Interrupt an RB0 ...
Naja, wär klasse wenn ihr mit da n paar Anregungen geben könntet.
Will nicht unbedingt nen größeren PIC nehmen da ich mir dann erst wieder n Experimentierboard und nen Programmer bauen darf. Prinzipiell ist mir die Tankuhrfunktion am wichtigsten. Wenn der Rest zu viel wird kann ich auch was weglassen.
KOmm ich evtl mit dem PIC16F628 weiter ? Den kann ich mit meinem Programmer auch noch beschreiben...
Danke,
- Alex