Registre d'état 16F84

B

brpathirana

Guest
Hellow, j'ai quelques doutes quant à microcontrôleur registres de l'état.Si nous considérons le pic 16f84;

1) Pourquoi il est composé de 2 registres de l'état de nos 2 sites à?

2) S'il est nécessaire de changer de banque 0 à la Banque 1, est-il possible d'écrire la commande suivante façon?
BSF 03h, 5
Qu'est-ce qui se passera si nous écrivons la commande de la manière suivante?
BSF 83h, 5

Pl.aidez-moi.

 
1.il n'ya qu'un seul registre d'état.La raison pour laquelle il semble être à deux endroits, c'est que la plupart des programmes ont besoin d'y accéder fréquemment quelle que soit la banque est actuellement sélectionné.Si l'on considère que toutes les instructions bits tests dans le registre d'état seront soit exécuter l'instruction suivante ou sauter par-dessus, si la banque a dû être mise, il serait impossible de passer outre l'instruction, sans y atterrir dans la banque de changement de code.Vous verrez quelques autres registres sont également cartographiés dans toutes les banques.

2.Vous pouvez obtenir un avertissement de l'assembleur pour vérifier la banque est correctement sélectionnés, mais on verra que la même opération.

Incidemment, il ya une meilleure façon de bien écrire le code qui le rend plus lisible.Au lieu d'utiliser registre et les numéros peu, si vous incluez le fichier d'entête 16F84.inc au début de votre programme, vous pouvez utiliser le registre et les noms de peu à la place.

Par exemple, vous pouvez écrire "03h BSF, 5" que le statut BSF ", RP0" qui est plus facile à lire.

Si vous utilisez MPLAB comme assembleur (gratuit et très recommandé), vous pouvez également utiliser la directive banksel.Tout ce que vous faire est d'écrire banksel suivie du nom du registre que vous allez à l'étape suivante et il va générer le code pour définir le RP0 et RP1 bits pour vous.Sur un 16F84 ce n'est pas compliqué à définir les bits bancaire, mais si vous émigrer vers les grandes CIP où les registres sont répartis sur plusieurs banques, il devient beaucoup plus facile lorsque vous utilisez banksel.

Brian.

 

Welcome to EDABoard.com

Sponsor

Back
Top