Hallo zusammen - ich such hier nen Fehler und seh den Wald vor lauter Bäumen wohl nicht mehr ... 8 Bit (00000011b / 3d) sollen ausgegeben werden. Zwischendurch wird ein Takt erzeugt. mov b,#008d ; Zähler mov a,#003d ; Befehlsbit clr c ; Carry löschen befehl: rlc a ; Befehlsbit durch Carry nach links mov SHTDA,c ; Carryinhalt in DATA acall xnop setb SHTCL ; Takt auf CLOCK erzeugen acall xnop clr SHTCL acall xnop ; Takterzeugung ende djnz b, befehl ; 8 mal durchlaufen für den Befehl Müßte so nicht auf SHTDA hintereinander 00000011 anliegen ?? Gruß, Heiko (Der die Krise kriegt g)
Um welchen Prozessor gehts eigentlich? ich kenne zwar hauptsächlich den AVR und 6502, aber ist das Gegenstück zu "setb" wirklich "clr" und nicht "clrb" ? im AVR würden mit "clr" 8 Bit auf einmal gelöscht
Es geht sich um einen reinen 8051 (AT89C2051) bzw. MCS51 setb und clr stimmen. Mit setb P1.1 bzw. clr P1.1 spreche ich das Bit direkt an. Da C ein Synonym für z.B. P2.3 sein kann, löscht ein clr c nur das P2.3 Mit z.B. clr P1 lösche alle 8 Bit von P1 auf einmal. Gruß, Heiko.
Du weißt aber schon daß im 89C2051 P1.0 und P1.1. keine Pullups haben, damit sie auch für den Komparator verwendet werden können. Häng mal 4,7k gegen VCC ran. Peter
Hallo Peter, das ist mir bekannt, habe 2 externe Pullups an den Ports und die Signale mit dem Oszilloskop kontrolliert. Da ich nur ein Analoges Oszi habe kann ich leider nicht das ganze Protokoll kontrollieren, ob die Abfolge stimmt. Werde wohl gleich mal nur den oben beschriebenen Teil mit großen Pausen und 2 LED's ablaufen lassen, mal sehen was dabei rauskommt. Gruß, Heiko
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.