Gast
#57592
Hallo zusammen, Nachdem ich hier wirklich gut geholfen wurde meinen T89C51AC2 zu programmieren habe ich jetzt noch diverse Probleme. Ich mache in circuit programming mit FLIP. Nachdem ich mit FLIP mein Programm in den Controller geflasht habe u. einen Reset gemacht habe, läuft es nicht selbstständig los (Natürlich PSEN vorher wieder auf High gelegt). Wenn ich in diesem Zustand nochmal mit FLIP connecte bekomme ich keinen Time Out Fehler. D.h. der Bootloader ist wieder gestartet worden. Dann habe ich mir mal in den Datenblättern die Bedingungen für den Bootloader Start angeguckt. Hardware Condition=> NEIN u. Bootloader Jump Bit GESETZT. So sollte der meine Applikation bei einem Reset ausführen. Macht er aber nicht...??? Hardware Condition JA => PSEN=0, EA=1 Hardware Condition NEIN => PSEN=1, EA=1 Wenn ich allerdings bei FLIP den "Start Application" Button drücke läuft mein Proggie sofort los (PSEN=1). Kapiere ich irgendwie nicht... So, 2. und noch viel wichtigeres Problem ist der EEPROM Lesezugriff. Ich habe ein Programm geschrieben was aus einer Tabelle im EEPROM Daten rausholen soll und mir im Display anzeigt. Die Daten habe ich vorher mit FLIP schon im EEPROM abgelegt. Wenn diese nachher in meinem Programm ausgelesen werden, bekomme ich da lauter Pfeile im Display dargestellt (also schonmal kein FF). Zum Test ob das Display mir die Daten richtig darstellt, habe ich mal einige Testwörter direkt im Programmspeicher deklariert. Das funktioniert einwandfrei. Also liegts zu 99% am EEPROM lesen. Da geht irgendwas schief. So ungefähr sieht mein Unterprogramm aus. clr EA ; Alle Interrupts aus mov EECON,#02h ; EEPROM wird gemapped für Movx befehl movx A,@DPTR ; EEPROM Adressierte Speicherzelle in Akku lesen mov DATEN,A ; Akku in Daten sichern mov EECON,#00h ; unmap EEPROM ret Gibts da noch irgendeinen Trick ? Wäre für ein bischen Unterstützung dankbar... Gruß Alex