Gast
#2259166
Hallo zusammen Ich habe mit Assembler und Atmel Mikrocontroller angefangen und bin noch ziemlicher Neuling. LED An/Aus, Taster einlesen und solche Dinge habe ich bereits gemacht und verstanden. Heute habe ich mich an PWM mittels Timer rangemacht. In dem Tutorial von euch verstand ich ziemlich schnell wie das mit dem Hardware PWM geht. Also musst auch das Software PWM einmal ausprobiert werden. Deshalb habe ich einmal das Software PWM mit 6 LEDs abgeschrieben (nicht kopiert) und hat auch auf anhieb funktioniert. Jedoch habe ich 3 Frgaen zum Assembler Code. Frage 1 Wieso kann man die Helligkeitswerte von ocr_1 bis ocr_6 nur von 0..127 einstellen? Es ist doch ein 8bit Timer? Frage 2 Beim Unterprogramm "WorkPWM" gibt es den Befehl ori Dieser Befehl verknüpft mittels logisch ODER den Wert mit dem Register, aber was hat der Wert $01 im Code für einen Zweck? Frage 3 Ich habe den Code komplett abgeschrieben und mit mehr Komentaren verschönert. Könnt Ihr kurz einen Blick auf diese werfen und mir sagen ob es i O ist? Ich programmiere mit dem AVR Studio 4 und dem STK500. Der Mikrocontroller ist ein Atmega 8 mit 4MHz internem Takt. Als Anhang habe ich den Assembler Code als Text File. Kann aber auch asp File nachreichen. Danke für eure Hilfe