![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
' ============================================================================ ' Alle 16 Analog-Digital-Eingänge der Open-Maxi nutzen ' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 12. Januar 2019 ' ============================================================================ ' Dieses Beispielprogramm demonstriert, wie alle 16 Analog-Digital-Eingänge ' der Open-Maxi konfiguriert und verwendet werden können. Die zusätzlichen ' Analog-Digital-Eingänge AD[9] bis AD[16] liegen an den gleichen Ports wie ' PORT[9] bis PORT[16]. ' Die AD-Ports liegen bei der Open-Maxi genauso wie bei der C-Control I ' Version 1.1 standardmäßig in der Luft, was ungünstig ist. Wenn der Anwender ' nicht alle AD-Ports benötigt, sollte er die nicht verwendeten auf festes ' Potential legen. Sie können zum Beispiel auf I/O-Port-Funktion umgeschaltet ' und die internen Pull-Up-Widerstände aktiviert werden. ' Siehe auch Kapitel 14 "Analog-to-Digital Converter (S08ADC10V1)" im ' Data Sheet zum MC9S08AW60-Mikrocontroller: ' https://www.nxp.com/docs/en/data-sheet/MC9S08AW60.pdf ' --- Definitionen für das System -------------------------------------------- INCLUDE "omax.def" 'Definitionen für die Open-Maxi ' --- Das Hauptprogramm ------------------------------------------------------ ' Die AD-Ports liefern standardmäßig gerundete 8-Bit-Werte zwischen 0 und 255 ' zurück, was den Spannungswerten 0 Volt bis 5 Volt entspricht. Mit folgendem ' Befehl wird auf gerundete 10 Bit umgeschaltet. ADC1CFG=&b01001000 'AD-Wandler auf gerundete 10 Bit ' Mit Hilfe der beiden Pin-Steuerregister APCTL1 und APCTL2 wird die I/O- ' Portsteuerung aktiviert oder deaktiviert. Wenn das entsprechende Bit eines ' Ports gesetzt ist, wird die I/O-Portsteuerung an diesem Port deaktiviert ' und der Port als Analog-Digital-Eingang konfiguriert. ' 76543210 APCTL2 =&b11111111 'Pin Control 2 Register (APCTL2) - für AD[1] bis AD[8] APCTL1 =&b11111111 'Pin Control 1 Register (APCTL1) - für AD[9] bis AD[16] ' Mittels der Steuerregister PTBPE und PTDPE wird bestimmt, ob der interne ' Pullup-Widerstand am zugehörigen I/O-Port aktiviert oder deaktiviert ist. ' Für die als Ausgänge konfigurierten I/O-Pins haben diese Bits keine Wirkung ' und die internen Pullup-Widerstände sind deaktiviert. Ebenso sind sie ' deaktiviert, wenn mittels APCTL1 und/oder APCTL2 die I/O-Portsteuerung ' deaktiviert wurde. ' 76543210 POKE PTDPE,&b11111111 'Internal Pullup Enable for Port D (PTDPE) - für AD[1] bis AD[8] POKE PTBPE,&b11111111 'Internal Pullup Enable for Port B (PTBPE) - für AD[9] bis AD[16] WHILE TRUE PRINT "AD[1]=";ad0 'AD-Ports liefern Werte zwischen 0 und 1023 PRINT "AD[2]=";ad1 PRINT "AD[3]=";ad2 PRINT "AD[4]=";ad3 PRINT "AD[5]=";ad4 PRINT "AD[6]=";ad5 PRINT "AD[7]=";ad6 PRINT "AD[8]=";ad7 PRINT "AD[9]=";ad8 PRINT "AD[10]=";ad9 PRINT "AD[11]=";ad10 PRINT "AD[12]=";ad11 PRINT "AD[13]=";ad12 PRINT "AD[14]=";ad13 PRINT "AD[15]=";ad14 PRINT "AD[16]=";ad15 PAUSE 25 WEND End2Host=ON 'Nach Programmende in den Host-Modus END 'Programmende, Neustart mit der Enter-Taste ' --- Programmende ---------------------------------------------------------- Passender Link: Bedienungsanleitung zur Open-Macro und Open-Maxi Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |