Les Microcontrôleurs 68HCXX

66
BEP - Systèmes Electroniques Numériques Sommaire Clic simple: animation suivante Clic sur: Sommaire Consultation du dossier par les élèves en autonomie. 1/66

description

Clic simple:  animation suivante. Clic sur:.  Sommaire. Les Microcontrôleurs 68HCXX. BEP - Systèmes Electroniques Numériques. Consultation du dossier par les élèves en autonomie. 1 /66. Sommaire. Choisir un menu. Les microcontrôleurs PIC 16Cxx. Sommaire. - PowerPoint PPT Presentation

Transcript of Les Microcontrôleurs 68HCXX

Page 1: Les Microcontrôleurs 68HCXX

BEP - Systèmes Electroniques Numériques

Sommaire

Clic simple: animation suivante

Clic sur:

Sommaire

Consultation du dossier par les élèves en autonomie.

1/66

Page 2: Les Microcontrôleurs 68HCXX

Microcontrôleur ou Microprocesseur?

Architecture interne: Von Neumann ou Harvard?

Les registres internes

Le jeu d’instructions et les modes d’adressage

La base de temps

Quitter

Sommaire

Choisir un menu

Mise en situation: - Evolution technologique - Analyse fonctionnelle

2/66

Page 3: Les Microcontrôleurs 68HCXX

L’évolution des produits domestiques (ou industriels) rend compte d’un phénomène directement lié à l’évolution des technologies:

Evolution technologique

3/66

Page 4: Les Microcontrôleurs 68HCXX

Miniaturisation

Intégration

•Progrès de la miniaturisation.Les téléphones portables en sont un exemple très actuel.

•Progrès de l’intégration.Le nombre de structures intégrées à un seul composant est de plus en plus important.Le nombre de circuits utilisés est ainsi réduit.

Mais cette miniaturisation ne peut se faire sans une évolution de la technologie utilisée.

Evolution technologique

4/66

Page 5: Les Microcontrôleurs 68HCXX

On comprendra aisément qu ’un système microprogrammé tel que le téléphone portable ne peut être géré par un système minimum à microprocesseur 6809: trop encombrant!

La solution est alors de remplacer le système minimum par un seul circuit:Le microcontrôleur.

Système minimum à 6809:•Microprocesseur•RAM•EPROM•PIA•Décodeur

5 circuits différents!!!

Solution:•Microcontrôleur

1 seul circuit!!!

Evolution technologique

5/66

Page 6: Les Microcontrôleurs 68HCXX

On retrouve ainsi les microcontrôleurs PIC dans de nombreuses applications industrielles ou domestiques.

Prenons l’exemple d’une télécommande infra-rouge:

Analyse fonctionnelle

Emission IR de la commande

FP3

Saisie toucheFP1

Reconnaissance toucheGénération commande

FP2

6/66

Page 7: Les Microcontrôleurs 68HCXX

La fonction FP1 a pour rôle de prendre en compte l ’appui sur une touche et de transmettre le code correspondant à la fonction FP2.

Analyse fonctionnelle

La fonction FP2 a pour rôle d ’identifier la touche à l ’aide du « code touche » et de générer le signal commande associé.

La fonction FP3 se charge de convertir et émettre le signal de commande sous forme de signal infra-rouge.

Code touche

Commande

Signal IR

Appui touche

Emission IR de la commande

FP3

Saisie toucheFP1

Reconnaissance toucheGénération commande

FP2

7/66

Page 8: Les Microcontrôleurs 68HCXX

La fonction FP2 « Reconnaissance touche et génération commande » est réalisée par une structure microprogrammée.

Analyse fonctionnelle

Emission IR de la commande

FP3

Code touche

Commande

Signal IR

Appui touche

Saisie toucheFP1

Reconnaissance toucheGénération commande

FP2

C ’est ici un microcontrôleur PIC qui se charge, par l ’exécution de son programme, de faire l ’acquisition du signal « code touche », et de générer de signal de commande correspondant.

Sommaire8/66

Page 9: Les Microcontrôleurs 68HCXX

Suivant le type d ’application envisagé, il est possible de faire appel à différents types de structures microprogrammées. Les plus répandues sont les suivantes:

Ex: PIC, 68HC11...

• Le microprocesseur.

• Le microcontrôleur.

Ex: PC, système minimum à 6809...

9/66

