Gast
#4658617
Hey leute bräuchte mal eure Hilfe muss ein paar Pogramme für den ATMEGA 32 schreiben gibt es jemanden im Raum Frankfurt am Main der mir helfen kann natürlich mit Entschädigung **
|
Anzeige
|
Pogrammierer für den MCT ATMEGA32 gesucht RAUM FFM
Gast
#4658617
Hey leute bräuchte mal eure Hilfe muss ein paar Pogramme für den ATMEGA 32 schreiben gibt es jemanden im Raum Frankfurt am Main der mir helfen kann natürlich mit Entschädigung **
Gast
#4658630
Wie wäre es mal mit ein paar Details?
Gast
#4658635
ich müsste so paar pogramme schreiben wie Schreiben Sie C-Programme für den ATmega 32 (fcpu = 16 MHz), das einen Infraschallton von 5 Hz erzeugt. Der Lautsprecher sei mit Pin PD5 verbunden. Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) ohne Interrupt. Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) mit Interrupt. Verwenden Sie Timer 1 im CTC -Mode mit ICR1 als CCR - Register. Verwenden Sie Timer 1 im CTC - Mode mit OCR1A als CCR - Register. Verwenden Sie Timer 1 im Fast - PWM - Mode. MCTatmega schrieb: > Schreiben Sie C-Programme Also Hausaufgaben Hilfe.
Gast
#4658671
genau müsste es halt auch verstehen was da genau abläuft MCTatmega schrieb: > Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) ohne Interrupt. Prescaler auf 8, in main() TCNT1 auf >= 20000 prüfen, falls ja, TCNT1 = 0, Toggle Pin. > Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) mit Interrupt. IntCnt = 0, Prescaler auf 1, beim zweiten OVFLW_INT TCNT1 auf 36607 stellen, beim nächsten OVFLW_INT Toggle Pin und IntCnt = 0. > Verwenden Sie Timer 1 im CTC -Mode mit ICR1 als CCR - Register. Prescaler auf 8, Timer 1 MODE auf 12 stellen, ICR1 auf 19999 stellen, beim INT Toggle Pin. > Verwenden Sie Timer 1 im CTC - Mode mit OCR1A als CCR - Register. Prescaler auf 8, Timer 1 MODE auf 4 stellen, OCR1A auf 19999 stellen, beim INT Toggle Pin. > Verwenden Sie Timer 1 im Fast - PWM - Mode. Mindestens eine Aufgabe solltest du alleine machen. ;)
Gast
#4658704
Hey Vielen Dank für die Hilfe ich gib mir mühe :D MCTatmega schrieb: > Hey > Vielen Dank für die Hilfe > ich Ooops. Ich habe die ganze Zeit mit 50Hz, anstatt mit 5Hz gerechnet. Kommst du trotzdem klar mit der Aufgabe ?
Gast
#4658786
es gehhhht kanst du mal bitte eine Aufgabe mit Kommentaren an der Seite lösen was genau welcher befehl ausführt MCTatmega schrieb: > kanst du mal bitte eine Aufgabe mit Kommentaren an der Seite lösen was > genau welcher befehl ausführt Ich versuch's mal: Zuerst muss man auf 100ms kommen, weil 5Hz = 200ms = alle 100ms LED toggeln, OK ? > Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) ohne Interrupt. Das einzige, was man hier machen kann, da ohne Interrupt, ist den TCNT1 standig im Loop zu prufen. Ist nicht auf us genau, aber bei 5Hz... Also: Prescaler auf 64 = 16MHz / 64 = 250KHz = 4us. 100000us / 4us = 25000. Demzufolge: Prescaler auf 64, in main() TCNT1 auf >= 25000 prüfen, falls ja, TCNT1 = 0, Toggle Pin. > Verwenden Sie Timer 1 im Überlauf - Mode (Normal - Mode) mit Interrupt. Hier gilt es: Prescaler auf 8 = 16MHz / 8 = 2MHz = 0.5us Überlauf = 65536 * 0.5 = 32768us 3 * 32768 = 98304us, 100000 - 98304 = 1696us Fehlen 1696us, also wird beim dritten OVRFLW_INT TCNT1 auf 65536 - (1696*2) - 1 gestelt, das ergibt 63839. Demzufolge: In der ISR eine static variable deklarieren:
Prescaler auf 8, bei jedem ISR Eintritt IntCnt erhohen, beim dritten OVFLW_INT TCNT1 auf 63389 stellen, beim nächsten OVFLW_INT Toggle Pin und IntCnt wieder auf Null stellen. > Verwenden Sie Timer 1 im CTC -Mode mit ICR1 als CCR - Register. Das ist einfach: Prescaler auf 64 = 16MHz / 64 = 250KHz = 4us. 100000us / 4us = 25000. Demzufolge: Timer 1 auf MODE 12 stellen, ICR1 auf 24999 stellen, Toggle Pin in der ISR. > Verwenden Sie Timer 1 im CTC - Mode mit OCR1A als CCR - Register. Das ist auch einfach: Prescaler auf 64 = 16MHz / 64 = 250KHz = 4us. 100000us / 4us = 25000. Demzufolge: Timer 1 auf MODE 4 stellen, OCR1A auf 24999 stellen, Toggle Pin in der ISR. > Verwenden Sie Timer 1 im Fast - PWM - Mode. Mindestens eine Aufgabe solltest du alleine machen. ;)
Gast
#4659943
Suuuuuper habs gerafft Vielen Dank Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|