Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Demoprogramm: Portzugriffe für Einsteiger erklärt I Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 16.01.2024 22:14)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo zusammen,

das folgende Beispielprogramm ist fĂŒr die beiden OM-Controller Open-Maxi und Open-Macro. Beide Controller sind bei CC-Tools erhĂ€ltlich. Dort gibt es auch das Open-Micro/Open-Mini-StarterBoard Rev 1.1 fĂŒr die Open-Macro.

Die Digitalports der Controller sind intern beschaltet wie im folgenden Bild dargestellt. Die Schaltung gibt die VerhÀltnisse ohne die internen Pull-Up-WiderstÀnde wieder.






' ===========================================================================
' Demoprogramm: Portzugriffe fĂŒr Einsteiger erklĂ€rt I
' In OCBASIC 1.11 fĂŒr Open-Macro und Open-Maxi am 16. Januar 2024
' ===========================================================================

' In diesem Beispielprogramm werden die Digitalports, auch Bitports genannt, erklÀrt.

' Es wird beschrieben, wie die Ports in OCBASIC mit Hilfe der Zuweisungen
' OFF und ON und der Befehle TOG, PULSE und DEACT angesprochen werden können.

' Dieses Programm ist fĂŒr die Mikrocontroller Open-Maxi und Open-Macro.

' Zum komfortablen Entwickeln gibt es fĂŒr die Open Macro bei http://cctools.eu/
' das "Open-Micro/Open-Mini-StarterBoard Rev 1.1".

' --- Definitionen ----------------------------------------------------------

'INCLUDE "omac.def"               'Definitionen fĂŒr Open-Macro
INCLUDE "omax.def"               'Definitionen fĂŒr Open-Maxi

' Der folgende Befehl definiert einen Digitalport.
' Der Port kann generell den Zustand 0 (OFF, 0 Volt, GND, Low-Potential) oder
' -1 (ON, 5 Volt, VDD, High-Potential) annehmen.

DEFINE port2 PORT[2]             'Einen Digitalport definieren

' --- Hauptprogramm ---------------------------------------------------------

PrintSpc=ON    'Bei PRINT dezimale Zahlen mit fĂŒhrendem Leerzeichen ausgeben
End2Host=ON    'Bei Programmende (siehe END) gleich in den Host-Modus wechseln

PRINT
PRINT "Demoprogramm: Portzugriffe fĂŒr Einsteiger erklĂ€rt I"
PRINT "==================================================="

' --- Digitalport als Eingabeport -------------------------------------------

' Bei Programmstart nach einem Reset sind alle Digitalports auf Eingang
' geschaltet. StandardmĂ€ĂŸig werden die Ports dann durch Pull-Up-WiderstĂ€nde,
' die sich im Controller befinden, auf High-Potential gelegt.

' Mit dem folgenden Befehl wird geprĂŒft, ob der auf Eingabe geschaltete
' Digitalport namens port2 High-Potential hat. In AbhÀngigkeit dieses
' Portzustands werden dann mittels PRINT-Befehl Strings ausgegeben.

' Die PRINT-Befehle geben die Strings auf der Seriellen Schnittstelle aus.
' Mittels Terminal32.EXE-Programm können sie mit dem PC empfangen werden.

IF port2=ON THEN       'Wenn port2 gleich ON ist, dann fĂŒhre das 1. PRINT aus
  PRINT "Der Eingangsport ist HIGH"
ELSE                   'Ansonsten fĂŒhre das 2. PRINT aus
  PRINT "Der Eingangsport ist LOW"
END IF

' Open-Macro: Die Pull-Up-WiderstÀnde lassen sich bei Bedarf durch PULLUPA
' und PULLUPB abschalten, wodurch die Digitalports sehr hochohmig werden.

' Open-Maxi: Die Pull-Up-WiderstÀnde lassen sich durch PTAPE, PTBPE und
' PTEPE abschalten, wodurch die Digitalports sehr hochohmig werden.

' GrundsÀtzlich wird der Pull-Up-Widerstand an einem Port vom Controller
' automatisch deaktiviert, solange der entsprechende Port kein auf Eingang
' geschalteter Digitalport ist.

' --- Digitalport als Ausgabeport -------------------------------------------

' Sobald der Anwender dem Digitalport einen Wert zuweist, ist dieser auf
' Ausgang geschaltet und wird vom Controller niederohmig auf 0 Volt oder
' 5 Volt gelegt ("Push/Pull").

port2=OFF      'Port auf Ausgabe schalten. Der Port hat dann Low-Potential

PAUSE 25       'Eine halbe Sekunde Pause

port2=ON       'Port auf Ausgabe schalten. Der Port hat dann High-Potential

PAUSE 25       'Eine halbe Sekunde Pause

' Open-Macro: Die Ports sind in der "Push/Pull"-Betriebsart in der Lage,
' relativ hohe Ströme zu liefern, bzw. nach Masse abzuleiten. Laut Datenblatt
' dĂŒrfen es kurzzeitig maximal 15 mA an PORT[9] bis PORT[16] und sogar 25 mA
' an PORT[1] bis PORT[6] sein. Im sicheren Bereich arbeitet man aber nur,
' wenn die Summe der Ströme an allen Ports auf 50 mA beschrÀnkt ist.

' --- Umschalten eines Ausgabedigitalports ----------------------------------

' Umschalten eines Digitalports. Der Port muß vorher wenigstens einmal
' mittels "port = ON" oder "port = OFF" aktiviert werden.

TOG port2      'Schalte den Ausgabedigitalport um

' --- Puls an einem Ausgabedigitalport ausgeben -----------------------------

' Ausgabe eines Pulses an einem Digitalport. Der Port muß vorher wenigstens
' einmal mittels "port = ON" oder "port = OFF" aktiviert worden sein und wird
' durch PULSE zweimal geTOGgelt. Die Pulsbreite betrÀgt auf der Open-Macro
' mindestens 4 ”s und auf der Open-Maxi 10 ”s.

PULSE port2    'Gebe einen Puls an einem Ausgabedigitalport aus

' --- Ausgabeport wieder auf Eingang schalten -------------------------------

' Mit dem Befehl DEACT wird ein Port, der vorher als Ausgang benutzt wurde,
' wieder auf Eingang geschaltet, also in den hochohmigen Anfangszustand
' versetzt. Die Pull-Up-WiderstÀnde im Controller sind dann wieder aktiv,
' sofern sie nicht vom Anwender abgeschaltet wurden.

DEACT port2    'Ausgabeport wieder auf Eingang schalten

?:?"Programmende."
END            'ZurĂŒck in den Hostmodus. Neustart mit RETURN-Taste.

' --- Programmende ---------------------------------------------------------





Viel Spaß und Erfolg mit den OM-Mikrocontrollern!

Dietmar

Passender Link: Bedienungsanleitung zur Open-Macro und Open-Maxi

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

So kryptisch geht es bei den AVR Mikrocontrollern! (von Christian - 10.02.2024 17:20)
    Re: So kryptisch geht es bei den AVR Mikrocontrollern! (von Dietmar - 10.02.2024 17:58)
Re: Demoprogramm: Portzugriffe für Einsteiger erklärt I (von Christian - 20.01.2024 19:19)