PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Zähler --> CControl --> LED



mathiasd
18.08.2004, 17:20
Achtung Anfänger....
Ich möchte Softwaremäßig einen Zähler an einem port legen und die Hi-Pegel (maximal 300) zählen, dieses möchte ich auf einem 16*2 LCD anzeigen lassen, dazu steht mir das Display und das Applicationboard der C-Control zur Verfügung. Kann mir evt. jemand weiterhelfen, wie gesagt ich bin da noch nicht so der experte.
bis denn

Matthias
18.08.2004, 18:03
Kannst du mir die Pinbelegung des LCDs geben ? Den rest hab ich schon fertig...

BlueNature
19.08.2004, 00:10
Hallo Matthias!

die Pinbelegung auf dem Application-Board ist wie folgt:



Define LCDPort BytePort[2] 'LC-Display Port
Define D4 Port[9] 'LCD D4 4-Bit (D0 / D4)
Define D5 Port[10] 'LCD D5 4-Bit (D1 / D5)
Define D6 Port[11] 'LCD D6 4-Bit (D2 / D6)
Define D7 Port[12] 'LCD D7 4-Bit (D3 / D7)
Define RW Port[13] 'LCD RW 0=Schreiben / 1=Lesen
Define RS Port[14] 'LCD RS 0=Befehl / 1=ASCII
Define EN Port[15] 'LCD E Datenübernahme (neg. Flanke)


Anbei noch ein Programm das ich noch geschrieben habe. Einfach einspielen und den Interrupt als Zähleingang verwenden. Der Zähler kann jetzt eben bis 999 zählen. Die maximale Impulsfrequenz ist auch ralativ hoch durch den Interrupt. Das LC-Display ist eben normal anzuschliessen das es geht. Nach einem Reset und Run ist der Zähler wieder aktiv und genullt.

Grüsse Wolfgang

RCO
19.08.2004, 13:35
Hi Wolgang,
wie Interrupt?
Wie aktivier ich den? Wie mach ich das?

MFG Moritz

Matthias
19.08.2004, 14:13
Den Intrrupt kannst du so wie jeden anderen port ansprechen (aber mit ner negativen Flanke). Bei der M-Unit ist er herausgeführt, bei den anderen muss man Tricksen...

RCO
19.08.2004, 14:34
Wie herausgeführt?
Ich besitze ne C-control I.
Wie sähe denn so ein Script-Ausschnitt aus, also z.B.,
wenn negative Flanke then gosub Programm1

MFg Moritz

Matthias
19.08.2004, 14:58
Die interruptrotine wird ausgeführt, sobald der interrupt-port auf masse gezogen ist.

RCO
19.08.2004, 17:12
Sorry, wenn ich so oft nachfrage, aber könntest du mir da irgendwie mal nen script schreiben?
Aus dem Script oben werd ich nicht schlau!
Da steht:

Interrupt Counter

Aber counter ist irgendwie garnicht definert, also kein port oder so.
Oder geht das über die S19-Datei?

BlueNature
20.08.2004, 00:19
Hallo Motitz!

Das mit dem Interrupt ist recht simpel. Da steht am Anfang Interrupt Counter. Das definiert deinen Interrupt das der bei eintritt einer negativen Flanke am Interrupt-Eingang das Unterprogramm #Counter ausführt bis Return Interrupt. Das passiert völlig unabhängig vom Programmablauf und unterbricht dein eigentliches Programm und macht seinen Job. Danach kehrt es zu seiner aktuellen Programmstelle zurück und macht eben weiter. Das bei jedem Interrupt.

Grüsse Wolfgang

RCO
23.08.2004, 11:18
Jaja, soweit klar, aber bei einer negativen Flanke an welchem Port wird der Interrupt angesprochen?
Das kann ich in dem Quelltext nciht erkennen.

Könntest du mir nicht nen par Zeilen Code schreiben?
Oder geht das ganze nur mit entsprechenden Sys-Dateien?
Bräucht nur sowas:

negative Flanke an Port 1 und dann goto Counter

MFg Moritz