Hallo zusammen! Ich habe nächste Woche eine Prüfung in Microcomputer. Bin im 1. Semester und studiere Elektronik und Informationstechnik. Leider habe ich große Schwierigkeiten beim Programmieren von Assembler. Hier sind 7 Aufgaben zu lösen die im Schwierigkeitsgrad der Prüfung ist. Wenn ihr die alle packt, seit ihr wirkliche Genies in diesem Bereich! Ich danke euch jetzt schon vielmals für eure Hilfe!!! Aufgabe 1: Entwickeln Sie ein Unterprogramm mit dem Namen SUCH, das in einer Tabelle im externen Datenspeicher ein Zeichen sucht. Dieses Zeichen ist unter der Adresse AZEI gespeichert. Die Tabelle beginnt bei der Adresse ATAB. Das Unterprogramm SUCH soll die Adresse des Speicherplatzes, unter der das zu suchende Zeichen (nur das erste) gefunden wird, im Speicher unter der Adresse ARES ablegen. Die Länge der Tabelle befinde sich im R2-Register. Wenn das Zeichen nicht gefunden wird, soll das Unterprogramm FEHLER aufgerufen werden. a)Entwickeln Sie zunächst den Programmablaufplan im Pseudocode. b)Erstellen Sie dann das Programm. Aufgabe 2: Entwickeln Sie eine Interruptserviceroutine für den Rechner 80535, die bei jedem Impuls am Interrupteingang INT4 den Inhalt von Port P4 im Speicher ablegt. Die Daten sollen in dem Speicherplatz abgelegt werden, der durch das DPTR-Register adressiert ist. Nach jedem Einspeichern soll die Speicheradresse erhöht werden. Gehen Sie davon aus, dass die Daten im Haupt*prog*ramm wieder aus dem Speicher entnommen werden und auch das DPTR-Register entsprechend verändert wird (dies ist nicht von Ihnen zu programmieren). a)Entwickeln Sie zunächst den Programmablaufplan nur für die Interruptserviceroutine im Pseudocode. b)Erstellen Sie dann das Programm dazu. Aufgabe 3: Entwickeln Sie eine Interruptserviceroutine für den Rechner 80535, die nach dem 5.Impuls am Interrupteingang P1.1 (EXT4) den Ausgangsport P3.2 auf "1" schaltet und P3.3 auf "0" und dann nach weiteren 3 Impulsen P3.2 auf "0" und P3.3 auf "1". Nun soll sich alles periodisch wiederholen. a)Entwickeln Sie zunächst den Programmablaufplan nur für die Interruptserviceroutine im Pseudocode. b)Erstellen Sie dann den Assemblercode dazu. Aufgabe 4: Schreiben Sie ein Assemblerprogramm für den Rechner 80535 als Unterprogramm mit dem Namen GRAY. Es soll 4-stelligen Gray-Code in Dualcode wandeln. Für dieses Programm gelten folgende Vorgaben: -Von einem übergeordneten Programm werden die Werte zur Wandlung im DATA1-Register abgelegt. Sie stehen dort in den niederwertigen Stellen 0 bis 3; die höherwertigen Stellen sind 0. -Im Programmspeicher befinden sich fortlaufend in einer Tabelle ab der Adresse 9000H für die Zahlen 0 bis 15 die Werte des Gray-Codes. Der Wert im Gray-Code im DATA1-Register soll in die zugehörige Dualzahl gewandelt und diese in das DATA2-Register geschrieben werden. -DATA1 befindet sich im Datenspeicher an der Stelle D:0x30; DATA2 befindet sich an der Stelle D:0x31 a) Entwickeln Sie zunächst den Programmablaufplan im Pseudocode. b) Erstellen Sie dann das Assemblerprogramm für den Rechner 80535. Aufgabe 5: Entwickeln Sie ein Programm, das folgenden Programmablauf erzeugt: Wenn im Register R7 der Inhalt 2 ist, soll nur UP1 einmal aufgerufen werden, wenn im Register R7 der Inhalt 3 ist, soll nur UP2 einmal und für alle anderen Werte im Register R7 soll nur UP3 einmal aufgerufen werden. a)Geben Sie für dieses Programm den Pseudocode an. Verwenden Sie dabei die Kurzschreibweise der Befehlserläuterung. b)Entwickeln Sie aus dem Pseudocode den Programmcode Aufgabe 6: Entwickeln Sie ein Programm, für den folgenden Pseudocode für den MC 80535: Fall(A) wenn 'kleiner 5' (R7)=2 wenn 'kleiner 4' (R7)=3 wenn 'gleich 4' (R7)=4 sonst (R7)=255 Aufgabe 7: Entwerfen Sie eine Interruptserviceroutine für den Rechner 80535, die nach dem Einschalten Impulse am Eingang P1.1 zählt und entsprechend viele Leuchtdioden einer Kette aufleuchten lässt. Die Leuchtdioden sind an Port P4 angeschlossen. Sie leuchten, wenn eine "1" auf dem jeweiligen Bit von P4 ausgegeben wird. Die Zählung soll stets bis 6 erfolgen. Nach 6 soll wieder nur eine Diode aufleuchten. Entwickeln Sie nur den Programmablaufplan im Pseudocode und verwenden Sie darin die Kurzschreibweise der Befehlserläuterung.
"Wenn ihr die alle packt, seid ihr wirkliche Genies in diesem Bereich!" :-) Wir werden dir sicherlich nicht die Lösungen hinschreiben - das nützt dir nämlich nichts, deshalb wäre es schon schön wenn du uns schreibst was du nicht verstehst oder woran es hapert. Du hast ja regelmäßig Vorlesungen gehabt in denen das ganze behandelt wurde, zumindest kannst du dir das Skript von einem Mitstudenten besorgen. Lies dir das mal in aller Ruhe durch. Gruss
doppelpost & du bist immer noch ein mann .... http://www.mikrocontroller.net/forum/read-1-302527.html#new wie wärs mal mit buch aufschlagen und lernen ? Ach wozu, macht ja arbeit lol Leute gibts...
Aufgaben sind doch Standart. Falls du die Prüfung noch nicht gemacht hast, kann ich dir das µ.controller-Kochbuch empfehlen. In dem Buch ist alles anschaulich dargestellt. Wegen Prioritäten usw. Zudem sind die ganze Befehle wunderbar erklärt. P.S. Hat mir irgendjemand ein Buchtip um µ-Controller in C zu programmieren(Sollte nicht die 20 Grenze überschreiten) Gruß billy
also du studierste elektronik und informtionstechnik, nun dann dürftest du an der hs heilbronn studieren, aber mal ganz ehrlich wenn du diese aufgaben nicht lösen kannst dann solltest du dir überlegen ob du in diesem studiengang überhaupt richtig bist.
Schliese mich isabell an - das sind doch nur Daten- und Pointer-"Schieberrein".
kann mich nur anschließen. zu 1.bis 7. : Hausaufgaben machen, Lösung erarbeiten und falls dann noch Fragen sind, hier einstellen und Dir wird geholfen. ABER....SOOOO NICHT !!!!
Hallo Isabelle, Assembler-Programmierung von Mikrocontrollern wie dem 8051-Derivat 80535 (der 8051-Urahn wurde von Intel Ende der Siebziger-Jahre entwickelt und 1980 vorgestellt)ist eigentlich relativ einfach. Manchmal gibt es ein paar Kompliziertheiten, vor allem in Zusammenhang mit mehreren Interrupts. Man muß dafür sorgen, daß keine Informationen überschrieben werden (also pushen und später wieder poppen, Registerbank wechseln etc.). Die 7 Aufgaben sind von der Thematik eher Grundaufgaben eines 8Bitters wie dem 80535, die man nach 1-jähriger Praxis drauf hat! Ich habe mal Elektrotechnik studiert (in Köln); habe aber mein Studium hingeschmissen... Mit dem Informatik-Studium hast Du dir aber ganz schön was aufgehalst! Da musst Du Dich schon sehr für die Materie interessieren, denn das Studium hat ja mehr als 1 Semester. Überleg, ob das auf Dich zutrifft. Hier in Berlin gibt es den Lette-Verein, der bietet seit einigen Jahren die 2jährige Ausbildung zum elektrotechnischen Assistenten an; die haben da auch ein Mikrocontroller-Praktikum. Ich programmiere Mikrocontroller privat, wie den 80C32X2 von Atmel, 80C552 von Phillips und derzeit hadere ich mit dem 80C49 von Oki herum! Es macht mir Spaß, aber wenn da jetzt Druck von der Uni hinter wäre, weiß ich nicht, ob das so bleiben würde! Thomas
@QuadColon aka ,,,, vermutlich weil da jemand so einen Sch*** geschrieben hat das es einfach weggeputzt werden mußte :-) Gruss
Hallo, habe auch MC Praktikum und ich suche ein Programm dass aus Code ein Struktrogramm genreriert, MyFriend kann leider nur C, gibts da nich was für 80c167. Gruß
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.