Robotrontechnik-Forum

Registrieren || Einloggen || Hilfe/FAQ || Suche || Mitglieder || Home || Statistik || Kalender || Admins Willkommen Gast! RSS

Robotrontechnik-Forum » Technische Diskussionen » U880 & HALT » Themenansicht

Autor Thread - Seiten: -1-
000
18.10.2014, 04:16 Uhr
PIC18F2550

Avatar von PIC18F2550

Hallo,

ich habe folgende Routine.


Quellcode:
;****************************************************************************
;
;    console character into register a
CONIN:
    LD    A,CMCONIN
    OUT   (CONTR),a
    CALL  WAIT
    IN      A,(DATA)      ;get character from console
    RET


Die Abarbeitung wird angehalten und soll mittels NMI fortgesetzt werden.



Quellcode:
;****************************************************************************
;
;    NMI Routine
WAITM:
    DEFW    0000H
WAIT:
    LD (WAITM),HL     ; HL Sichern
    HALT
NMI:
    POP   HL          ; NMI Rücksprung verwerfen
    LD    HL,(WAITM)  ; HL wieder herstellen
    RETI              ; Call Rücksprung aufführen



So habe ich es jedenfalls verstanden.

Ist das Richtig so?
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 18.10.2014 um 04:17 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
001
18.10.2014, 13:31 Uhr
ambrosius



Werden in dem Programm noch weitere, normale Interrupts verwendet? Die NMI-Routine muß normalerweise mit RETN abgeschlossen werden. Dabei wird dann der in IFF2 gespeicherte Zustand des IFF1 vor der NMI-Auslösung wieder zurückkopiert. So geht keine anstehende normale Interruptanforderung verloren. Die NMI-Routine muß bei 066h anfangen, da automatisch dorthin gesprungen wird.

Beste Grüße
Holger

edit: beachte, das im HALT-Zustand kein Refresh von dynamischem Speicher erfolgt, falls welcher verbaut ist.
--
viele Grüße
Holger

Dieser Beitrag wurde am 18.10.2014 um 13:32 Uhr von ambrosius editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
002
18.10.2014, 14:05 Uhr
TTL-Grab



Du musst auch dafür sorgen, dass kein NMI auftreten kann, wenn die CPU nicht in der WAIT-Routine wartet, denn durch das Töten des Rücksprunges landet das Ding sonst im Nirvana. D.h., keiner darf eine Taste drücken, wenn das Programm es nicht erwartet, sonst Absturz.
Da ist es einfacher, in der NMI-Routine eine Zelle zu setzen, die dann in CONIN in einer Schleife abgefragt wird.

Gruß Micha
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
003
18.10.2014, 17:01 Uhr
Wusel_1



Erkläre mal, was du damit bezwecken willst. Dann auf welchen Rechner das laufen soll.
Holger hat da schon recht, dass die NMI-Routine auf #0066 liegt. Da wirst du nichts ändern können, da das sicher auch bei dir im ROM-Bereich liegt. Beim AC1 besteht die Möglichkeit, da dort auf #1817 gesprungen wird und somit im RAM der NMI-Ansprung geändert werden kann.
--
Beste Grüße Andreas
______________________________________
DL9UNF ex Y22MF es Y35ZF
JO42VP - DOK: Y43 - LDK: CE

*** wer glaubt, hört auf zu denken ***

Dieser Beitrag wurde am 18.10.2014 um 17:01 Uhr von Wusel_1 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
004
18.10.2014, 22:20 Uhr
PIC18F2550

Avatar von PIC18F2550


Zitat:
ambrosius schrieb
Werden in dem Programm noch weitere, normale Interrupts verwendet?
beachte, das im HALT-Zustand kein Refresh von dynamischem Speicher erfolgt, falls welcher verbaut ist.



-keine anderen Interupts
-nur SRAM


Zitat:
TTL-Grab schrieb
keiner darf eine Taste drücken



- keine Taste IO Controller


Zitat:
Wusel_1 schrieb
da das sicher auch bei dir im ROM-Bereich liegt



- der U880 sieht kein Festwertspeicher er besitzt nur einen 64k SRAM

Ok damit ist mein Problem mit einer schnellen Statusabfrage über NMI erstmal Geschichte.
Ich werd also eine IO-Adresse (4) dafür verbraten.
Und diese einfach mit einem IN a,(4) und CP ?? abfragen. Das ist warscheinlich sicherer.



Quellcode:
;****************************************************************************
;
;    Statusabfrage IO-Controller
;
WAITCON:
  OUT   (CONTR),A
WAITCON01:
  IN    A,(IOCONT)
  CP    255           ;Ready ?
  JR    C,WAITCON01
  RET




Ein Danke für euere Hilfe.

- CPU : UA880 oder Z180 bis 10Mhz ohne wait
- RAM : SRAM 64K 55ns
- Logik RAM : 74ALS00
- Logik IO : GAL16V8-15
- IO-Interface : P8X32A +32k EEPROM(I²C)

IO-Interface >>>
- VGA s/w mit intensität
- Keybord de
- SD-Karte als HDD1/2 & FAT32 Partition
- RTC (RAM für System Config)
- RS232 *)
- LPT über I²C- Bus *)

*) optionen
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 19.10.2014 um 00:10 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
005
19.10.2014, 10:18 Uhr
ambrosius



Darf man fragen, was das konkret für ein Projekt ist?

Beste Grüße
Holger
--
viele Grüße
Holger
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
006
19.10.2014, 11:00 Uhr
paulotto



UA880 mit 10MHz???

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
007
19.10.2014, 14:22 Uhr
TTL-Grab




Zitat:
PIC18F2550 schrieb
- keine Taste IO Controller



Ist ja egal, das Problem wäre das selbe gewesen. Aber hat sich ja nun erledigt.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
008
20.10.2014, 09:38 Uhr
paulotto



UA880 mit 10MHz????

Gruß,

Klaus
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
009
20.10.2014, 11:06 Uhr
PIC18F2550

Avatar von PIC18F2550


Zitat:
paulotto schrieb UA880 mit 10MHz???

Hab ich nicht geschrieben.


Zitat:
PIC18F2550 schrieb - CPU : UA880 oder Z180 bis 10Mhz ohne wait

Man beachte das "oder".
--
42 ist die Antwort auf die "Frage nach dem Leben, dem Universum und dem ganzen Rest"
Aktuelle Projektdokumentationen

Dieser Beitrag wurde am 20.10.2014 um 11:24 Uhr von PIC18F2550 editiert.
Seitenanfang Seitenende
Profil || Private Nachricht || Suche Zitatantwort || Editieren || Löschen
Seiten: -1-     [ Technische Diskussionen ]  



Robotrontechnik-Forum

powered by ThWboard 3 Beta 2.84-php5
© by Paul Baecher & Felix Gonschorek