Forum: Mikrocontroller und Digitale Elektronik I²C - Tastatur LCD-Display = ALARMANLAGE


von Düsentrieb (Gast)


Lesenswert?

Hallo Leute

ich habe wieder mal ein folgendes Problem.
Muss in der FH ein Projekt fertigstelen, nennt sich Alarmanlage.

Soll folgendermaßen funktionieren:
Über einen Taster wird der 8051-Controller aktiviert und wartet dann 30
sec lang auf die im Programm abgespeicherte Codeabfrage über die
Tastatur. Sollte in dieser Zeit kein Code eingegeben  werden, wird der
Alarm über Dioden aktiviert.

Für diesen Projekt haben wir die Euro_535 Karte, die I²C Karte, das
Tastaturpad mit dem LCD-Display.

Ich würde euch gerne bitten, mir jegliche Tipps zu geben, bin für alles
dankbar. Das Programm soll in Assembler, von dem ich sehr wenig Ahnung
habe, geschieben werden.

Diese ganze Sache mit der Portabfrage, Tastenabfrage, Ausgabe auf dem
Display usw. ist alles sehr sehr schwer für mich.

Als zusätzliche Features können da noch Funktionen wie, Mastercode oder
selbstprogrammierbarer Code, eingebaut werden.

Vielen Dank für die Hilfe

von olaf (Gast)


Lesenswert?

Welchen Tip erwartest du? Sollen wir fuer dich den Praktikumsversuch
schreiben?

Vielleicht noch soviel, dein Prozessor stammt aus der Familie der
MCS51. Wenn du mal danach suchst wirst du sicher in deiner Unibibli
einige Buecher finden. Ausserdem wohl so 1Mio Internetseiten. Und dann
lernst du mal eben Assembler.
Der Prozessor ist ja noch sehr einfach und uebersichtlich.

Deinem Professor koennte man vielleicht den Tip geben das es
mittlerweile modernere Microcontroller gibt, aber das weiss der
bestimmt und verwendet den alte Kaefer nur aus Mitleid um euch das
Leben schoen einfach zu machen. :-)

Olaf

p.s: Meine Profs standen damals auf Z80 und 8088, aber das ist wohl
deinem Prof schon zu modern. :-]

von Peter D. (peda)


Lesenswert?

@Olaf,

"und verwendet den alte Kaefer nur aus Mitleid um euch das
Leben schoen einfach zu machen. :-)"


Du meintest wohl "schoen schwer zu machen".
Sind bestimmt noch alles uralt DOS-Tools zu diesem uralt Europakarten
IC-Grab.


Einfacher wärs z.B. mit einem einzigen AT89C51ED2-Chip und Flip
Bootloader.

Bzw. super komfortabel mit einem Silabs 8051-Board und JTAG-Debugger
unter Keil µVision.


Peter

von Sebastian (Gast)


Lesenswert?

@Düsentrieb: Du bist nicht zufälligerweise an der FH Karlsruhe?

von Olaf (Gast)


Lesenswert?

Was ist an der Verwendung von alten DOS-Tools schwer?

Leute die zu bloed sind mit Edit einen Assemblertext zu erstellen und
dann den Assembler aufzurufen haben an einer FH/Uni nichts zu suchen.
Immerhin kommt nur jeder siebte durchs ET-Studium.

Als ich studiert habe, haben wir den Z80 und CP/M unter DOS simuliert
weil der Prof zurecht angenommen hat das noch ein paar mehr auf der
Strecke bleiben wuerden wenn wir gleich mit 8086/8088 Assembler
anfangen.

Was den Prozessor angeht hast du nicht ganz unrecht. Natuerlich ist ein
moderner MCS51 mit Flashrom viel schoener wenn man zuhause die ersten
Schritte macht.
An der FH sieht das aber etwas anders aus. Man hat dort irgenwann mal
ein komplettes System entwickelt. Das ist bestens dokumentiert. Es gibt
vermutlich bereits fertige Routinen fuer das Ansprechen des Displays und
der Tastatur. In Studentenkreisen kursieren noch die Praktikumsloesungen
der vergangenen Jahre die man perfekt als Studienobjekt gebrauchen
kann.
Das ist garantiert viel einfacher als mit einem Prozessor allein auf
dem Breadboard anzufangen dem man erstmal noch nichtmal ansieht ob er
ueberhaubt laeuft oder noch im Reset schlummert.

BTW: Ich hab uebrigens Assembler gelernt indem ich mit einem Buch in
der Hand den Code von HAND uebersetzt habe, die relative Spruenge von
Hand berechnet habe und danach alles mit dem Poke-Befehl unter Basic in
eine Remzeile gepoket habe bevor ich es starten konnte.
Pascal habe ich spaeter auf dem Apple][+ gelernt indem ich bei jedem
Compilerlauf viermal die Disketten gewechselt habe.

Natuerlich ist das scheisse gewesen und ich wuerde das auch keinen mehr
Wuenschen! Aber einen Vorteil hatte es, man hat VORHER nachgedacht und
nicht erst wenn das Programm nicht lief. Weil naemlich Fehler mit
Arbeit bestraft wurden.
Ausserdem vergesse ich auch heute noch keine Semikolons an Zeilenenden.
:-)

Olaf

von thkais (Gast)


Lesenswert?

@Olaf: Recht haste....
Ich habe momentan einen Schüler als "Hilfsprogrammierer". Immerhin
kennt er die Grundzüge der Programmierung, die meisten Kiddies
heutzutage wissen gerade noch, wie man eine CD-Rom einschiebt.
Aber Begriffe wie "Bubble-Sort" oder was zum Teufel Binär- oder
Hex-Zahlen sind - keine Chance. Die ganzen Grundlagen fehlen. Und ich
bin der Meinung, daß man diese Grundlagen auf jeden Fall kennen sollte
- auch wenn man später mit irgendeiner Hochsprache programmiert.
Meine ersten Assembler-Erfahrungen mit einem ZX-81 hören sich fast
genauso an, wie Deine... g

von Olaf (Gast)


Lesenswert?

Ist auch keine Wunder da meine ersten Assemblererfahrungen auf dem ZX
Spectrum stattfanden. ;-)

Olaf

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.