Forum: Mikrocontroller und Digitale Elektronik Ampel mit ATtiny12 (Source)


von Daniel J. (Gast)


Angehängte Dateien:

Lesenswert?

Das meine Schaltung funktioniert, weiß ich dank den Leuten hier im Forum 
jetzt, aber wie siehts mit dem Source-Code aus?

Kann mir jemand sagen ob das mit einem ATtiny12 so funktioniert?
(der kleine hat ja leider so seine Besonderheiten)

Und: Hat der ATtiny12 einern internen Quarz / Oszillator?
1
$regfile = "attiny12.dat"
2
$crystal = 100000011
3
$noramclear
4
$tiny
5
$swstack = 0
6
$framesize = 0
7
8
Config Portb.0 = Output                                     ' Rot
9
Config Portb.1 = Output                                     ' Gelb
10
Config Portb.2 = Output                                     ' Grün
11
12
Do
13
   Set Portb.0     ' Rot an
14
   Waitms 5000     ' 5 Sek. warten
15
   Set Portb.1     ' Gelb an
16
   Waitms 2000     ' 2 Sek. warten
17
   Reset Portb.0   ' Rot aus
18
   Reset Portb.1   ' Gelb aus
19
   Set Portb.2     ' Grün an
20
   Waitms 5000     ' 5 Sek. warten
21
   Reset Portb.2   ' Grün aus
22
   Set Portb.1     ' Gelb an
23
   Waitms 2000     ' 2 Sek. warten
24
   Reset Portb.1   ' Gelb aus
25
Loop
26
End

von Daniel J. (Gast)


Lesenswert?

Daniel J. schrieb:
> $crystal = 100000011

Tippfehler! ;-)

von Samuel C. (dragonsam)


Lesenswert?

Der Code müsste funktionieren.

von David .. (david1)


Lesenswert?

Zum code, erstens kannst du den Ausgängen/Eingangen Alias'se zuweisen.

Z.B.:
Rot Alias Portb.0

Auserdem kannst du das Set weglassen und einfach nur Portb.0 = 1 bzw Rot 
= 1 schreiben.

Und anstatt waitms 5000 geht auch wait 5 ;)


Gruss
David

von Daniel J. (Gast)


Lesenswert?

Gut, die ganzen Sachen waren mir zwar bekannt, aber hatte mich irgendwie 
daran gewöhnt - mir gings mehr darum, ob man überhaupt (ohne SRAM?!) so 
ein Programm für den Controller schreiben kann - man darf ja zum 
Beispiel nur über iram dimensionieren.

Danke euch!

von mkeller (Gast)


Lesenswert?

Wo ist das Problem? Wozu brauchst du denn SRAM bei diesem Beispiel? Du 
hast ja immerhin 32 Arbeitsregister, für eine Ampel sollte das reichen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.