Page 10: Les Microcontrôleurs 68HCXX

6809Microprocesseur

Considérons dans un premier temps le système minimum à microprocesseur 6809 ou autre.

Seul, le 6809 ne peut fonctionner. Il requiert différentes ressources qui sont:

•Une mémoire programme (ROM ou PROM ou EPROM...).

•Une mémoire données (RAM).

•Une interface d ’entrées / sorties (PIA).

•Différents bus d ’interconnexion.

•Un décodeur d’adresses.Système minimum à 6809

MicroP

6809

ROM RAM PIA

Décodeur

10/66

Page 11: Les Microcontrôleurs 68HCXX

6809Microprocesseur

•Une mémoire programme (ROM ou PROM ou EPROM...)c'est une zone de mémoire dans laquellele μP ne peut que lire. On peut y trouver des informations prédéfinies sur le μC qui ne peuvent ni ne doivent être modifiées (telles que le programme dans la plupart des

applications industrielles)

•Une mémoire données (RAM).c'est une zone de mémoire dans laquellele μP peut lire ou écrire à tout instant lors de l'exécution d'un programme.On y trouve les données utiles à l'exécution de ce programme telles queles variables ;

•Une interface d ’entrées / sorties (PIA).

•Différents bus d ’interconnexion.

•Un décodeur d’adresses.Système minimum à 6809

MicroP

6809

ROM RAM PIA

Décodeur

11/66

Page 12: Les Microcontrôleurs 68HCXX

Microcontrôleur

Un système à microprocesseur nécessite une grande surface matérielle (nombreux circuits) ainsi qu’une bonne qualité des connexions.

Les microcontrôleurs permettent quant à eux de s ’affranchir de ces contraintes puisqu’ils intègrent en un seul circuit toutes les ressources propres à un système minimum.

12/66

Page 13: Les Microcontrôleurs 68HCXX

Microcontrôleur

Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme.

Les 68HCXX se déclinent selon 2 versions de mémoire de programme:-ROM (ou OTPROM), programmable une seule fois.Capacité: 8 k octets.-EEPROM, effaçable électriquement. Capacité: 512 k octet.

13/66

68HCXX

Page 14: Les Microcontrôleurs 68HCXX

Microcontrôleur

•Mémoire de données. Les 68HCXX disposent d ’une mémoire de données (RAM) de capacité 256 octets.

Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme.

68HCXX

14/66

Page 15: Les Microcontrôleurs 68HCXX

Microcontrôleur

68HCXX

•Mémoire de données. Les 68HC11 proposent un certain nombre de broches d ’entrées/sorties (52 broches) permettant l ’acquisition ou la transmission de signaux numériques.

Ainsi, les microcontrôleurs 68HC11 disposent des principales ressources internes suivantes: •Mémoire de programme.

•Interface Entrées/sorties.

15/66

Page 16: Les Microcontrôleurs 68HCXX

Microcontrôleur

•Mémoire de données. Certains 68HCXX possèdent 1 ou 2 ports série permettant la transmission série d ’informations numériques.

Ainsi, les microcontrôleurs 68HCxx disposent des principales ressources internes suivantes: •Mémoire de programme.

•Interface Entrées/sorties.

Et éventuellement:

•Port série.

68HCXX

16/66

Page 17: Les Microcontrôleurs 68HCXX

Microcontrôleur

•Mémoire de données. Certains 68HCXX possèdent en ressource interne un Convertisseur Analogique / Numérique 8bits permettant l ’acquisition de 4 à 8 signaux analogiques différents.

Ainsi, les microcontrôleurs 68HCXX disposent des principales ressources internes suivantes: •Mémoire de programme.

•Interface Entrées/sorties.

Et éventuellement:

•Port série.

•Convertisseur CAN.

68HCXX

17/66

Page 18: Les Microcontrôleurs 68HCXX

Microcontrôleur

Conclusion:

Les microcontrôleurs 68HCXX sont des circuits complets et performants.

Ils s ’appliquent complètement dans la mise en œuvre de systèmes microprogrammés simples.

Sommaire

68HCXX

18/66

Page 19: Les Microcontrôleurs 68HCXX

La majorité des structures microprogrammées utilisent une architecture classique appelée:Architecture Von Neumann.

Les microcontrôleurs PIC ainsi que bien d’autres structures sont construites autour d’un autre type d’architecture: Architecture Harvard.

