www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S52 Alle Register auf Null vor Start?


Autor: Oliver D. (highspeed-oliver)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mal kurz ne frage. Ich habe hier ein Programm das per Interrupt Routine, 
ausgelöst durch Timer0, LEDs blinken lässt an SFR 0x80 also Port 0.

Nun habe ich mir ein Programm geschrieben, welches ebenfalls per Timer 0 
an Port 3 4 7 Segment anzeigen Per multiplexing und 7447 betreibt.

Das komische ist, es laufen beide Programme gleichzeitig.
Das Programm mit den LEDs habe ich vorhin drauf geladen.

Kurz danach ein komplett neues mit den 7 Segments.
Ich habe den PC mehrfach neu gestartet und in Ride und Keil neue 
Projekte angelegt.

Auch am anderen PC das gleiche Problem.
Kann es vielleicht sein, das mit dem neuen Programm die alten Register 
nicht überschrieben werden und das alte Programm quasi noch mitläuft, 
weils im Speicher ist?

Gibts eine möglich kein ein "NULL" Programm aufzuspielen, welches alle 
Register auf Werkseinstellung setzt um nicht mehr so ein programm 
gemansche zu bekommen?!?

Gerade bin ich ein wenig verwirrt deswegen ;)

Danke.

Autor: jack (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die SFRs haben beim Reset bestimmte Werte (z.B. Port2 0xFF), die im
DB stehen. Das SRAM, und damit alle Register, sind nach dem Reset
unbestimmt, d.h. sie können alles mögliche enthalten.
Dafür ist die Initalisierung in Deinem Programm zuständig.

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Normalerweise sollte beim Neuflashen der alte Inhalt gelöscht werden. 
Poste mal Dein Programm. Bei Keil gibt es eine "Startup.a51", wo man 
einige Sache zur Initialisierung des Speicheres einstellen kann, dürfte 
aber nicht das Problem lösen. Die RESET-Werte der SFR kann man meines 
Wissens nicht beeinflussen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.