Professional Documents
Culture Documents
Comptences finales
VALIDER ET EXPLOITER UNE STRUCTURE LOGICIELLE
Concevoir.. Calculer.. partir dun algorithme donn -analyser et valider une commande par circuit programmable -tablir le programme en assembleur avec MPASM -simuler le fonctionnement avec MPSIM -programmer le circuit avec ICProg
2
La logique programme offre de nombreux avantages par rapport la logique cble. Le principal dentre eux est la possibilit de changer le fonctionnement dun systme par simple modification du programme.
3
Brochage
Caractristiques du 16F84
Mmoire programme Flash 1K x 14 bits
RAM 68 octets Eeprom 64 octets Timer TMR0 8 bits PORTA port dentres/sorties 5bits RA0:RA4 PORTB port dentres/sorties 8bits RB0:RB7 Chien de garde (WATCHDOG) intgr Pile 8 niveaux 15 registres matriels de fonctions spciales
10
Caractristiques (suite)
4 sources dinterruptions - broche RB0/INT - portB <7:4>INT - dpassement Timer TMR0 - fin dcriture sur Eeprom Alimentation 2volts 6volts frquence interne = Frquence externe/4 Diviseur interne attribuable au Timer ou au Watchdog
11
12
13
14
'C' (Carry) c= 1 si le rsultat de la dernire opration traite par l ' UAL comporte une retenue 'DC' ce bit est 1 si la somme des 4 bits de poids faible de la dernire opration traite par l ' UAL est > 15 'Z' ce bit est 1 si le rsultat de la dernire opration traite par l ' UAL vaut 0 'PD' (Power Down) ce bit indique l ' vnement qui provoqu le dernier arrt du PIC ( soit watchdog , soit mode sleep ) 'TO' (Time Out bit) si ce bit vaut 0 il indique que la mise en service est issue d 'un arrt provoqu par un dpassement de temps (watchdog ) ou bien d 'une mise en sommeil (sleep) 'RP0' (Register bank select 0) permet de dfinir la banque 0 ou 1 que l 'on va adresser
'RP1' (Register bank select 1) permet de dfinir la banque 2 ou 3 le PIC 16F84 n 'utilise pas ce bit il doit tre laiss 0
IRP le PIC 16F84 n 'utilise pas ce bit il doit tre laiss 0
15
RBIF est mis 1 lors d 'un changement d 'tat sur l 'une des broches RB4-RB7. INTF . Est mis 1 si une interruption provient d 'un changement d 'tat sur la broche RB0. TOIF. Est mis 1 en cas de dbordement du TIMER. RBIE mis 1 valide l 'interruption du programme suite un changement d 'tat sur une des broches RB4 RB7. INTE ce bit 4 mis un valide l 'interruption du programme suite un changement d 'tat sur la broche RB0. TOIE ce bit 5 mis 1 valide l 'interruption dues au dbordement du TIMER EEIE.Ce bit 6 permet de valider l 'interruption issue de la fin d 'criture en EPROM. GIE ce bit 7 du registre mis 1 permet de valider les interruptions. C'est une validation gnrale ,
16
LES INTERRUPTIONS
17
'PS0' 'PS1' 'PS2' bits utiliss pour raliser une prdivision programmable
'PSA' Ce bit sert diriger une prdivision programmable soit pour le timer (si=0) soit pour le watchdog (si=1) 'TOSE' Ce bit indique le front valide sur la broche RA4 si celle-ci est utilise pour incrmenter le timer.Si ce bit=1 alors RA4 valide sur un front montant, si =0 alors RA4 valide sur front descendant 'TOCS' Le timer interne est un compteur qui s'incrmente en permanence, on peut choisir grce ce bit soit l 'horloge interne du pic issue du quartz et divise par 4 ou bien une horloge externe applique la broche RA4 'INTDG' Si ce bit est positionn 0 la broche RB0 provoquera une interruption ( si elle est autorise) sur un front descendant. Si ce bit est 1 l ' IT aura lieu pour un front montant sur RB0 'RBPU/' Si ce bit est positionn 0 une rsistance de rappel relie en interne au +5v toutes les entres du port B. 18
LE TIMER
19
'RD' Ce bit est positionn 1 en dbut de lecture en EEPROM et remis 0 la fin du cycle de lecture en EEPROM 'WR' Ce bit est positionn 1 en dbut d'criture en EEPROM et remis 0 la fin du cycle d 'criture en EEPROM
'WRERR' Ce bit est positionn 1 si une opration d 'criture en EEPROM ne s 'est pas ralise
20
Le registre d' adressage indirect des donnes Le registre f0 est le registre d' adressage indirect qui donne un accs aux donnes. Ce registre est en relation avec le registre FSR ( f4.) Le registre RTCC ( Real Time Clock Counter ) Le registre f1 est un emplacement mmoire dont le contenu volue au rythme d' un signal d' horloge. Le registre OPTION Le registre OPTION permet de dfinir entre autre le choix d' un diviseur et son affectation au Watch Dog intgr ou bien la RTCC qui est une horloge temps rel . On accde au registre OPTION uniquement en criture et aprs un RESET tous les bits sont positionns 1. Le registre PC Le registre f2 est le compteur de programme ( PC ) ou compteur ordinal. Il contient l' adresse en mmoire de programme de la prochaine instruction excuter.
21
Le registre d' tat Le registre f3 est le registre d' tat qui contient notamment les flags qui informent sur le rsultat de la dernire opration. Ce registre contient 8 bits IRP - RP1 - RP0 - TO - PD - Z - DC - C Le registre FSR ( slection de fichier ) Le registre f4 dfinit selon la position de ses bits 0 4 l'adresse du registre lors d' un accs indirect par le registre f0.Il est utilis en programmation pour les adressage indirect. Les registres TRIS Les registres TRIS ont pour fonction de configurer les broches d' entres - sorties des ports.
Le registre PCLATH Le registre PC travaille sur 13 bits , 8 bits sont dans le registre PC et 5 dans le registre PCLATH.
22
Le registre EEDATA ( famille 16c84 , 16f84 ) Le registre contient la donne lire ou crire une adresse de la mmoire l' EPROM interne.
Le registre EEADR ( famille 16c84 , 16f84 ) Le registre contient l'adresse de la donne lire ou crire dans la mmoire l' EPROM interne.
Le registre EECON 1 et 2 ( famille 16c84 , 16f84 ) Ces deux registres de contrle permettent de lire et d' crire dans la mmoire EPROM interne .Selon le positionnement de certain bits une criture ou une lecture est autorise. La lecture reste cependant beaucoup plus simple d' emploi.
Le registre W Le registre W dit registre de travail est similaire aux "accumulateurs" des microprocesseurs.
23
interet:
simplicit
24
COMMANDE EN PUISSANCE
25
26
La programmation
27
Le jeux dinstructions
28
29
30
31
32
33
MPLAB
34
Procdure suivre pour dvelopper une application base de PICs laide de lensemble de dveloppement MPLab (diteur-assembleur-simulateurmulateur-programmateur) de MICROCHIP
35
criture dun fichier source en assembleur laide dun diteur de texte ( Extension .Asm)
Compilation du fichier(avec CCS par exemple) Obtention dun fichier Hexadcimal (Extension .Hex)
ICPROG
Ouvrir le CDRom et faire un simple copier / coller de ICProg sur le bureau
Type de microcontrleur
Type oscillateur
Paramtres __CONFIG
39
40
a ) (M1 )(M2 ) (a ) (M1 ) (b ) (M2 )(c )(M2) (M1
non oui
Entre
Broche PIC
a b c
RA0
5V
RA1
5V
5V c 4.7k
RA2
Sorties
Broche PIC
a 4.7k
M1 M2
RB0 RB1
4.7k
;**********************************************************************
LIST
p=16F84
; '__CONFIG' prcise les paramtres encods dans le processeur au moment de ; la programmation du processeur. Les dfinitions sont dans le fichier include. ; Voici les valeurs et leurs dfinitions :
; ;
_CP_ON _CP_OFF
;
; ; ; ;
_PWRTE_ON
_PWRTE_OFF _WDT_ON _WDT_OFF _LP_OSC
;
; ;
_XT_OSC
_HS_OSC _RC_OSC
;********************************************************************* ; DEFINE *
;*********************************************************************
;*********************************************************************
MACRO
;*********************************************************************
endm
M1OFF macro BCF M1 endm
M2ON macro
BSF M2 endm M2OFF macro
BCF M2
endm
;**********************************************************************
;**********************************************************************
Init
BSF STATUS,5
MOVLW B'00000000 MOVWF TRISB MOVLW B'00011111' MOVWF TRISA BCF STATUS,5
; ou
BSF STATUS,rpo
SELECTIONNER BANQUE 1
; mettre 0 dans le registre W ; transferer le registre W dans le registre TRISB ; mettre 00011111 dans le registre W ; transferer le registre W dans le registre TRISA ; REPASSER EN BANQUE 0
;*********************************************************************
start
BOU1
M2ON M1OFF BTFSS c goto BOU3 M1OFF M2OFF GOTO start END
; M2 = 1
; M1 = 0
; tester si lente c = 1 sauter linstruction suivante
; M2 = 0
; aller a ltiquette start ; directive fin de programme