Hi Mike,
hier ist mein kleines Listing: Es fragt PinB.3 ab, der normalerweise über den PullUp auf 1 steht. Wird er vom Taster auf 0 gezogen, soll der Timer 1 starten (Prescale = 8 ), und über den regelmäßigen Interrupt einen Ton an B.4 erzeugen.
Code:
$regfile = "ATTiny45.dat"
$crystal = 1000000
Ddrb.4 = 1 'PortB.4 steuert Lautsprecher an
Ddrb.3 = 0 'PortB.3 fragt Taster ab...
Portb.3 = 1 '...über ´nen PullUp.
Config Timer1 = Timer
Enable Timer1
Enable Interrupts
On Timer1 Ton
Do
If Pinb.3 = 0 Then Tccr1 = 3 Else Tccr1 = 0 'Timer 1 starten, wenn Taster gedrückt
Loop
Ton:
Toggle Portb.4 'Ton-Erzeugung über Timer-Overflow.
Return
Bei mir zählt der Timer aber schon mal garnicht los, auch wenn TCCR1=3. Das lässt mich natürlich daran zweifeln, wie realistisch diese Vorführung ist...
Lesezeichen