Forum: Mikrocontroller und Digitale Elektronik OPEL TID Programm von PIC16f84 auf PIC16f628


von Holtenpilsener (Gast)


Lesenswert?

Hallo Leute

Habe mich dazu entschieden einen Code der auf einem PIC16f84 läuft auf
einen 16f628 zu portieren . Leider funzt es nicht, aber die Übersetzung
mit MLAP ist 100% fehlerfrei. Wer könnte den Code überfliegen, und mir
eine eventuelle Fehlerquelle nennen?

Fehlerbeschreibung: Led blinkt (funktion Flash und Flash2), sendet
also. Aber nur lehre Zeichen, wie es scheint, den Display bleibt leer.

Möchte mich von folgendem Tread distanzieren, da in diesem versucht
wird mit AVR zu arbeiten.:

http://www.mikrocontroller.net/forum/read-1-149662.html#new

von Holtenpilsener (Gast)


Angehängte Dateien:

Lesenswert?

Source wäre auch nicht blöd. Sorry

von avr (Gast)


Lesenswert?

Nimm einen Avr, vergiss die PICs. Die haben keine daseinsberechtigung

von Holtenpilsener (Gast)


Lesenswert?

Würde trotzdem an einige Hilfsbereite in diesem Forum appelieren, ob sie
sich nicht bitte bitte den Source ansehen könnten, wo sich eventuell der
Fehlerteufel eingeschlichen hat

von Tim (Gast)


Lesenswert?

>Nimm einen Avr, vergiss die PICs. Die haben keine daseinsberechtigung

Begründung???

von dds5 (Gast)


Lesenswert?

Kauf einen Bonz, vergiss alle anderen Automarken. Die haben keine
Daseinsberechtigung. ;-)

Back on topic:
Der Quellcode hat beachtliche Ausmaße und interessante flämische
Kommentare.
Am geschicktesten mal die Manuals der beiden Typen auf Unterschiede
abklopfen (besonders SFR Adressen), da findet sich häufig was.

Gruß  Dieter

von Tom (Gast)


Lesenswert?

Hallo Holtenpilsener,

die Probleme bei der Portierung von 16F84-Programmen auf einen 16F628
liegen meist daran das die IO-Pin´s vom PortA beim Starten als analoge
Eingange(für AD-Comparator) voreingestellet sind. Heist du must sie
erst in digigalen Pins umschalten (siehe Datenblatt S.27).
Weiter ist die Ansteuerung des internen EEPROM anders. Die Register
sind über zwei Bänke verteilt.

Denke mal das dir diese Anmerkungen weiterhelfen sollten.

von Holtenpilsener (Gast)


Angehängte Dateien:

Lesenswert?

Danke Tom

Habe den Source nochmals überarbeitet , ausserdem habe ich die End
adresse im Cblock von 3ff auf 7ff geändert. Läuft dann zwar nicht mehr
auf dem 627er aber was solls.

Jemand hat mir eine Email mit folgendem Inhalt geschrieben:

In der ISR werden zwei Variablen verwendet, bei denen die
Bankeinstellung vor deren Verwendung unbekannt ist. Diese müssen beim
16F628 im RAM-Bereich 0x70-0x7F liegen, da nur dieser Bereich von allen
Bänken aus den Zugriff auf die selbe RAM-Adresse gestattet.


Könnt ihr mir weiterhelfen, ich schnalle es einfach nicht. Die Routine
ISR wird in der Main.asm aufgerufen


Dankeschön voraus

von Mobilefreak (Gast)


Angehängte Dateien:

Lesenswert?

Du must im ISR den Bereich für zwei Variablen durch einen Cblock
deklarieren (siehe Anhang) Ich hoffe für dich, das es funktioniert.

Ich kann es leider nicht testen, weil ich kein TID, oder diese Platine
was benötigt wird nicht habe.

von Holtenpilsener (Gast)


Lesenswert?

Das funktioniert aber trotzdem nicht. Es zeigt zwar Welcome an. Aber
dann folgt ein leeeres Display

von Daniel (Gast)


Lesenswert?

Hey ich suche eine schaltung um im TID die boardspannung anzuseigen. Hat 
einer weitere informationen dazu?

MfG Daniel

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
Noch kein Account? Hier anmelden.