Architecture Von Neumann:6809, 68HC11...

Architecture Harvard:PIC, DSP...

19/66

68HCXX

Page 20: Les Microcontrôleurs 68HCXX

Architecture Von Neumann

Prenons le cas du système minimum à 6809. Son architecture est de type Von Neumann.

La mémoire de programme associée par un autre circuit (EEPROM) contient comme son nom l ’indique le programme à exécuter.

Contenu de la mémoire

de programmeEPROM

20/66

68HCXX

Page 21: Les Microcontrôleurs 68HCXX

Architecture Von Neumann

LDA

NOP

ADDA

SWI

#$07

#$10

Inst

ruct

ion

Opé

rand

e

source

Après assemblage, chaque instruction et chaque opérande codée sur un octet (8 bits) est rangée dans une case de la mémoire.

Contenu de la mémoire

de programmeEPROM

12

86

07

8B

10

3F

...

...

...

objet

Considérons l ’exemple du programme source suivant.

La mémoire contient donc successivement les instructions et les opérandes du programme .

21/66

68HCXX

Page 22: Les Microcontrôleurs 68HCXX

Architecture Von Neumann

12

86

07

8B

10

3F

...

...

...

objet

Afin d ’exécuter le programme, le microprocesseur doit lire dans l’ordre le contenu de chacune des cases mémoires.

Pour cela, chacun des octets de la mémoire est acheminé vers le microprocesseur, via le bus de données.

Micro P

Bus de données

EPROM

22/66

68HCXX

Page 23: Les Microcontrôleurs 68HCXX

Architecture Von Neumann

12

86

07

8B

10

3F

...

...

...

objet

Micro P

Bus de données

Conclusion:

Dans le cas d’une architecture Von Neumann, le traitement d’une instruction et son opérande nécessite donc la lecture d’au moins deux cases mémoires (3 si l ’opérande est codée sur deux octets).

Cela correspond à une durée de 2 ou 3 cycles machine.

EPROM

23/66

68HCXX

Page 24: Les Microcontrôleurs 68HCXX

Architecture Harvard

Les microcontrôleurs PIC ont eux une architecture appelée Harvard qui présente de nombreux avantages.

Les différences avec les architectures Von Neumann résident essentiellement dans:

• la mémoire de programme• les bus.

24/66

PIC

Page 25: Les Microcontrôleurs 68HCXX

Architecture Harvard

Contenu de la mémoire

de programme

Comme précédemment, ce programme est composé d’instructions et d’opérandes.

Cependant, une case mémoire peut ici contenir à la fois une instruction et son opérande.

La mémoire de programme des PIC contient bien entendu le programme à exécuter.

25/66

PIC

Page 26: Les Microcontrôleurs 68HCXX

Architecture Harvard

Contenu de la mémoire

de programme

PIC

MOVLW 07

CLRW

ADDLW 01

MOVWF 05

Inst

ruct

ion

Opé

rand

esource

Considérons l’exemple du programme source suivant.

Après assemblage, chaque instruction et son opérande sont codées sur un mot binaire (12 ou 14 bits) puis rangées dans une case mémoire.

Chaque case de la mémoire contient donc:•l’instruction à exécuter.•l’opérande associée (non obligatoire).

0100

30073E01

0085

objet

...

...

...

...

...

26/66

Page 27: Les Microcontrôleurs 68HCXX

Architecture Harvard PIC

Unité decalcul

0100

3007

3E01

0085

objet

...

...

...

...

...Afin d’exécuter le programme, l’unité de calcul doit ensuite lire le contenu de chacune des cases de la mémoire.

Chaque mot binaire contenu dans la mémoire de programme est alors acheminé vers un décodeur d’instructions.

Décodeur

d’instructions

Le rôle de ce décodeur est de séparer pour chacun des mots binaires, l’instruction et la donnée (opérande).

donnée

instruction

27/66

Page 28: Les Microcontrôleurs 68HCXX

instruction

donnée

Architecture Harvard PIC

Unité decalcul

0100

3007

3E01

0085

objet

...

...

...

...

...D

écodeurd’instructions

Les instructions et les données sont ensuite acheminées simultanément vers l ’unité de calcul par l ’intermédiaire de deux bus différents.

Bus de DONNEES

Bus d’INSTRUCTIONS

28/66

Page 29: Les Microcontrôleurs 68HCXX

instruction

donnée

