![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
ZunĂ€chst oute ich mich mal als Neuling in der Programmierung. Nach einem kleinen AnfĂ€ngerprojekt, was auch tatsĂ€chlich funktioniert, wende ich mich nun einer etwas schwierigeren Aufgabe zu, die ich aber momentan noch nicht so ganz stemme. Also: Es soll eine mittels zweier Tasten zu bedienende Steuerung einer PWM werden, die den jeweiligen Zustand durch LEDs signalisiert. Um ganz genau zu sein, sollen die LEDs nur fĂŒr den Moment der BetĂ€tigung fĂŒr zwei Sekunden aktiv sein. Auch die Anfangs- und End-LEDs, die mit geringer Helligkeit leuchten sollen (extern hergestellt) sollen dann nach einem gewissen Zeit dunkelgeschaltet werden. Das habe ich momentan noch nicht im Ablauf fertig eingebaut, ist aber schon definiert. Die dahinter liegende PWM soll natĂŒrlich weiter laufen. Mir geht es jetzt erst einmal darum, ob die Version mit der LED-Steuerung so funktionieren wĂŒrde. Die beiden Tasten sollen unabhĂ€ngig voneinander jeweils einen Schritt rauf oder runter bewerkstelligen. Was mir nicht klar ist, dass wenn beispielsweise der Taster "rauf" 9 mal gedrĂŒckt wird, zĂ€hlt doch vermutlich der ZĂ€hler weiter hoch. Wie kann man den ZĂ€hlumfang eingrenzen? Ebenso beim runterzĂ€hlen, wie kann man den kleiner Null- Bereich verhindern (negativer Bereich geht ja wohl nicht und mĂŒĂte von daher erledigt sein- nach dem Motto aus ist aus, ausser geht nicht ;-) ) Könnte das bitte mal jemand begutachten und mir hilfreich Hinweise geben? Der Ausgang blank soll einen Transistor steuern, der die beiden Endlagen-LEDs mit geringer Helligkeit leuchten lĂ€Ăt - oder nach Ablauf eine Haltezeit eben auch nicht. Die Einbindung bzw. Umsetzung des PWM wird dann der nĂ€chste Schritt. Da muss ich noch eine Menge lesen. Aber ich denke, die Steuerung ist zunĂ€chst der wichtigere Teil. define seriell port [1] ' serielle Schnittstelle define Led1 port [2] define Led2 port [4] define Led3 port [5] define Led4 port [6] define Led5 port [9] ' Die Open-Mini besitzt wie die Open-Micro define Led6 port [10] ' den PORTA und zusaetzlich den PORTB. define Led7 port [11] define Led8 port [12] define Taste1 port [13] ' Taste rauf define Taste2 port [14] ' Taste runter define PWM port DA[15] ' PWM-Ausgang pwm = 128 define blank port [16] ' zum dunkelsteuern der LEDs ' Die Pinbelegung der ' Open-Mini (QY4) ' _____ _____ ' | \__/ | ' [ VDD GND ] VDD = 4.6 bis 5.5 Volt ' | | ' [ PTB7 PTB0 ] ' | | ' [ PTB6 PTB1 ] ' | | ' [ PTA5 PTA0 ] ' | | ' [ PTA4 PTA1 ] ' | | ' [ PTB5 PTB2 ] ' | | ' [ PTB4 PTB3 ] ' | | ' [ PTA3 PTA2 ] <--- host/run ' |______________| ' define a Byte[1] a = 0 define allleds_a byteport[1] define allleds_b byteport[2] allleds_a = 0 ' alle LEDs an Ports A aus allleds_b = 0 ' alle LEDs an Ports B aus #start if Taste1 and Taste2 then goto start ' wenn keine Taste betĂ€tigt wird, dann zum start if Taste1 = (not Taste1) then rauf ' Taste rauf erhöht ZĂ€hler um 1 if Taste2 = (not Taste2) then runter ' Taste runter verringert ZĂ€hler um 1 goto start #rauf pause 2 ' Schalterentprellung if (not Taste1) then goto rauf ' wenn der Taster betĂ€tigt wird, dann zum rauf a = a + 1 goto anzeige #runter pause 2 ' Schalterentprellung if (not Taste2) then goto runter ' wenn der Taster betĂ€tigt wird, dann zum runter a = a - 1 goto anzeige #anzeige if a = 1 then led1 = on if a = 2 then led2 = on if a = 3 then led3 = on if a = 4 then led4 = on if a = 5 then led5 = on if a = 6 then led6 = on if a = 7 then led7 = on if a = 8 then led8 = on goto start mit bestem Dank Andreas |
Antwort schreiben |