• Aucun résultat trouvé

TD Microcontrôleur, famille PIC 6pDQFHVHW

N/A
N/A
Protected

Academic year: 2022

Partager "TD Microcontrôleur, famille PIC 6pDQFHVHW"

Copied!
49
0
0

Texte intégral

(1)

TD Microcontrôleur, famille PIC

6pDQFHVHW

Lecture écriture d’une mémoire RAM

'DQVFHSUREOqPHQRXVpWXGLRQVODUpDOLVDWLRQG¶XQHFRQVROHSHUPHWWDQWGHOLUHHWG¶pFULUH

©PDQXHOOHPHQWª GDQV XQH PpPRLUH 5$0 FHV RSpUDWLRQV VH IRQW QRUPDOHPHQW VRXV OH FRQWU{OH G¶XQ ©SURFHVVHXUª ORUVTXH OH FDOFXODWHXU HVW GpFRQQHFWp VRUWLHV HQ KDXWH LPSpGDQFH

/DPpPRLUH5$0TXHQRXVpWXGLRQVHVWH[WHQVLEOHMXVTX¶jNPRWVGHELWVXQNPRWV YDXW PRWV (OOH VH FRPSRVH GH FLUFXLWV LPSULPpV RX FDUWHV GH NPRWV FKDFXQH HQIRQFpHVGDQVOHVFRQQHFWHXUVG¶XQMHXGHOLJQHVRX08/7,%86YRLUODILJXUH

/H08/7,%86FRPSUHQG

XQEXVG¶DGUHVVHVGHOLJQHV$$«$

XQEXVGHGRQQpHVGHOLJQHV''«'

XQHOLJQH5: pFULWXUH OHFWXUH GHVOLJQHVG¶DOLPHQWDWLRQV

pYHQWXHOOHPHQWGHVOLJQHVG¶LQKLELWLRQGXGLVSRVLWLIGHVpOHFWLRQQRXVQ¶HQIHURQV SDVXVDJHLFL

2Q GpVLUH OLUH HW pFULUH OD PpPRLUH 5$0 HQ FRGH KH[DGpFLPDO j SDUWLU G¶XQH FRQVROH FRPSUHQDQWYRLUILJXUH

/HVWRXFKHVGHFRGHVHQSUHVVDQWVXUO¶XQHGHFHVWRXFKHVRQFKDUJHOHFRGHG¶XQ FKLIIUHKH[DGpFLPDO$%&'()GDQVODPpPRLUHG¶XQUHJLVWUH WDPSRQ&

/DWRXFKHGHVpOHFWLRQG¶XQHDGUHVVH6(/

/D WRXFKH ,1& FHWWH WRXFKH SHUPHW G¶LQFUpPHQWHU OH VpOHFWHXU G¶DGUHVVHV HW G¶REWHQLUHQPrPHWHPSVXQHOHFWXUHGHODSRVLWLRQPpPRLUHDGUHVVpH

/DWRXFKH(&5HOOHSHUPHWG¶pFULUHjODSRVLWLRQPpPRLUHVpOHFWLRQQpHOHVGHX[

GHUQLHUVFRGHVHQWUpVDXFODYLHUPRLWLpGURLWHGXUHJLVWUH&HWDXVVLG¶LQFUpPHQWHU O¶DGUHVVHVpOHFWLRQQpHGHPDQLqUHjIDFLOLWHUO¶pFULWXUHGHVHJPHQWVGHSURJUDPPH 'HX[ GLVSRVLWLIV G¶DIILFKDJH IRQFWLRQQHQW HQ SHUPDQHQFH YLVXDOLVDQW G¶XQH SDUW O¶DGUHVVHHWG¶DXWUHSDUWOHFRQWHQXGHODPpPRLUHDGUHVVpH

I - Etude de la mémoire (figure 2)

/DILJXUHGRQQHOHVFKpPDG¶XQHGHPLFDUWHPpPRLUHFRPSRVpHGHFLUFXLWVLQWpJUpVGH PRWV GH ELWV FKDFXQ PpPRLUH GX W\SH GH 0RWRUROD HW GH FLUFXLWV GH GpFRGDJH G¶DGUHVVH

&KDTXHFLUFXLWLQWpJUpFRPSRUWHERUQHVGHYDOLGDWLRQ&6&6&6&6&6HW

&6 /HFLUFXLWHVWVpOHFWLRQQpORUVTXHVHV&6LVRQWjHWOHV&6LVRQWj

4XHOOHV VRQW OHV ]RQHV PpPRLUHV SODJHV G¶DGUHVVHV DGUHVVH GH GpEXW HW DGUHVVH GH ILQ SHUPHWWDQWG¶DFFpGHUDX[FLUFXLWVHWGHODGHPLFDUWHGHODILJXUH"

0rPHTXHVWLRQSRXUO¶DXWUHGHPLFDUWHQRQUHSUpVHQWpHVXUODILJXUH

(2)

7'0LFURFRQWU{OHXU ,16$*(

II - Encodage d’un clavier

2Q GpVLUH FRQFHYRLU XQ GLVSRVLWLI HQFRGDQW WRXFKHV « $ % «) VXU ILOV

&HVWjGLUHTXHO¶DSSXLVXUODWRXFKHGRLWIRXUQLUODYDOHXUVXUOHVILOV/DWRXFKHOD YDOHXUHWDLQVLGHVXLWH

°°

°

¯

°°

°

®

­

) (

#

2QVXSSRVHUDTXHODSUHVVLRQVXUXQHWRXFKHIHUPHXQLQWHUUXSWHXUVLPSOH

(QDQDO\VDQWFHWpQRQFpYpULILHUTXHOHSUREOqPHHVWPDOSRVpOHFRUULJHUSXLVUpDOLVHU OHV\VWqPHDGpTXDW

III - Réalisation du registre tampon C (figure 3)

2QSURSRVHPDLQWHQDQWGHUpDOLVHUOHUHJLVWUHWDPSRQ&&HUHJLVWUHSHUPHWWUDGHFKDUJHU OH EXV G¶DGUHVVHV ELWV HW OH EXV GH GRQQpHV ELWV j SDUWLU GHV YDOHXUV WDSpHV VXU OH FODYLHU

/HUHJLVWUH&HVWIRUPpGHEDVFXOHVW\SH'&HUHJLVWUHUHoRLWXQQRXYHDXFRGHGXFODYLHU HQ & & & & HW GpFDOH DXWRPDWLTXHPHQW G¶XQ SDV OHV DQFLHQV FRGHV OH FRGH VLWXp HQ

&&&&HVWSHUGX

4XHOOHHVWODWDLOOHHQELWVGXUHJLVWUH&"&RPELHQGHEDVFXOHVVRQWQpFHVVDLUHV"

'HVVLQHUHQWLqUHPHQWOHUHJLVWUH&0HWWUHHQpYLGHQFHOHFKHPLQVXLYLSDUOHVGRQQpHV GXFODYLHUDXVpOHFWHXUG¶DGUHVVHVDLQVLTXHOHVVLJQDX[GHFRQWU{OH

IV - Réalisation du sélecteur d’adresses (figure 3)

&¶HVW OH FLUFXLW TXL DFWLRQQH GLUHFWHPHQW OH EXV G¶DGUHVVH PpPRLUH ,O V¶LQLWLDOLVH DYHF OD FRPPDQGH6(/HWUHoRLWODFRPPDQGH,1&

'HVVLQHUHQWLqUHPHQWFHFLUFXLWHQLQFOXDQWOHVVLJQDX[GHFRQWU{OH

V - Réalisation du contrôleur de bus de données (figure 3)

&¶HVWOHFLUFXLWTXLSHUPHWG¶pFULUHGDQVODPpPRLUH5HFHYDQWODFRPPDQGH(&5LOSODFH OD PpPRLUH HQ PRGH G¶pFULWXUH SXLV FKDUJH OH EXV GH GRQQpHV DYHF OHV YDOHXUV GHV ELWV GH SRLGV IDLEOHV GX UHJLVWUH & ,O LQFUpPHQWH HQVXLWH O¶DGUHVVH PpPRLUH HW SODFH OD PpPRLUH HQ PRGHGHOHFWXUH

'HVVLQHUFRPSOqWHPHQWFHFLUFXLW4XHOOHFDUDFWpULVWLTXHSDUWLFXOLqUHGRLWLOFRPSRUWHU"

(3)

(4)

7'0LFURFRQWU{OHXU ,16$*(

(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)

TD Microcontrôleur, famille PIC

6pDQFH

Démultiplexage d’adresses

2QVRXKDLWHFRPPDQGHUDYHFXQPLFURFRQWU{OHXUVRUWLHVTXHOFRQTXHVDVVRFLpHVjGHV YR\DQWVGHVLJQDOLVDWLRQ2QYHXWSRXYRLUPRGLILHUO¶pWDWGHFKDTXHVRUWLHDFWLYHRXQRQ DFWLYHVDQVPRGLILHUO¶pWDWGHVDXWUHVVRUWLHV2QYHXWDXVVLSRXYRLUPHWWUHj]pURWRXWHV OHVVRUWLHVIDFLOHPHQW

$ILQ GH PLQLPLVHU OH QRPEUH GH ILOV QpFHVVDLUHV DX SLORWDJH GHV VRUWLHV RQ SURSRVH G¶XWLOLVHUGHX[GpPXOWLSOH[HXUV+&FI)LJXUH

/DILQDOLWpGHFHWH[HUFLFHHVWGHUpDOLVHUOHFkEODJHHWODORJLTXHHQWUHXQPLFURFRQWU{OHXU GHW\SH3,&HWOHVHQWUpHVGHV+&GHOD)LJXUH

)LJXUH6ROXWLRQSURSRVHSRXUOHSLORWDJHGHVRUWLHV/HV/('V\PEROLVHQWOHVVRUWLHV

I – Solution sans circuits 74HC259

6DQVOHVGpPXOWLSOH[HXUV+&FRPELHQGHILOVVHUDLHQWQpFHVVDLUHVDXSLORWDJHGHV VRUWLHV"

&HWWHVROXWLRQHVWHOOHWRXMRXUVFRQYHQDEOH"

(14)

7'0LFURFRQWU{OHXU ,16$*(

II – Solution retenue : utilisation de circuits 74HC259

$QDO\VHUODWDEOHGHYpULWpGXFLUFXLW+&FI)LJXUHHW)LJXUH

$YHFXQVHXOFLUFXLWFRPELHQGHVRUWLHVSHXYHQWrWUHSLORWpHV"&RPELHQGHELWVRXILOV VRQWQpFHVVDLUHVDXSLORWDJHGHFHFLUFXLW"

4XHOVVRQWOHVPRGHVGHIRQFWLRQQHPHQWGHFHFLUFXLW"

'¶DSUqV OH FDKLHU GHV FKDUJHV TXHOV VRQW OHV PRGHV GH IRQFWLRQQHPHQW GX +&

XWLOHVjQRWUHV\VWqPHHWTXHOOHVIRQFWLRQVOHXUVVRQWDVVRFLpHV"

3RXU OHV PRGHV ©GHFRGHUª HW ©DGUHVVDEOH ODWFKª SUpFLVH] TXDQG OD YDOHXU GH OD GRQQpHGHVWDSSOLTXpHVXUXQHVRUWLH4

III – Liaison microcontrôleur Ù Ù Ù Ù système de 16 voyants

2QVHSODFHPDLQWHQDQWFRWpPLFURFRQWU{OHXU2QDVVRFLHXQHDGUHVVHjFKDTXHYR\DQWRX VRUWLH2QSLORWHUDO¶pWDWG¶XQHVRUWLHHQVpOHFWLRQQDQWFHWWHVRUWLHJUkFHjVRQDGUHVVHSXLVHQ pFULYDQWVRQQRXYHOpWDWVXUOHEXVGHGRQQpHV(QILQRQYDOLGHUDOHFKDQJHPHQWG¶pWDWGHOD VRUWLH

&RPELHQGHELWVG¶DGUHVVHVVRQWQpFHVVDLUHVDXSLORWDJHGHVYR\DQWV"

'HPrPHSRXUOHVELWVGHGRQQpHV"

6DFKDQW TXH O¶RQ YHXW SRXYRLU PHWWUH WRXWHV OHV VRUWLHV j IDFLOHPHQW HW TX¶LO HVW QpFHVVDLUH GH YDOLGHU OHV GRQQpHV SRXU HIIHFWXHU OH FKDQJHPHQW G¶pWDW G¶XQH VRUWLH FRPELHQ GHELWVVRQWQpFHVVDLUHVDXFRQWU{OHGHFHV\VWqPH"

IV – Réalisation du câblage

$ TXRL GRLWRQ UHOLHU OHV HQWUpHV $ $ HW $ SXLV ' GHV +&" 3UpYRLU OD YDOLGDWLRQGHVGRQQpHV

&RPPHQWSHXWRQSLORWHUVRUWLHV"5pDOLVHUOHVFKpPDGHFkEODJHGXEXVG¶DGUHVVHQH SDVRXEOLHUODYDOLGDWLRQGHVGRQQpHV«

$MRXWHU OD ORJLTXH SRXU SHUPHWWUH XQH PLVH j ]pUR GH WRXWHV OHV VRUWLHV RQ GLVSRVHUD G¶XQELWUHVHWSURYHQDQWGXPLFURFRQWU{OHXU

(15)

)LJXUH6FKpPDIRQFWLRQQHOGX+&

)LJXUH7DEOHGHYpULWpGX+&

(16)

,16$*(,)

7R*

TD Microcontrôleur, famille PIC

6pDQFH

Première application avec un PIC : faire clignoter une LED

/H EXW GH FHWWH VpDQFH GH 7' HVW G¶pFULUH OH SURJUDPPH DVVHPEOHXU SRXU OH 3,&&

SHUPHWWDQWGHIDLUHFOLJQRWHUXQH/('/HVFKpPDGHO¶DSSOLFDWLRQHVWSURSRVpVXUOD)LJXUH 'qVTXHOHPRQWDJHVHUDPLVVRXVWHQVLRQOD/('GHYUDFOLJQRWHULQGpILQLPHQWSpULRGH GHPLOOLVHFRQGHV

)LJXUH6FKpPDGHO¶DSSOLFDWLRQ

I – Organigramme du programme

'HVVLQHU O¶RUJDQLJUDPPH GH O¶DSSOLFDWLRQ 3RXU OD WHPSRULVDWLRQ RQ IHUD DSSDUDvWUH XQH IRQFWLRQ©7HPSRª

(17)

II – Fonction Tempo

/H FRGH DVVHPEOHXU VXLYDQW HVW FHOXL G¶XQH IRQFWLRQ GH WHPSRULVDWLRQ /HV YDULDEOHV Tempo_value_B1 HWTempo_value_B2 VRQW VWRFNpHV HQ 5$0 DX[ DGUHVVHV [ HW [/HPLFURFRQWU{OHXUHVWFDGHQFpj0+]

1 Tempo_Wms:

2 BCF STATUS, RP0 ; 3 MOVWF Tempo_value_B1 ; 4 Tempo_B1:

5 MOVLW .249 ;

6 MOVWF Tempo_value_B2 ; 7 Tempo_B2:

8 NOP ;

9 DECFSZ Tempo_value_B2,1;

10 GOTO Tempo_B2 ;

11 DECFSZ Tempo_value_B1,1;

12 GOTO Tempo_B1 ;

13 RETURN ;

D ,QGLTXH]SRXUFKDTXHOLJQHGHFHWWHIRQFWLRQFHTXLHVWUpDOLVpSDUOHPLFURFRQWU{OHXU FIGRFXPHQWVFRQVWUXFWHXU)LJXUH

E (QGpGXLUHO¶RUJDQLJUDPPHGHODIRQFWLRQTempo_Wms

F 'RQQHU OH QRPEUH GH F\FOHV FRUUHVSRQGDQW j O¶H[pFXWLRQ GH FKDTXH LQVWUXFWLRQ FI GRFXPHQWVFRQVWUXFWHXU)LJXUH

G (Q GpGXLUH OH WHPSV G¶H[pFXWLRQ GH OD IRQFWLRQTempo_Wms HQ IRQFWLRQ GH OD YDOHXU FRQWHQXHGDQVOHUHJLVWUH:FI)LJXUH

H -XVWLILHUO¶XWLOLVDWLRQGHO¶LQVWUXFWLRQNOPOLJQHHWGHODYDOHXUOLWWpUDOHOLJQH

I $YHF XQ VHXO DSSHO j FHWWH IRQFWLRQ TXHOOH HVW OD GXUpH GH OD WHPSRULVDWLRQ OD SOXV ORQJXHTXHO¶RQSXLVVHUpDOLVHU"

III – Programme principal

D 'RQQHU OHV LQVWUXFWLRQV SHUPHWWDQW GH FRQILJXUHU OD EURFKH 5% SRXU SLORWHU OD /(' FIGRFXPHQWV)LJXUH)LJXUHHW)LJXUH

E 'RQQHUOHVLQVWUXFWLRQVSRXUDOOXPHUHWpWHLQGUHOD/('FI)LJXUHHW)LJXUH

F (FULUH HQ DVVHPEOHXU OH SURJUDPPH SULQFLSDO 3RXU REWHQLU XQ SURJUDPPH FRPSOHW YRXVSRXUUH]FRPSOpWHUOHOLVWLQJVXLYDQW

(18)

7'0LFURFRQWU{OHXU ,16$*(

#include <p16F84.inc> ; def. des variables du microprocesseur __CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _RC_OSC; config. du PIC

;***** DEFINITION des VARIABLES Tempo_value_B1 equ 0x0020

Tempo_value_B2 equ 0x0021

;**************************************************************

ORG 0x0000 ; vecteur reset

GOTO main ; aller au début du programme

Tempo_Wms:

… ; code de la question II

RETURN

main: ; programme principal, à vous…

END ; directive 'fin de programme'

(19)

Annexes :

Extraits de la documentation Microchip PIC16C84

KWWSZZPLFURFKLSFRPGRZQORDGVHQGHYLFHGRFFSGI

)LJXUH2UJDQLVDWLRQGHODPpPRLUH3,&&

(20)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH-HXG¶LQVWUXFWLRQVGHV3,&&;;;

(21)

)LJXUH)RQFWLRQQHPHQWGX3257%

(22)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH([HPSOHG¶XWLOLVDWLRQHWGHVFULSWLRQGHVUHJLVWUHVDVVRFLpVDX3257%

)LJXUH&\FOHVKRUORJHHWLQVWUXFWLRQV

(23)

TD Microcontrôleur, famille PIC

Séances 5 et 6

6FUXWDWLRQSDUEDOD\DJH

DSSOLFDWLRQSRXUOHFRGDJHGHVWRXFKHVG·XQFODYLHU

Le but de cette séance de TD est d’écrire en assembleur (famille PIC16XXX) une fonction permettant de scruter un clavier de 16 touches et de donner la valeur de la touche pressée (on parlera de décodage). On supposera qu’une seule touche est appuyée à la fois.

Le schéma interne du clavier est décrit sur la Figure 1.

La fonction de scrutation/décodage sera appelée par le programme principal. Cette fonction devra attendre qu’une touche soit pressée. Elle retournera la valeur décodée (de 0 à F).

0

1 2 3

4

5 6 7

8

9 A B

C

D E F RA0

RA1 RA2 RA3

RB0 RB1 RB2 RB3

Figure 1 : Schéma fonctionnel du clavier (sans les résistances, les diodes…)

,²6FKpPDGHO·DSSOLFDWLRQ

- Réaliser le schéma global de l’application (cf. Figure 2). On veillera particulièrement aux résistances de rappels et de protections nécessaires à l’utilisation du clavier.

,,²2UJDQLJUDPPH

- Décrire le principe de fonctionnement de la scrutation du clavier.

- Donner une méthode permettant de faire le décodage.

- Etablir l’organigramme de la fonction de scrutation/décodage (faire apparaitre ces fonctions).

,,,²3URJUDPPDWLRQGHVIRQFWLRQV

- Ecrire en assembleur les fonctions de scrutation et de décodage. Le code de la touche (de 0 à F) sera retourné via le registre W.

(24)

TD 5-6 Microcontrôleur INSA GE

2/7

,9²3RXUDOOHUSOXVORLQ«

- Exemples d’utilisation : minuterie programmable, digicode à 4 chiffres, …

- Programmation en utilisant uniquement le port B (pour la lecture RB4 à RB7), le port A est ainsi libéré.

- Critiquer la solution de programmation mise en place pour la scrutation et proposer une méthode plus adaptée.

Figure 2: Schéma du PIC 16F84

(25)

$QQH[HV

([WUDLWVGHODGRFXPHQWDWLRQ0LFURFKLS3,&&

http://ww1.microchip.com/downloads/en/devicedoc/30445c.pdf

Figure 3: Organisation de la mémoire, PIC 16C84

(26)

TD 5-6 Microcontrôleur INSA GE

4/7

Figure 4: Jeu d’instructions des PIC 16CXXX

(27)

Figure 5 : Description du fonctionnement du PORT A

(28)

TD 5-6 Microcontrôleur INSA GE

6/7

<

Figure 6 : Description du fonctionnement du PORT B

(29)

Figure 7 : Détails des registres du PIC16C84.

(30)

,16$*(,)

7R*

TD Microcontrôleur, famille PIC

6pDQFH

Exercices de programmation en assembleur

,OHVWFRQVHLOOpGHVDYRLUIDLUHFHVH[HUFLFHV

&RQVHLOV

FRPPHQFHUSDUIDLUHXQRUJDQLJUDPPH

HQVXLWHWUDGXLUHULJRXUHXVHPHQWHWpWDSHSDUpWDSHYRWUHRUJDQLJUDPPH

QH SDV KpVLWHU j DMRXWHU GHV YDULDEOHV WHPSRUDLUHV HQ 5$0 QpFHVVDLUHV DX FRGDJH DVVHPEOHXU

QHFKHUFKHUSDVWURSjRSWLPLVHUYRWUHFRGHHWO¶XWLOLVDWLRQGHODPpPRLUH XWLOLVHUGHVQRPVGHYDULDEOHVFODLUVYDOHXUVIRQFWLRQRXGHERXFOH

HQFRUHXQHIRLVXWLOLVHUGHVYDULDEOHVWHPSRUDLUHVSDUDPqWUHV«HQ5$0

I – Table de retour de fonction

D5pDOLVHUODIRQFWLRQGHGpFRGDJH©KH[DGpFLPDOÎVHJPHQWVªFIFRXUV

E2QYHXWFRQQDvWUHOHVYDOHXUVDSSURFKpHVGHVLQ[SRXU[HQWLHUHWFRPSULVHQWUHƒHW

ƒ3URSRVHUXQHVROXWLRQGHPLVHHQ°XYUHDWWHQWLRQDX[YDOHXUVUpHOOHV«

II – Adressage indexé

D(FULUHOHSURJUDPPHSHUPHWWDQWG¶DGGLWLRQQHUYHFWHXUVGHWDLOOHQ/HVYHFWHXUVVRQW HQPpPRLUH5$0DX[DGUHVVHVYHWYDLQVLTXHOHXUWDLOOHQ/HYHFWHXUUpVXOWDWVVHUDDXVVL VWRFNp HQ 5$0 2Q VXSSRVH TXH OD VRPPH GH FKDTXH FRPSRVDQWH HVW LQIpULHXUHj FI )LJXUH

E /HV YDOHXUV SRXU[ ƒ ƒ ƒ « ƒ GH

¬

VLQ[

¼

RQW pWp pFULWHV GDQV OHV SUHPLqUHV DGUHVVHV GH O¶((3520 GX 3,& (FULUH OD IRQFWLRQ UHWRXUQDQW OD YDOHXU GHVLQ[

[∈>ƒƒ@FI)LJXUHHW)LJXUH

F0RGLILHUODIRQFWLRQSUpFpGHQWHDILQG¶REWHQLUVLQ[SRXU[∈>ƒƒ@FI)LJXUH

III – Arithmétique : addition 16 bits

)DLUH OD IRQFWLRQ$GG SHUPHWWDQW G¶DGGLWLRQQHU GHX[ YDOHXUVD HWE GH ELWV /H UpVXOWDWGHO¶DGGLWLRQVIHUDDXVVLELWV&KDTXHYDULDEOHELWVVHUDFRPSRVpHGHRFWHWV ODSDUWLHEDVVHRFWHWGHSRLGVIDLEOHSDUH[HPSOHDOSRXUDHWODSDUWLHKDXWHSRLGVIRUWDK

(FULUHXQSURJUDPPHXWLOLVDQWODIRQFWLRQ$GG/HVYDULDEOHVDHWEVHURQWjLQLWLDOLVHU DX[YDOHXUVGHYRWUHFKRL[

6LJQDOHUOHGpSDVVHPHQWGHFDSDFLWpFI)LJXUHHQDOOXPDQWXQH/('VXU3257%!

IV – Arithmétique : Multiplication 8 bits

)DLUHO¶RUJDQLJUDPPHG¶XQHIRQFWLRQSHUPHWWDQWGHPXOWLSOLHUGHX[YDOHXUVELWVDHWE /HUpVXOWDWVXUELWVVHUDpFULWGDQVYDULDEOHVELWVPORFWHWGHSRLGVIDLEOHHWPKRFWHW GHSRLGVIRUW

(FULUHOHFRGHDVVHPEOHXUGHFHWWHIRQFWLRQ

(31)

Annexes :

Extraits de la documentation Microchip PIC16C84

KWWSZZPLFURFKLSFRPGRZQORDGVHQGHYLFHGRFFSGI

)LJXUH2UJDQLVDWLRQGHODPpPRLUH3,&&

(32)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'pWDLOVGHVUHJLVWUHVGX3,&&

(33)

)LJXUH'pWDLOGXUHJLVWUH67$786

(34)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'HVFULSWLRQGHO¶DGUHVVDJHLQGLUHFW

(35)

)LJXUH'HVFULSWLRQGHVDFFqVjO¶((3520

(36)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'HVFULSWLRQGHVDFFqVjO¶((3520

(37)

)LJXUH-HXG¶LQVWUXFWLRQVGHV3,&&;;;

(38)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'HVFULSWLRQGpWDLOOpHGHVLQVWUXFWLRQV68%/:HW68%:)

(39)

TD Microcontrôleur, famille PIC

6pDQFH

Application :

Pilotage d’une sortie parmi 8

2Q VRXKDLWH SLORWHU XQH VRUWLH SDUPL j O¶DLGH G¶XQ FODYLHU WRXFKHV 6HXOHV OHV SUHPLqUHVWRXFKHVGHjVRQWXWLOLVpHVFKDTXHWRXFKHHVWDVVRFLpHjXQHVRUWLH/¶DSSXLH VXUXQHWRXFKHSURYRTXHO¶LQYHUVLRQGHO¶pWDWORJLTXHGHODVRUWLHFRUUHVSRQGDQWH

$O¶LQLWLDOLVDWLRQRQVRXKDLWHTXHWRXWHVOHVVRUWLHVVRLHQWLQDFWLYHVpWDWORJLTXHEDV

2QGLVSRVHUDGHVIRQFWLRQVVXLYDQWHV

7HPSRB:PVTXLSHUPHWG¶DWWHQGUH:PLOOLVHFRQGHVSRXUXQ3,&FDGHQFpj0+]

6FUXWHB&ODYLHUTXLVFUXWHOHFODYLHUWDQWTX¶DXFXQHWRXFKHQ¶HVWHQIRQFpHHWUHWRXUQH ODYDOHXUGHODWRXFKHHQIRQFpHGDQV:/HFODYLHUGRLWrWUHFRQQHFWpDX3257%ELWVj SRXUO¶pFULWXUHFRORQQHDFWLYHELWVjSRXUODOHFWXUHGHVOLJQHVGpWHFWLRQG¶XQHWRXFKHVL pWDWKDXWpWDWEDVVLDXFXQHWRXFKHQ¶HVWHQIRQFpH

2QGLVSRVHUDG¶XQ3,&)

2QXWLOLVHUDXQGpPXOWLSOH[HXUSRXUOHSLORWDJHGHVVRUWLHVW\SH+&FI)LJXUH HW)LJXUH

/H FODYLHU HVW XQ HQVHPEOH GH ERXWRQV SRXVVRLU FkEOpV GH PDQLqUH j SHUPHWWUH OD VFUXWDWLRQSDUEDOD\DJH)LJXUH

I – Schéma de l’application

D([SOLTXHUHWMXVWLILHUOHFKRL[GHVFRPSRVDQWVGXVFKpPDGHO¶DSSOLFDWLRQ)LJXUH2Q V¶LQWpUHVVHUDQRWDPPHQWDX[U{OHVHWDX[YDOHXUVGHVUpVLVWDQFHV5j5

II – Organigramme de l’application

D)DLUHO¶RUJDQLJUDPPHJOREDOGHO¶DSSOLFDWLRQ

E'pWDLOOHUOHSLORWDJHGHVVRUWLHVFIGRFXPHQW+&)LJXUH

III – Programmation

(FULUHOHSURJUDPPHHQDVVHPEOHXU2QSRXUUDIDLUHDSSHODX[IRQFWLRQV7HPSRB:PVHW 6FUXWHB&ODYLHUQHSDVUppFULUHFHVIRQFWLRQV

(40)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH6FKpPD$SSOLFDWLRQVRUWLHV

(41)

Annexe 1:

Extraits de la documentation Microchip PIC16C84

)LJXUH2UJDQLVDWLRQGHODPpPRLUH3,&&

(42)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'pWDLOVGHVUHJLVWUHVGX3,&&

(43)

)LJXUH'pWDLOGXUHJLVWUH67$786

(44)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH'HVFULSWLRQGXIRQFWLRQQHPHQWGX3257$

(45)

)LJXUH'HVFULSWLRQGXIRQFWLRQQHPHQWGX3257%

)LJXUH6FKpPDGX3,&)

(46)

7'0LFURFRQWU{OHXU ,16$*(

)LJXUH-HXG¶LQVWUXFWLRQVGHV3,&&;;;

(47)

)LJXUH&DUDFWpULVWLTXHVpOHFWULTXHV

(48)

7'0LFURFRQWU{OHXU ,16$*(

Annexe 2:

Extraits de la documentation du 74HC259

)LJXUH6FKpPDIRQFWLRQQHOGX+&

)LJXUH7DEOHGHYpULWpGX+&

(49)

Annexe 3:

Schéma du clavier.

0

1 2 3

4

5 6 7

8

9 A B

C

D E F

)LJXUH6FKpPDIRQFWLRQQHOGXFODYLHUVDQVOHVUpVLVWDQFHVOHVGLRGHV«

Références