Architecture Harvard PIC

Unité decalcul

0100

3007

3E01

0085

objet

...

...

...

...

...D

écodeurd’instructions

Bus de DONNEES

Bus d’INSTRUCTIONS

Conclusion:

Dans le cas de l’architecture Harvard que possèdent les PIC, la lecture d ’une seule case mémoire permet le traitement entier d ’une instruction et de son opérande.

Un seul cycle machine est donc nécessaire.

Sommaire29/66

Page 30: Les Microcontrôleurs 68HCXX

Selon la version de 68HCXX utilisée, le nombre de registres internes au circuit est différent.

Ainsi, les registres présentés ci-après sont les plus couramment utilisés:

Registres d’E/S: PORT

Registre d’état: CCR

Registres de direction: DDR

Registre Compteur Programme: PC

Registre accumulateurs:A,B,X,Y

30/66

68HCXX

Page 31: Les Microcontrôleurs 68HCXX

Registre accumulateur A

Le registre accumulateur A est un registre 8 bits destiné à la manipulation générale des données.

A

b7 b6 b5 b4 b3 b2 b1 b0

Il peut donc contenir une donnée de 8 bits que l ’on appelle ici un littéral.

Ex: A

1 0 1 1 0 0 1 0

La donnée chargée dans le registre accumulateur A a pour valeur hexadécimale B2. Le registre A peut être comparé

aux registres A ou B du 6809.

Retour menu31/66

68HCXX

Page 32: Les Microcontrôleurs 68HCXX

Registres d’E/S PORT

Les microcontrôleurs 68HCXXpeuvent recevoir ou transmettre des informations logiques avec des périphériques extérieurs par l’intermédiaire de leurs ports d’E/S.

Micro PIC

périphériques

Por

ts d

 ’E

/S

32/66

68HCXX

Page 33: Les Microcontrôleurs 68HCXX

Registres d’E/S PORT

Suivant la version utilisée, les circuits proposent 2 ou 3 ports d ’E/S différents.voire plus

Micro PIC

périphériques

Afficheur

clavier

Por

t AP

ort B

Por

t C

Dans l ’exemple suivant, le port C est utilisé pour recevoir des informations provenant d ’un clavier.

Les ports A et B sont eux utilisés pour transmettre les données à afficher.

33/66

68HCXX

Page 34: Les Microcontrôleurs 68HCXX

Registres d’E/S PORT

L’utilisation des registres est ainsi la suivante:

•Pour transmettre une donnée sur un port, il faut ECRIRE la donnée dans le registre PORT correspondant.

•Pour recevoir une donnée sur un port, il faut LIRE la donnée dans le registre PORT correspondant.

Ecrire

Port

Don

née

à tr

ansm

ettr

e

Lire

PortD

onné

e re

çue

34/66

68HCXX

Page 35: Les Microcontrôleurs 68HCXX

Registres d’E/S PORT

Remarque 1:

Les registres PORTA, PORTB et PORTC sont analogues aux registres ORA et ORB du PIA 6821 de Motorola.

Retour menu35/66

68HCXX

Page 36: Les Microcontrôleurs 68HCXX

Registres de direction DDR

Les registres de direction DDR(8 bits) sont directement liés aux registres PORT.

Le rôle des registres DDR est de configurer chacune des lignes des ports soit en entrée, soit en sortie.

Les différentes broches (lignes) d’un même port peuvent donc avoir un rôle différent:transmettre ou recevoir une valeur logique (« 0 » ou  «1 »).

36/66

68HCXX

Page 37: Les Microcontrôleurs 68HCXX

Registres de direction DDR

La programmation des registres DDR est la suivante: DDR

b7 b6 b5 b4 b3 b2 b1 b0

01

Ligne R1

en entréeLigne R6

en sortie•La mise à « 1 » du bit programme la ligne correspondante en sortie.

•La mise à « 0 » du bit programme la ligne correspondant en entrée.

37/66

68HCXX

Page 38: Les Microcontrôleurs 68HCXX

Registres de direction DDR

Exemple:Programmons le port C en entrée et le port D en sortie.

Remarque: les ports ABE ne possèdent que des lignes d ’entrées ou de sortie unidirectionnelles.

Rc

0

Rc

1

R3

Rc

2

Rd

0

RB

3

RB

2

RB

1

Rd

7

RB

6

RB

5

RB

4

