Forum: Mikrocontroller und Digitale Elektronik Und schon wieder eine Anfängerfrage


von BlackNoir (Gast)


Lesenswert?

Hallo zusammen,


ich habe mich auf PIC-Prozessoren geeinigt, dazu habe ich jetzt ein
paar Fragen:

-Register: Jedes Register liegt warscheinlich bei jedem Proz woanders,
oder ?

-Wo bekomme ich diese Informationen her (für den entsprechenden PIC) ?
 (z.B.: w_test Equ 0x21)

-Welche register kann / darf ich benutzen ?

-Welchen Wert kann ein Register maximal aufnehmen ?

-Wie kann ich verschiedene Interrupts erzeugen, bzw. Abfangen (High an
PortA oder Zeitablauf)...

-Was bedeutet diese Fehler- / Warnmeldung ?

Message[302] C:\PIC\WATCHDOG\MAIN.ASM 71 : Register in operand not
in bank 0.  Ensure that bank bits are correct.

hier der source:

  clrf  nSec;
  clrf  nMin;
  bsf     STATUS, RP0  ; auf Bank 1 umschalten
  movlw  B'00000000'  ; PortB alle output
  movwf  TRISB

-Wofür steht dieser Befehl:         org    4 ?




___________________________________________
Ich möchte eine Schaltung realisieren, die ca. 15Min. auf ein Signal
von der RS232-Schnittst. wartet, wenn Signal kommt, dann soll der timer
zurückgesetzt werden, wenn 15 Min. nichts kommt soll ein PIN auf PortB
High-Pegel haben...

Hat sowas schon jemand gemacht ?


Besten Dank für alle Antworten ...

von Andreas Jäger (Gast)


Lesenswert?

Zu jedem PIC gibt es ein Datenblatt (engl. Datasheet), in dem alle
Informationen stehen. Die Datasheets kannst Du von Microchips Hompage
(www.microchip.com) runterladen. Auch ein Handbuch (Manual) zum MPASM
ist dort downzuloaden, in dem alle Meldungen erläutert sind.

Dein Projekt hört sich nach WatchDog an, ist nicht besonders schwierig.
Was heisst den "auf ein Signal warten". Soll auf eine Pegeländerung
einer Leitung oder auf ein Datum gewartet werden? Falls auf ein Datum
gewartet werden soll, würde ich einen PIC mit USART (serielle
Schnittstelle) nehmen.

MfG
Andreas Jäger

von Peter D. (peda)


Lesenswert?

Deine Fehlermeldung läßt jeden Nicht-PIC-Benutzer vor Schadenfreude
tanzen :-)

Du must Dich damit abfinden, daß bei den PICs ein Großteil der
Programmierung Dich mit der Banküberwachung und Bankumschaltung
belästigt. Das gilt sowohl für die Daten (RAM) als auch den Code
(Flash). Dies hat auch zur Folge, daß der PIC-Code nicht verschiebbar
ist.

Andere Familien (z.B. 8051, AVR) kennen solche Fehlermeldungen nicht,
da sie einen linearen Adreßbereich haben.
Da ist der Code auch verschiebbar, d.h. man kann eine Routine an
beliebiger Stelle einfügen und sie wird immer korrekt ausgeführt.


Zu Deiner anderen Frage. Üblicherweise gibt es zu jedem Derivat ein *.h
oder *.inc-File, wo die entspechenden Register definiert sind. Sollte
also bei den PICs auch so sein. Dieses File wird dann oben per
"include" in Dein Programm mit eingebunden.



Peter

von Andreas Jäger (Gast)


Lesenswert?

@Peter

Nur zur Info:
1) Die Meldung ist eine "Message", keine Fehlermeldung! Wen sie
stört, der kann sie unterdrücken.

2) Die Code-Verschiebbarkeit hat weniger mit der Bankauswahl als
vielmehr mit Page(boundaries) zu tun.

3) Bei anderen Controllern (8051, AVR...) gibt's bestimmt auch so
einiges zu beachten - Mitdenken beim Programmieren ist immer von
Vorteil ;-)

MfG
Andreas Jäger

von Frank (Gast)


Lesenswert?

Klasse Andreas !!!
Ich finde es immer bescheuert , wenn hier im Forum PIC-Fragen gestellt
werden, und man belehrt wird das die PICs beschissen sind.
Dann kommt jemand der meint man sollte auf die AVRs oder 8051
umsteigen.
Jeder Mikrocontroller hat seine Vor- und Nachteile und dann ist noch
die Anwendung wichtig.

von BlackNoir (Gast)


Lesenswert?

Danke für die Tips...


@Andreas: Ja, soll ein Watchdog werden...

Eigentlich würde mir eine Pegeländerung reichen ...

von Andreas Jäger (Gast)


Lesenswert?

@BlackNoir ???

Na dann, PIC16F84 und los...
(Datasheets und Manuals lesen nicht vergessen)

MfG
Andreas Jäger

PS: In den meisten Newsgroups/Foren werden übrigens Realnamen gerne
gesehen.

von Thorsten (Gast)


Lesenswert?

Hallo,

ich bin immer wieder erstaunt, wie wenige Leute auf die Idee kommen,
sich erst mal die Datenblätter vom Hersteller des Prozessores übers
Internet zu besorgen. Dort ist so ziemlich jede Information enthalten,
und so schwer verständlich sind die nicht. Vorausgesetzt natürlich, man
kann einigermassen Englisch lesen.

Gruß
Thorsten

von BlackNoir (Gast)


Lesenswert?

@Thorsten:

Das sind 622 Seinten und für eine "Quick'n'Dirty" Lösung vollkommen
oversized ...

Englisch ist kein Problem...

von Thorsten (Gast)


Lesenswert?

Nö, die 622 Seiten lassen sich ohne Probleme auf wenige reduzieren. Die
benötigten Infos findet man leicht mit dem Inhaltsverzeichnis. Bitte
nicht böse sein; wollte damit nur sagen, dass die Datenblätter meiner
Meinung nach die beste Informationsquelle darstellen. Denn alle Autoren
etc. benutzen diese schließlich als Basis.

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.