Haben Teil Code für die serielle Kommunikation zwischen 8051 und externes Gerät aufgeführt, aber ich verstehe nicht das Unterprogramm X00D6. Wie bricht das Programm aus der Schleife ab, da der Code R7 auf FF setzt und dann mit 0 vergleicht? Was macht die Einstellung von P0 auf # 10 und dann die Einstellung auf 0? Wie verhält sich P0 zu R7? Es scheint, dass R7 nur ein Register im Rest des Codes verwendet wird.8051 Mikrocontroller serielle Schnittstelle Schleifen mit P0
mov r7,#0ffh ; 00cf 7f ff
mov sbuf,a ; 00d1 f5 99
acall X00d6 ; 00d3 11 d6
ret ; 00d5 22
X00d6:
mov p0,#10h ; 00d6 75 80 10
mov p0,#0 ; 00d9 75 80 00
cjne r7,#0,X00d6 ; 00dc bf 00 f7
ret ; 00df 22