Port DPort C

68HCXX

EEEE S S S S S S S S

DDRC DDRD

111111110000

« 0 » = entrée« 1 » = sortie

En conséquence, les registres DDR ne se programment que pour les ports C et D .Exemple cicontre

DDRC x0DDRD FF

Retour menu38/66

68HCXX

Page 39: Les Microcontrôleurs 68HCXX

Registre d’état CCR

Le registre d’état CCR est un registre 8 bits.

Le rôle de ce registre est de donner diverses informations à l’utilisateur sur l’état de fonctionnement de l’unité de calcul suite au résultat d’une opération.

On s’intéressera en fait à seulement 2 bits du registre d’état.

CCR

b7 b6 b5 b4 b3 b2 b1 b0

39/66

68HCXX

Page 40: Les Microcontrôleurs 68HCXX

Registre d’état CCR

CCR

b7 b6 b5 b4 b3 b2 b1 b0

ZLe bit b2: Z (Zéro)Lorsqu’une opération arithmétique ou logique est réalisée, le bit Z est mis à 1 si le résultat est nul et à 0 dans le cas contraire.

Ex 1:CCR

b7 b6 b5 b4 b3 b2 b1 b0

CCR

b7 b6 b5 b4 b3 b2 b1 b0

Ex 2:

Ex 1: L ’unité centrale effectue l ’opération 7 - 6 = 1.

Ex 2: L ’unité centrale effectue l ’opération 7 - 7 = 0.

0

1

Z = 0

Z = 1

40/66

68HCXX

Page 41: Les Microcontrôleurs 68HCXX

Registre d’état CCR

CCR

b7 b6 b5 b4 b3 b2 b1 b0

Ex 1:CCR

b7 b6 b5 b4 b3 b2 b1 b0

CCR

b7 b6 b5 b4 b3 b2 b1 b0

Ex 2:

Ex 1: L’unité centrale effectue l’opération sur 8 bits:FE + 01 = FF

Ex 2: L ’unité centrale effectue l’opération hexadécimale:FF + 1 = 00 (et une retenue)

0

1

C = 0

C = 1

Le bit b0: C (Carry = retenue)Ce bit est positionné à 1 si une addition ou une soustraction génère une retenue depuis le bit de poids fort.

C

Retour menu41/66

68HCXX

Page 42: Les Microcontrôleurs 68HCXX

Compteur programme PC

Le registre PC est un registre spécifique 9 ou 11 bits, suivant le modèle de 68HC11.

b0b1b2b3b4b5b6b7b8b9

b10

PC

C’est en fait un compteur ordinal qui contient l’adresse en mémoire de la prochaine instruction à exécuter.

42/66

68HCXX

Page 43: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

Prenons l’exemple d’un programme objet stocké en mémoire de programme à partir de l’adresse 000:

01

3F

31

00

...

...

Prog.Adresses

000

001

002

003

004

005

43/66

68HCXX

Page 44: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

1er cycle machine:

Le registre PC est chargé avec l’adresse de la première instruction du programme.

000 000 0 0 0

Adresses

000

001

002

003

004

005

01

3F

31

00

...

...

Prog.

44/66

68HCXX

Page 45: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

2ème cycle machine :

De façon simultanée,

•Le registre PC s’incrémente.

•La donnée précédemment pointée par le registre PC est exécutée.

100 000 0 0 0

Exécutionde l ’instruction

01

Adresses

000

001

002

003

004

005

01

3F

31

00

...

...

Prog.

45/66

68HCXX

Page 46: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

3ème cycle machine :

De façon simultanée,

•Le registre PC s’incrémente.

•La donnée précédemment pointée par le registre PC est exécutée.

Exécutionde l ’instruction

010 000 0 0 0

3F

Adresses

000

001

002

003

004

005

01

3F

31

00

...

...

Prog.

46/66

68HCXX

Page 47: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

4ème cycle machine :

De façon simultanée,

•Le registre PC s’incrémente.

•La donnée précédemment pointée par le registre PC est exécutée.

Exécutionde l ’instruction

110 000 0 0 0

31

Adresses

000

001

002

003

004

005

01

3F

31

00

...

...

Prog.

47/66

68HCXX

Page 48: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

5ème cycle machine :

De façon simultanée,

•Le registre PC s’incrémente.

•La donnée précédemment pointée par le registre PC est exécutée.

