Hallo,
und zwar habe ein Riesenproblem. Muss für die Schule ein Programm in
Assembler schreiben. Wollte heute das machen, habe aber leider null
Ahnung.
Und das muss ich machen:
Ich muss alle Eingänge und Ausgänge testen, ob sie noch funktionieren.
Eingänge soll an Schalter gelegt werden und Ausgänge an LED's.
Bitte helft mir weiter.
Wen jemand so nett ist und mir das Programm schreibt, bekommt auch 10
Euro oder so dafür.
Wenn net, sagt mir einfach bitte, wie man das für einen Eingang und
einen Ausgang macht.
Danke schonmal im voraus. Meldet euch bitte per E-Mail an mich.
Mail: Stefan17Richter@web.de
Cya.
glaub nicht das das Sinn der Sache ist, es von jemand machen zu lassen.
Eine kleine Nachfrage von seiten der Lehrer und schon stehst du im
Regen.
Aber ein paar Anregungen kann ich dir geben:
Prinzipiell besteht ein Programm aus 3 Teilen:
1. Initialisierungsphase
da werden definierte Startbedingungen geschaffen, insbesondere
-Löschen der Register/Speicher
-Einstellung der On-Chip-Peripherie (Timer, Ports, UART etc)
-ganz wichtig: Laden des Stackpointers
2. Hauptprogramm
besteht i.a. aus einer Endlosschleife, in deren Verlauf entweder die zu
lösenden Probleme direkt nacheinander bearbeitet werden oder dafür
entsprechende Unterprogramme aufgerufen werden
3. Unterprogramme
sind sinnvoll, wenn ähnliche Aufgaben mehrfach benötigt werden, aber
auch als Strukturelement, macht das eigentliche Hauptprogramm
übersichtlicher.
In deinem Fall könnte das so aussehen:
reset: rjmp init
init: diverses
main: rcall eingabe
rcall ausgabe
rjmp main
eingabe: diverses
ret
ausgabe: diverses
ret
und noch ein paar Details zum Schluss: Die Richtung eines I/O-Ports
legst du mit dem entsprechenden DDRx-Register fest, Eingaben liest du
vom Register PINx, Ausgabewerte werden in das Register PORTx
geschrieben.
So, nun isses schon fast fertig.
Hi,
das Problem ist ja, dass ich das über die Ferien machen muss, und ich
keinen Lehrer fragen kann.
Weißt du, wie man das für nur einen Eingang und einen Ausgang macht??
Der Rest dürfte ja net so schwierig sein.
Cya.
Du hast am 80535 sogenannte "Ports". Diese können sowohl Ein- als auch
Ausgang sein - je nach Definition, wobei die Ports des 80535 die
Eigenheit aller MCS-51 - Derivate haben, daß sie nur Masse ausgeben
können und quasi jederzeit auch als eingang verwendet werden können.
Ein fertiges Programm wirst Du hier nicht bekommen - aber die notwendige
Hilfe, es zu erstellen, auf jeden Fall.
Wie sieht die Aufgabe konkret aus? Es ist alles noch etwas diffus.
Sollen die Eingänge einfach auf entsprechende Ausgänge kopiert werden,
ist ein Display angeschlossen, LEDs oder sollen die Informationen
seriell zum PC weitergegeben werden? Welche Entwicklungsumgebung hast Du
zur Verfügung - wie sieht die Architektur Deines Boards aus? Hast Du
irgendwelche Unterlagen (Datenblätter, Anleitungen, Schaltplan)
bekommen? Welches Vorwissen hast Du?
Versuche doch einfach, mal ein Konzept zu erstellen. Wenn Du nicht
weiterkommst, können wir Dir bei konkreten Problemen helfen.
Hi,
so lautet die Aufgabe genau:
Für die vorhandene Mikrocontrollerplatine soll eine Testumgebung
geschaffen werden, mit deren Hilfe in kurzer Zeit die Funktion dieser
Platine nachgewiesen werden soll.
Anforderungen:
Test sämtlicher Ports in beide Richtungen
Vorgehensweise: geeigneter Hardwareaufbau (Testplatine mit Anzeigen und
Schaltern)
geeignetes Programm mit entsprechern Anzeige
Ziel: Unterstützung bei der Fehlersuche und Reperatur der
Mikrocontrollerplatine.
Entwicklungsumgebung: Wickenhäuser
So, mein Problem besteht darin, wie ich die Ports testen kann, sowohl
als Eingang als auch als Ausgang. Wie schreibe ich das??
Danke schonmal im voraus.
Cya.
Doch klar weiß ich, wie sowas funktioniert. Nur das Problem liegt, ja
daran, wie ich die Ports testen soll, ob sie funktionieren. Da bräuchte
ich halt Hilfe.
hi stefan,
hast du die hardware,die in der aufgabenstellung erwaehnt
wird?
dein programm muss sich ja irgendwie auf eine zusatz-testschaltung
beziehen...
fuer jeden port brauchst du pro pin eine kleine anordnung
bestehend aus LED und vorwiderstand(1kohm)zwischen +5volt
und portpin.(als kontrolle fuer ausgang ..mov P1,#0h : alle LEDs muessen
leuchten)
fuer den eingang schaltest du zwischen den portpin und 0volt
einen taster ....mov a,P1 achtung: der port muss vor dem lesen mov
p1,#0ffh bekommen,damit er den eingang auch lesen kann)
um zu testen ob der jeweils gedrueckte taster / eingang funktioniert
kannst du zb. P1.0 testen mit jb oder jnb und
danach jeweils clr p1.0 (led leuchtet pin OK)schreiben
org und end nicht vergessen!
so schwierig ist das doch nicht
ed