Qu'est-ce que JB utilisé pour ici?
J'essaie de comprendre certains exemple asm qui est venu avec un conseil de développement (XL400), en vue de la conversion à C.
L'asm code est inclus ci-dessous, malheureusement, la documentation, telle qu'elle est, est traduit très mal de Chinois, ce qui fait qu'il est pire qu'inutile.
Aussi c'est un long temps depuis que je l'ai utilisé asm!
Dans le code il y a un JB d'instruction dans le DÉLAI de la sous-routine (troisième de la dernière ligne de code). Je ne comprends pas ce qu'il fait ou comment il est censé fonctionner. Googler JB résultats en matière d'explication pour une forme différente (JB étiquette) donc je ne sais pas si l'asm est bien, même??
Aide appréciée, Ta
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
ORG 0080H
MOV P0,#00000001B ;- Screen
ACALL ENABLE
MOV P0,#00000001B ;- Screen
ACALL ENABLE
MOV P0,#00111000B ;Display
ACALL ENABLE
MOV P0,#00001111B ;Show switch control
ACALL ENABLE
MOV P0,#00000110B ;Input mode
ACALL ENABLE
MOV P0,#0C0H ;Data memory address
ACALL ENABLE
mov p0,#01000001b ;ASCII code
SETB RS
CLR RW
CLR E
ACALL DELAY
SETB E
AJMP $
ENABLE: CLR RS ;Send orders
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY: MOV P0,#0FFH
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;Judgement busy signs
RET
END
OriginalL'auteur Toby | 2012-11-20
Vous devez vous connecter pour publier un commentaire.
Le JB instruction en assembleur 8051 saute à l'adresse indiquée par l'étiquette dans le deuxième opérande si le nombre de bits spécifié par le premier opérande est réglé. Si dans votre cas, il va passer à
MOV P0,#0FFH
siP0.7
est réglé.La
JB label
d'instructions, vous faites référence est un 8086 instruction (saut ci-dessous sur la base du résultat de l'instruction CMP juste avant) donc vous avez été à la recherche sur la mauvaise page.EDIT: je ne sais pas exactement quel type de LCD qu'ils utilisent, mais je pense qu'il est très occupé drapeau - que ces écrans sont tous assez étroitement liée à la vénérable Hitachi 44780. Dans le conseil d'administration de l' schéma P0.7 est connecté à l'affichage de la broche 14, qui est généralement DB7, et c'est là que le occupé le drapeau vie. Bien sûr, il est toujours préférable d'utiliser la documentation de l'affichage réel, mais cette une est probablement assez proche et pourrait vous aider à démarrer. Aussi, que l'affichage est si populaire qu'il est très facile de trouver un code dans toutes les langues possibles sur howto programme. Peut-être plus facile de suivre cette voie que de désosser l'assemblée.
OriginalL'auteur fvu
Ressemble occupé/boucle d'attente pour le contrôleur de l'écran LCD afin d'être prêt après une commande:
http://www.keil.com/support/man/docs/is51/is51_jb.htm
OriginalL'auteur iabdalkader
(Avertissement: je ne sais pas 8051 langage d'assemblage.)
De http://www.win.tue.nl/~aeb/comp/8051/set8051.html#51jb
On dirait qu'il va chercher à le 7e peu de P0, puis sauter pour RETARDER si le bit est défini.
OriginalL'auteur Simon Nickerson