Exécutionde l ’instruction

000 000 0 0 1

00

Adresses

000

001

002

003

004

005

01

3F

31

00

...

...

Prog.

48/66

68HCXX

Page 49: Les Microcontrôleurs 68HCXX

b0b1b2b3b4b5b6b7b8b9

b10

PC

Compteur programme PC

Conclusion

Le registre PC contient donc à l ’instant t l’adresse de la prochaine instruction à exécuter.

Ainsi, lorsqu’une instruction est exécutée, la suivante est déjà pointée par le registre PC.

Exécutionde l ’instruction

Adresses

000

001

002

003

004

005

SommaireRetour menu

01

3F

31

00

...

...

Prog.

49/66

68HCXX

Page 50: Les Microcontrôleurs 68HCXX

Comme tous les circuits microprogrammés, les microcontrôleurs PIC 16Cxx fonctionnent à partir d’une base de temps ( horloge ) appliquée par des composants externes.

Ainsi, il existe 4 modèles de PIC selon la fréquence d’horloge utilisée :•Version XT

•Version HS

•Version RC

•Version LP

Version XT:oscillateur à quartz jusqu’à 4 MHz.

Version XT:oscillateur à quartz jusqu’à 4 MHz.

Version HS (High Speed):oscillateur à quartz jusqu’à 20 MHz.

Version HS (High Speed):oscillateur à quartz jusqu’à 20 MHz.

Version RC (Résistance-Condensateur):oscillateur RC jusqu’à 4 MHz.

Version RC (Résistance-Condensateur):oscillateur RC jusqu’à 4 MHz.

Version LP (Low Power):oscillateur à quartz jusqu’à 200 kHz. Prévu pour des applications à faible consommation.

Version LP (Low Power):oscillateur à quartz jusqu’à 200 kHz. Prévu pour des applications à faible consommation.

50/66

68HCXX

Page 51: Les Microcontrôleurs 68HCXX

Le rôle de l’horloge est de cadencer les différentes opérations effectuées par le microcontrôleur et notamment l’exécution des instructions du programme.

Ainsi, le signal d’horloge possède les caractéristiques suivantes:

•Signal carré.

•De fréquence f et de période T.

Signal d ’horloge OSC

Temps tT = 1 / f

51/66

68HCXX

Page 52: Les Microcontrôleurs 68HCXX

Le signal d’horloge OSC est en fait délivré par un oscillateur externe qui peut être un quartz ou une cellule RC.

Signal d ’horloge OSC

Temps t

Ce signal appliqué au PIC est ensuite, de façon interne, divisé par 4.

On appelle alors cycle machine la durée caractérisant 4 périodes d’horloge.

Cycle machine

Cycle machine

Cycle machine

52/66

68HCXX

Page 53: Les Microcontrôleurs 68HCXX

Cette base de temps permet alors de rythmer l’exécution des instructions du programme:

Signal d ’horloge OSC

Temps tAinsi, au cours de chaque cycle machine :

•Recherche de l’instruction dans l’adresse pointée par le registre PC.

•Exécution de l’instruction qui était pointée par le registre PC au cours du cycle précédent.

•Incrémentation du registre PC.

PC+2PC+1PC

Recherche Instr (PC)

ExécutionInstr (PC-1)

Recherche Instr(PC+1)

ExécutionInstr(PC)

Recherche Instr(PC+2)

ExécutionInstr(PC+1)

Cycle 0 Cycle 1 Cycle 2

53/66

68HCXX

Page 54: Les Microcontrôleurs 68HCXX

Conclusion:

Il faut donc un cycle machine pour exécuter une instruction.Un T pour incrémenter le PC.Deux T pour l’exécution du code machine.Un T pour prendre le code.soit 4 périodes d’horloge.

Signal d’horloge OSC

Temps t

Ex:Dans le cas d’un oscillateur à quartz de 20 MHz, le temps d’exécution d ’une instruction est donc de :

1 instruction = 1 cycle machine = 4 x Tosc

Tosc = 1/foscSi fosc = 20 MHz

Tosc = 50 ns

D’où 4 x Tosc = 200 ns.

200 ns

Sommaire54/66

68HCXX

Page 55: Les Microcontrôleurs 68HCXX

Outre la facilité de mise en œuvre matérielle, l’intérêt des microcontrôleurs 68HCXX réside dans le jeu d’instruction et les modes d’adressage considérablement réduits par rapport à d’autres structures programmables.

