mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Variablen definition beim AT89S8252


Autor: Felix Reimer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Seervus

kann mir jemand sagen wie ich bei nem Atmel AT89S8252 Variablen
definiere (jede Variable sol 1 Bit sein)

bisher mache ich es so

Variable EQU 0b

aber das gibt fehler heraus

Mfg felix

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo felix,

equ gibts nur bei bytes. für bitvariablen musst du "BIT" nehmen.
z.b. TASTER    BIT     P0.0

mfg leo

Autor: Felix Reimer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also wenn ich ein bit mit dem nammen is_A definieren will dann muss ich
das folgendermassen machen

is_a bit 0b

oder wie sage ich dem µC das der Wert ein bit ist

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
byte      EQU       000H
benennt die speicherzelle 0 im ram mit dem namen "byte". d.h. du
ordnest der zelle nur einen namen zu.
anstatt   MOV     000H, #5
kannst du also schreiben
          MOV     byte, #5
damit wird dein programm lesbarer.

der 8252er hat auch einen bit-adressierbaren bereich. du musst ihm also
zuerst mitteilen, wo deine bitvariable lokalisiert ist.
wo der bereich liegt weiß ich im moment nicht auswendig, du kannst aber
im datenblatt (www.atmel.com) nachsehen.
dies geschieht eben dann nicht mit EQU sondern mit BIT!!!

danach erst kannst du die variable manipulieren - das geschieht mit
SETB    is_a     (entspricht is_a = 1)
bzw.
CLR     is_a     (entspricht is_a = 0)

leo

Autor: Felix Reimer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was mich jetzt noch stört ist, dass ich bisa jetzt denn equ befehl
genommen habe um einer Variablen einen wert zuzuweisen und das hat
immer funktioniert

z.B. CR equ XXh  für z.b ein Delete Zeichen

war das jetzt nur zufall das es geklappt hat oder war des schon korrekt
so?

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
equ legt keine Variablen fest, sondern Konstanten.
Das solltest Du auseinanderhalten.

Autor: Felix Reimer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab jetzt mal im MC Tools 4 geschaut da steht das so drin

(Kontolliert ihr vielleicht kurz ob ich alles richtig kapiert habe)

is_a BIT 20.0

oder

is_a BIT 20H

MfG Felix

Autor: Leopold Stockinger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein fehler.
hab ich verwechselt...

Autor: Felix Reimer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So bevor ichs vergesse und wieder als unhöflich abgestempelt werde was
ich sicher nicht bin


DANNNNNNNKKKKKKKEEEE für die schnelle hilfe



MfG Felix

Autor: Floriian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ist ganz einfach

sbit Taster P1.0

Gruss Flo

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.