HAllo , ich versuche nun schon einige zeit ein EA_DIP204 von Electronic Assembly zum laufen zu bringen. Bei dem im Anhang bei gefügten Programm handelt es sich lediglich um Die Initialisierung des Displays, da es nämlich hier schon hebt. Meiner Meinung nach ist das Programm Korrekt aber ich messe am Display Mit angeschlossener Betriebsspannung sowie angeschlossener Kontrastspannung und Hintergrundbeleuchtung an den Daten und Steuer Pins jeweils ungefähr 3V. Diese tatsache ist für mich sehr iritierend. Könnte mir hierzu jemand Hilfestellung leisten. Ich habe bereits probiert das Display mit einer Treiberstufe bestehend aus IRLU3410 zu betreiben hat aber auch keine auswirkungen auf die Funktion gebracht Danke im Vorraus
Hallo, du springst mit einem RJMP in deine Unterprogramme und beendest dieses mit einem RETI, ändere das mal um in RET. Es grüsst, Arno
Hallo Arno, aber wenn ich die Reti in Ret ändere wird nur der erste Interrupt des Timers ausgeführt und danach passiert nichts mehr da er den Intterrupt ja nie verlassen hat. Oder Stehe ich nur auf dem Schaluch ?
Hallo, ja du hast Recht, da hatte ich etwas übersehen. Ich habe festgestellt, das nicht zum Timer_0 Interrupt gesprungen wurde, sondern zum Timer_1 Interrupt. Warum weiß ich leider auch nicht, ich habe mal etwas geändert und in der Simulation lief es dann. Ich habe den Ausschnitt mal hier rein kopiert. Es würde mich nur mal interessieren, warum da falsch gesprungen wurde, vielleicht weiß ja jemand anderer warum das so war. .org $0000 rjmp RESET_MC ; ***** INTERRUPT VECTORS *********************** .org $0009 ; Timer/Counter0 Overflow rjmp Timer0 ; Timer/Counter0 Overflow Reset_MC: ldi Temp0, Low(RAMEND) ; Load Low Ramend in Temp0 out SPL, Temp0 ; Set Low Stack Pointer with Temp0 ldi Temp0, High(RAMEND) ; Load High Ramend in Temp0 out SPH, Temp0 ; Set High Stack Pointer with Temp0 ser Temp0 ; Set Register TEmp0 out DDRC, Temp0 ; PortC configurated as Output ldi Temp0, (1<<DDD7)|(1<<DDD6)|(1<<DDD5); Load Config. for PortD out DDRD, Temp0 ; PortD5,6,7 configurated as Outputs ldi CHK, 0 ldi T0, T0_Start ; Load Startvalue of Timer1 in "T0" ldi Temp0, 0b00000000 ; out PortC, Temp0 ; Switch all Data Ports of Display to Low Level ( Inverted ) ldi Temp0, (1<<RS)|(0<<RW)|(0<<E); out PortD, Temp0 ; Initalise Command POrts of Display ;Init_T0 ldi Temp0, 0b00000010 out TIMSK, Temp0 ; Timer0 Overflow Interrupt enable ldi T0CNT, LoopsT0 ; Load Loops Value in "T0CNT" ldi Temp0, 0b000000101 ; LOad Prescaler Config. out TCCR0, Temp0 ; Set Prescaler Configuration in TIMER1 ( CLK/1024 ) out TCNT0, T0 ; Set Start VAlue of T0 and Start T0 sei Main: rjmp Main
Hi In der Simulation lief es bei mir auch es läuft auf dem Mikrocontroller auch aber auf dem Display wird mein Cursor nicht angezeigt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.