55/66

68HCXX

Page 56: Les Microcontrôleurs 68HCXX

Jeu d’instructions

En plus de bénéficier d’une architecture dite Harvard, les microcontrôleurs PIC sont constitués autour d ’une architecture appelée RISC.

Reduced Instruction Set Computer

= Circuit à jeu d’instructions réduit

Ainsi, contrairement à de nombreux circuits mettant en jeu une centaine d ’instructions différentes, les PIC voient leur nombre d’instructions limitées à 33 ou 35.Les 68HCxx possèdent un jeu de 256 instructions

33 ou 35 instructions seulement!

56/66

Page 57: Les Microcontrôleurs 68HCXX

Jeu d’instructions

Les différents mnémoniques du jeu d’instructions adoptent certaines appellations dont il est nécessaire d’être informé:

•# k est l ’opérande, c’est-à-dire une valeur codée sur un octet (8 bits).

•LDAA est le code opération, c’est aussi une valeur codée sur

un octet (8 bits).•L ’ensemble code opération opérande forme l ’instruction

Ex:MOVLW k ( PIC)

LDAA k ( 68HC11 )

L ’opérande k est placé dans le registre accumulateur A.

k A

57/66

Page 58: Les Microcontrôleurs 68HCXX

Jeu d’instructions

Les différents mnémoniques du jeu d ’instructions adoptent certaines appellations dont il est nécessaire d ’être informé:

•A est le symbole correspondant au registre accumulateur A•$1000 à une adresse (valeur de l ’adresse mémoire).

Ex: LDAA $1000

Le contenu du registre de l ’accumulateur A est transféré dans l ’adresse spécifiée $1000

A $1000

58/66

Page 59: Les Microcontrôleurs 68HCXX

Jeu d’instructions

Les différents mnémoniques du jeu d’instructions adoptent certaines appellations dont il est nécessaire d’être informé:

Ex: BSET 4F,FFLes bits contenus dans 4F sont additionnés logiquement à la valeur 0Fresultat ($4F) = FF

1 $4F

•$4F est la valeur de l ’adresse •$0F est un masque (0000 1111).

59/66

Page 60: Les Microcontrôleurs 68HCXX

Modes d’adressage

les modes d’adressage sont réduits puisqu’on en compte que 4:

•Adressage inhérent :•pas d ’opérande.il correspond à des opérations sur registres Efface le contenu de

l ’accumulateur A

Ex: CLRA

60/66

Page 61: Les Microcontrôleurs 68HCXX

Modes d’adressage

La encore, les modes d’adressage sont réduits puisqu’on en compte que 4:

•Adressage inhérent.

•Adressage immédiat L ’accumulateur est chargé avec une donnée de valeur $12

Ex: LDAA #$12

61/66

Page 62: Les Microcontrôleurs 68HCXX

La encore, les modes d’adressage sont réduits puisqu’on en compte que 4:

•Adressage immédiat.

•Adressage direct.

•Adressage bit à bit.

Il permet de manipuler n’importe quel bit individuel de n’importe quel registre.

Modes d’adressage

Ex: BSET f, b

62/66

Page 63: Les Microcontrôleurs 68HCXX

La encore, les modes d’adressage sont réduits puisqu’on en compte principaleent 5:

•Adressage immédiat.

•Adressage direct.

•Adressage bit à bit.

•Adressage relatif.

LDAA 003Aretour DECA

BNE retour

Mode d ’adressage utilisé lors des tests et des boucles utilisant une étiquettetant que A est différent de zero on revient à la ligne retour

Modes d’adressage

Sommaire63/66

Page 64: Les Microcontrôleurs 68HCXX

La encore, les modes d’adressage sont réduits puisqu’on en compte principalement 5:

•Adressage immédiat.

•Adressage direct.

•Adressage bit à bit.•Adressage relatif•Adressage étendu .

LDAA $003AOn utilise pour l ’opérande une adresse le contenu de A est égal au contenu de $003A

(003A) A

Modes d’adressage

Sommaire64/66

Page 65: Les Microcontrôleurs 68HCXX

Structure interne du 68HC11

65/66

Page 66: Les Microcontrôleurs 68HCXX

Les 68HCXX  n’ont désormais plus de secrets pour vous...

Il est temps de les mettre en œuvre dans une application...

66/66