Microcontrolelr aufgabe

OP #4809673
Hi
Ich brauche Hilfe bei dieser Aufgabe

In dieser Idle-Schleife soll eine 16-Bit-Variable im externen RAM
 (Adresse Lowbyte: 0000h, Highbyte 0001h) bei jedem Durchlauf
hochgezählt werden.
Da zum Hochzählen der Akku benutzt werden muss, sollen mit den Flags AC
und C die LEDs 1 bis 4 des Port 4 im Wechsel an- bzw. ausgeschaltet 
werden.
d.h.: LED1-AC Lowbyte, LED2-C Lowbyte, LED3-AC Highbyte und
LED4-C Highbyte!
Beim ersten Start des Programms soll der Schleifenzähler mit Inhalt 
0000H
starten, d.h. High- und Lowbyte vorher auf #00h setzen.
Verwenden Sie zum Hochzählen nur den Akku – keine weitere interne
Speicherzelle oder Register!
Nach dem FFFFH.-Durchlauf soll wieder mit 0000H begonnen werden.
Testen Sie abschließend das Gesamtprogramm im RUN-Modus.
Versuchen Sie, die Anzeige am Port 4 zu interpretieren!

Anbei habe ich die befehlsliste
Danke
Angehängte Dateien:
#4809685
Itsprivate A. schrieb:
> Verwenden Sie zum Hochzählen nur den Akku – keine weitere interne
> Speicherzelle oder Register!

Der zerstreute Professor vergaß hier offenbar DPTR. Ohne den oder ein 
Register kann man keinen externen RAM ansprechen!

Die Befehlsübersich reicht nicht, hier muss man auch wissen wann Carry 
Flag gesetzt/gelöscht wird - und wann es nicht angefasst wird.

Itsprivate A. schrieb:
> Da zum Hochzählen der Akku benutzt werden muss, sollen mit den Flags AC
> und C die LEDs 1 bis 4 des Port 4 im Wechsel an- bzw. ausgeschaltet
> werden.
> d.h.: LED1-AC Lowbyte, LED2-C Lowbyte, LED3-AC Highbyte und
> LED4-C Highbyte!

Aus diesem Text ergibt sich IMHO nicht klar, wann welche LED leuchten 
soll und wann nicht.
Gast #4809708
Lösung ist hier gespeichert, Abruf bitte 1,50€ per PayPal an
loesungen@schnellehilfe.de überweisen.
Antwort kommt sofort per Mail.
Gast #4809817
> ... 24 Zeilen Code ...

Moin, machen wir doch eine Code Competition daraus ;-)
Plattform und Aufgabe sind klar, wer hat den kleinsten, kürzesten etc.
#4809868
Itsprivate A. schrieb:
> Ich habe keine Ahnung wie ich anfangen soll

Du hättest mal zu den Lehrveranstaltungen gehen sollen.
Hier mal die erste Hälfte:
1
led1    equ     p1.0
2
led2    equ     p1.1
3
led3    equ     p1.2
4
led4    equ     p1.3
5

6
        mov     dptr, #0
7
        movx    a, @dptr
8
        add     a, #1
9
        movx    @dptr, a
10
        push    psw
11
        mov     led2, c
12
        mov     c, ac
13
        mov     led1, c
14
        pop     psw
Die weitere benutzt addc
Gast #4809884
Peter D. schrieb:
> Du hättest mal zu den Lehrveranstaltungen gehen sollen.

Wie Lehrveranstaltungen??? Die fangen total früh an, vor 14 Uhr kann ich 
doch nicht, da muss ich schlafen. Und dann kommen meist noch politische 
Veranstaltungen, Plenum und Demos gegen alles mögliche. Die legen die 
Vorlesungen aber auch echt blöd...
Gast #4810101
Wenn er die Mailadresse des Profs rausrueckt, koennten wir die Loesung 
gleich dahin schicken, dann hat er auch den Stress mit copy&paste nicht 
mehr.


qwertyuiop
Gast #4810109
qwertyuiop schrieb:
> Wenn er die Mailadresse des Profs rausrueckt, koennten wir die Loesung
> gleich dahin schicken, dann hat er auch den Stress mit copy&paste nicht
> mehr.

Naaa, er muss sich doch noch selbst einschleimen können, ansonsten funzt 
es nicht. Wie wird er dann im späteren Berufsleben es sonst lernen, die 
Fähigen auszunutzen und die Leistung als die Eigene dem Chef zu 
verkaufen?
(Firma: Vescomp) #4810117
qwertyuiop schrieb:
> Wenn er die Mailadresse des Profs rausrueckt, koennten wir die Loesung
> gleich dahin schicken, dann hat er auch den Stress mit copy&paste nicht
> mehr.

 Wir ?
 Und du hast zu der Lösung genau was beigetragen ?

 Entweder jemand hilft (ganz oder zur Hälfte, ist egal) oder ist
 ganz still. Dumme Sprücheklopferei von Gästen gibt es auch nur in
 diesem Forum.

 Der TO hat sich angemeldet, eine Frage gestellt - wo ist da
 überhaupt dein Problem (als unangemeldeter Gast) ?
(Firma: fritzler-avr.de) #4810122
@Marc Vesely (Firma: Vescomp) (logarithmus)
Das Problem ist, dass er sich hier komplett seine Hausuafgabe machen 
lassen will.
Eine konkrete Frage hat der TE nicht gestellt.

Dafür gibts hier auch nen leifaden, find ich leider grad ned.
Moderator (Firma: Titel) Persönliche Seite #4810136
Jim M. schrieb:
> Itsprivate A. schrieb:
>> Verwenden Sie zum Hochzählen nur den Akku – keine weitere interne
>> Speicherzelle oder Register!
> Der zerstreute Professor vergaß hier offenbar DPTR. Ohne den oder ein
> Register kann man keinen externen RAM ansprechen!
Nein, das passt. Denn zum Hochzählen an sich wird das DPTR nicht 
benötigt. Nicht ganz so naheliegend wäre die Aufgabe, wenn sie heißen 
würde: "Verwenden Sie zum Hochzählen nicht den Akku"... ;-)

Mw E. schrieb:
> Dafür gibts hier auch nen leifaden, find ich leider grad ned.
Es gibt den Beitrag "Einheitlicher Umgang mit faulen Schülern etc.?"

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.