PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Interrupt-Simulierung



Achim Tüchter
09.07.2006, 19:16
Hallo Hr. Bauer,

ich habe das Prog-Studio 2006 ausprobiert und bin im Ganzen sehr angetan von dieser Software. Jedoch hätte ich gerne einige Fragen beantwortet, zu denen ich keine Antwort in der Anleitung gefunden habe.

1. Wie ist es möglich die Interrups zu simulieren, besonders TI/RI über SBUF?

2. Es ist mir nicht möglich im Project-Manager Dateien über die rechte Maus-Funktion "Delete" zu löschen. Woran könnte das liegen?

3. Wie kann ich das Controllerprogramm in die Zielhardware bekommen.
Ich habe kein BIN oder HEX-File im Projektordner gefunden?

4. Wie kann der AD-Converter (z.B. AT89C51AC2) simuliert werden?

5. Ganz wichtig: Ich vermisse eine Stoppuhr für Zyklenzeiten.

André Bauer
10.07.2006, 12:29
Hallo Herr Tüchter,

Zu 1.:
Die Timer Interrupts und die externe Interrupts werden bereits voll simuliert. Den seriellen Port samt dazugehöriger Interrupts werden wir in einigen Wochen auch simulieren.

Zu 2.:
Dieses Problem können wir hier leider nicht nachvollziehen. Welche Programmversion und welches Betriebssystem nutzen Sie? Bitte testen Sie ggf. die aktuelle Version 7.0.0.4, falls Sie diese noch nicht haben.

Zu 3.:
Die frei verfügbare Trialversion erlaubt keine Ausgabe der assemblierten Programme und ist zudem in der Laufzeit auf 30 Tage eingeschränkt. Die Full Version hat keine Einschränkungen.

Zu 4.:
Die Spezialfunktion des AT89C51AC2 wird derzeit noch nicht unterstützt. Ich nehme Sie aber gleich auf unsere Feature-Wunschliste, damit diese auch bald eingebunden wird.

Zu 5.:
Danke für den Vorschlag, diese Funktion wird sogleich umgesetzt! Es wird in der Version 7.0.0.5 eine neue Toolbar "Stoppuhr" auftauchen, die die entsprechende Funktionalität hat... Dann wird auch gleich der Teilungsfaktor Oszillator-/Maschinentakte eingeführt, damit die Zeiten in Mikrosekunden und nicht nur in Maschinentakten angezeigt werden kann...

Grüße
André

Holger
29.10.2006, 09:34
Hab diesen Beitrag bereits bei den "Mikrocontrollern" gepostet, aber leider keine Antwort auf meine Frage bekommen. Hat zwar nichts mit dem Progstudio 2006 zu tun, aber eine eigene Rubrik hierfür konnte ich nicht finden. Ich hoffe, jemand von "Batronix" kann mir da weiterhelfen. Ich verwende Progstudio 6.09:
Hab da mit dem Debugger ein Prog-Schnipsel laufen lassen:
An P3.3 (ext INt1) soll die Zeit (in µs) des H-Pegels gemessen werden (Quarz 12MHz). Dazu wird im Tmod-Register Bit7 und Bit4 gesetzt(T1 als 16Bit.Timer, zählt mit jedem Maschinentakt T1 hoch), dazu habe ich in TCON Bit6 (gibt T1 frei) und Bit2 (Externe Interruptfreigabe1 Flankengetriggert). Schlussendlich habe ich im Register IE die Bits7 (globale Interrupfreigabe), 3 (T1 Interruptfreigabe), 2 (Ext.INterruptfreigabe1) und für T0 Bit2 gesetzt (der erzeugt einen Interrupt alle 156µs, das läuft). Zusätzlich habe ich dem externen Interrupt1 höhere Priorität gesetzt (Bit2 in IP).
Soweit funzt alles, nur die Zählung des Timers1 bei H-Pegel an P3.3 läuft nicht! Aber das ist Kern meines Bestrebens! Ist das nur ein Fehler im Debugger oder hab ich da was falsch gemacht? Hab da mit allen möglichen und unmöglichen Bits rumgespiel, keine Reaktion. Bekomme im Debugger den T1 nur ohne Bit7 im TMOD zum laufen, doch da wird ja der Pegel an Ext INt1 nicht beachtet (ist ja wohl auch normal so).
Hmm, was nun?:confused:

Ach so, eingestellt ist der gute alte 89C2051!

sparky
29.10.2006, 11:38
Hallo Holger,
du solltest doch eigentlich wissen, dass sich André recht selten hier im Forum blicken lässt.
Also schreib ihm eine mail, und du hast bis Mittwoch eine Antwort.;)

Andererseits könntest du auch auf der Versions-Historie hier auf der Seite nachsehen, was sich da im Laufe der Zeit geändert hat. Oder dein Programm etwas umschreiben, und direkt im µC testen.

Holger
29.10.2006, 14:38
Hi Sparky,
hab vorhin mal ein kleines Testprogramm geschrieben und mit dem 2051er getestet. Es funktioniert! H-Pegel an P3.3 wird dann im T1 hochgezählt, bis dieser überläuft, erzeugt den INterrupt und das hab ich visualisiert (mit ner LED). Also ein Bug im Debugger. Werd Andre mal ne Mail schreiben. Vielleicht haben die Jungs das ja schon im Progstudio 2006 entsprechend geändert.

edgar
02.11.2006, 22:29
Hallo Holger,


Du bist ja SuperAktiv am Interrupten :D
Finde ich die beste Loesung mittels einfachen Programmschnipseln die verschiedenen Funktionen zu erforschen.
Interrupts sind eine powerfulle Sache :)

Gruss auch an die Reifen...

Ciao

buz11
02.11.2006, 22:41
...
Finde ich die beste Loesung mittels einfachen Programmschnipseln die verschiedenen Funktionen zu erforschen.
Interrupts sind eine powerfulle Sache :)
...
Sehe ich auch so.
Am besten in Verbindung mit 'm Oszi.


Es gibt zu viele verschiedene 8051er, mit noch mehr speziellen SFRs die spezielle Interrupts können,
als dass man sie alle perfekt im Debugger simulieren kann.
Stimmts?

Holger
06.11.2006, 10:39
Ist halt im ersten Moment etwas doof, wenn man ein etwas komplexeres Programm testen will. Dauert dann erst ne Zeit bis man das erst mal schnallt und bis man am Plan "B" arbeitet....
Hab Andre ne Mail gesendet, aber leider noch keine Antwort (bzw nur, dass die Mail angekommen ist)

André Bauer
07.11.2006, 08:42
Hallo Holger,

sorry, bin gerade erst gestern wieder aus dem Urlaub zurück... Ich kümmere mich darum und beantworte Deine Mail, sobald ich das Problem geklärt habe...

Grüße
André

Holger
10.11.2006, 21:53
Hallo Andre, hab dir grad mal das kleine Hilfsproggi geschickt..