wie MOVX arbeiten und es ist contol ALE, WR und RD Pin Mikrocontroller

M

mahm150

Guest
MOVX verwendet wird, um externe RAM oder ROM MOVX Zugang @ R1, A / / zum Schreiben Wenn ich verstehe, RECHTS Wann ist Anweisung führt es IT-Ausgang die Adresse in R1 in port0 und Port 2 für die Adresse> 8 dann wird die ALE-Pin DER WERT Riegel durch verbinden Sie es mit Verriegelung wie 74573 nach WR zu niedrig gehen und die Daten in Acc wird an port0 ist diese Sequenz Recht oder nicht, und ist MOVX dies Sequenz auto oder nicht
 
Alles ist für dich getan, nur Problem MOVX und alles andere ist gepflegt .. IanP: wink:
 
Was tun u für diese Sätze alles andere ist gepflegt bedeuten .. ............. wenn ich das kippe auf RAM zu schreiben und wenn ich schreibe schreibe nur ein Byte nach rechts und der andere nicht schreiben ram
 
Jeder MOVX Anweisung schreibt / liest nur ein Byte an Daten, wenn Sie also zu schreiben / lesen ein Block von Bytes, die Sie haben, um es einer nach dem anderen zu tun beabsichtigen ..
was u tun für diese Sätze alles andere ist nach
sah es bedeutet, dass alle zugehörigen Signale (ALE, RD oder WR ..) automatisch generiert bedeuten .. IanP: wink:
 
ja ich sende Byte eins nach dem anderen, aber hier ist mein Code nicht richtig, was MOV DPTR, # Onel beginnen: MOVC A, @ A + DPTR MOVX @ R0, A CLR WRPIN nop nop SETB WRPIN Rufverzögerung CLR CLR A WRPIN INC DPTR INC R0 mov R0, # 01H mov A, # 088H MOVX @ R0, A CLR WRPIN nop nop SETB WRPIN CJNE r0, # 16d, beginnen MOV R0, # 00 MOV DPTR, # Onel BB: JMP BEGIN Onel: DB 0FFh, 010H, 020H, 060H, 060H, 060H, 0E0H, 0E0H, 0E0H, 0F0H, 0F0H, 0F8H, 0F8H, 078H, 0H, wenn ich diesen Code in Proteus ist das Ergebnis im RAM ausgeführt wird schreibe nur in 2 und mit Daten 88h und ff-Adresse schreiben die FFH-frist Byte in Nachschlagetabelle??

<span style="color: grey;"><span style="font-size: 10px">---------- Post hat um 16:57 ---------- zurück Nachricht wurde um 16:49 Uhr ----------</span></span>
Ich weiß nicht, warum in dieser Datenbank zu schreiben, aber das erwartet wird, beginnen schreiben die Nachschlagetabelle von Adresse 0 bis 15, sondern in Adresse 1 schreiben 88h
 
ja ich sende Byte eins nach dem anderen, aber hier ist mein Code nicht richtig, was [COLOR = "red"] / / mov r0, # address [/COLOR] MOV DPTR, # Onel beginnen: Ein MOVC , @ A + DPTR MOVX @ R0, A CLR WRPIN nop nop SETB WRPIN Rufverzögerung CLR CLR A WRPIN INC DPTR INC R0 mov R0, # 01H mov A, # 088H MOVX @ R0, A CLR WRPIN nop nop SETB WRPIN CJNE r0, # [COLOR = "red"] 16d [/COLOR] beginnen [COLOR = "deepskyblue"] / / 16h oder 16d [/COLOR] MOV R0, # 00 MOV DPTR, # Onel BB:? JMP BEGIN Onel: DB 0FFh, 010H, 020H, 060H, 060H, 060H, 0E0H, 0E0H, 0E0H, 0F0H, 0F0H, 0F8H, 0F8H, 078H, 0H, wenn ich diesen Code in Proteus ist das Ergebnis im RAM ausgeführt wird schreibe nur in 2 und mit Daten 88h und in ff Adresse schreiben FFH die frist-Byte im look up table??

<span style="color: grey;"><span style="font-size: 10px">---------- Post hat um 16:57 Uhr ------ ---- zurück Nachricht wurde um 16:49 Uhr ----------</span></span>
Ich weiß nicht, warum schreiben Sie in dieses die erwartete addrees ist Anfang schreiben die Nachschlagetabelle von Adresse 0 zu 15, aber in der Adresse 1 schreiben 88h
benötigen Sie eine Adresse an r0 Zeiger befestigen, bevor MOVX an @ r0 ... willst du schreiben Tisch zu ex-RAM?
 
R0 Belastung mit 00 im ersten Programm dann, wenn es Schleife i inc R0 bis zu 1 einen so auf den Punkt, bis r0 erreichen 16d Ich möchte lesen und schreiben zu ex ram aber jetzt versuche ich zu schreiben oder was die Adresse an, um r0 legen
 
Ihr Programm versucht, die Kontrolle zu schreiben Stift, der nicht erforderlich ist. seit ro für die Adressierung verwendet wird, werden nur 256 externen Stellen zugänglich sein. schreiben Sie einfach MOVX @ r0, haben ein kompatibles externes RAM nach 8051. Sie haben zu schreiben.
 
Ja, ich schreibe Kontrolle Stift zu WE in ram i-Steuerelement zu laden u der Schaltung
 
oder es gibt keine Notwendigkeit, die Kontrolle es i aus Datenblatt wissen, dass die Daten gültig sein muss in steigenden Flanke geschrieben werden
 
Code:
 beginnen: MOV R0, # 00 MOV DPTR, # Onel loop16d: MOVC A, @ A + DPTR MOVX @ R0, A INC DPTR INC R0 CJNE R0, # 16d, loop16d MOV R0, # 01H; überschreiben # 01h mit 88h .. MOV A, # 088H MOVX @ R0, A JMP beginnen Onel: DB 0FFh, 010H, 020H, 060H, 060H, 060H, 0E0H, 0E0H, 0E0H, 0F0H, 0F0H, 0F8H, 0F8H, 078H, 0H
: wink :
 
Danke Ich Testen Sie Ihren Code aber noch nicht wie erwartet funktionieren Ich werde sehen Sie das Ergebnis in TH RAM [url = http://images.elektroda.net/43_1300284763.jpg]
 43_1300284763_thumb.jpg
[/url]

<span style="color: grey;"><span style="font-size: 10px">---------- Post um 16:25 Uhr hat ---------- zurück Die Nachricht wurde um 16:23 Uhr ----------</span></span>
Für den Code Endlosschleife das Ergebnis wie in Bild, sondern für einen Zyklus auf Adresse 1 Daten 88h und an der Adresse 8 Datenbits F8 geschrieben
 
Ihre Schaltung kann nicht funktionieren, weil / OE dauerhaft aktiviert ist, aber es muss nach / RD angeschlossen werden. In constrast, brauchen Sie nicht zu / CE Kontrolle, wenn Sie mehrere periperals haben wollen oder in den Ruhezustand Stromverbrauch zu reduzieren.
 
JA ich CONNECT TO PORT0 74165 (Parallel-Serien) über / OE im Datenblatt zeigen sie zu niedrig, und ich kann behoben werden Ihre Lösung testen zu OE und CE ACTIVE LOW rd treten

<span style="color: grey;"><span style="font-size: 10px">---------- Post hat um 17:53 Uhr ---------- zurück Nachricht wurde um 17:36 Uhr ----------</span></span>
Das Ergebnis ist das gleiche
 

Welcome to EDABoard.com

Sponsor

Back
Top