td 196 2010 -
TRANSCRIPT
![Page 1: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/1.jpg)
TD Microcontrôleur
F. Pépin
Description du spectrocolorimètre
Documentation
Sous-programmes de gestion de l'afficheurAfficheur LCD
Mémoire FLASH
Mémoire SRAM
Convertisseur analogique numériqueGestion du codeur incrémental
EEPROM
![Page 2: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/2.jpg)
Spectrocolorimètre
Il s'agit de concevoir un spectro-colorimètre, dont l'objectif est de mesurer la réflectance ou la
transmittance spectrale de matériaux colorés. Un spectrocolorimètre est constitué d'une source
lumineuse, d'un filtre interférentiel et d'un détecteur :
Corps
coloré
détecteur
Filtre
Moteur et
codeur incrémental
Voici les différents éléments de ce système :
• un afficheur LCD. Les sous-programmes de gestion de cet afficheur sont disponibles sous
forme d'une biblothèque de programmes qu'il suffira de joindre au programme principal.
• un clavier matriciel. Chaque pression sur une touche provoque la fermeture de
l'interrupteur correspondant
• plus de 32 Ko de FLASH
• entre 8 et 16 Ko de RAM
• Un convertisseur analogique-numérique 16 bits
• 1 Ko d'EEPROM
• Quelques entrées-sorties logiques
Réaliser un avant-projet de ce système.
![Page 3: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/3.jpg)
TD Microcontrôleur
Sous-programmes de gestion de l'afficheur
$TITLE('SSPG-LCD');;;------------------------------------------------------------------------;;; Sous Programmes de gestion de l'afficheur L.C.D. pour le 80196KR;; modele 2 a 4 lignes de 8 a 20 caracteres; interface intelligent (type Philips, Samsung, ...); brochage 14 points; utilisation en mode dialogue de donnees sur 4 bits; pas de lecture de l'afficheur, donc pas de Handshake hard;;------------------------------------------------------------------------;; utilise le cablage suivant : port P1.0 a P1.7;; P1.7 = D7; P1.6 = D6; P1.5 = D5; P1.4 = D4; P1.3; P1.2 = E : validation sur front descendant; P1.1 = R/W : a 0 en ecriture; P1.0 = RS : a 0 pour une commande, a 1 pour affichage;;------------------------------------------------------------------------;n_colons equ 20 ;nombre de colonnes afficheur;RSEG ; segment de registres
EXTRN char,AL;; variables locales a ces procedures;out: dsb 1verz: dsw 1;;------------------------------------------------------------------------;CSEG ; segment de code
P1 EQU 1FD4H
PUBLIC init_lcd,print,com,attend
init_lcd:;;procedure d'initialisation de l'afficheur;
ldb AL,#00110100B ;init rs=0,r/w=0,e=1ldb AL,P1nopldb AL,P1andb AL,#11111011B ;E = 0stb AL,P1call attendldb AL,#00110100B ;init e=1stb AL,P1nopldb AL,P1
![Page 4: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/4.jpg)
TD Microcontrôleur
andb AL,#11111011B ; E = 0stb AL,P1call attendldb AL,#00110100B ;init ,e=1stb AL,P1noplsb AL,P1andb AL,#11111011B ; E = 0stb AL,P1call attendldb AL,#00100100B ; fonctionnement 4 bitstb AL,P1nop ; modif P1.3=0lsb AL,p1andb AL,#11111011B ; e=0stb AL,P1call attendldb char,#00101100Bcall com ; function set 2 lignesldb char,#00001000B ; display offcall comldb char,#00000001B ; clear displaycall comldb char,#00001100B ; display on cursor offcall comldb char,#00000110B ; no shiftcall comret
;;------------------------------------------------------------------------;attend:;; Temporisation reglable;
clr verz ; boucle d'attente ...attend_encore: inc verz
cmp verz,#3500jne attend_encoreret
;;------------------------------------------------------------------------;print:;; sous programme d'affichage du code ASCII contenu dans char; out est une variable locale;
lsb AL,#00000101B ; E=1stb AL,P1ldb out,charandb out,#0F0H ; prends les poids fortsorb out,#00000101B ; E=1,R/W=0,RS=1call afficher ; envoi vers l'afficheurldb out,charshlb out,#4 ; prends les poids faiblesorb out,#00000101B ; E=1,R/W=0,RS=1call afficher ; envoi vers l'afficheurlsb AL,#11111000Bstb AL,P1ret
;;------------------------------------------------------------------------;
![Page 5: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/5.jpg)
TD Microcontrôleur
com:;; sous-programme d'envoi d'une commande contenue dans char (8bits); out est une variable locale;
lsb AL,#00000100B ; E=1stb AL,P1ldb out,charandb out,#0F0Horb out,#00000100B ; E=1,R/W=0,RS=0call afficherldb out,charshlb out,#4orb out,#00000100Bcall afficherret
;;------------------------------------------------------------------------;afficher:;; sous-programme d'envoi sur le port p1 avec les tempo; verz est un compteur local;
clr verzbouc: inc verz
cmp verz,#2000jne boucldb AL,out ; met la donnee sur le portstb AL,P1nopnoplsb AL,P1andb AL,#11111011B ; E=0 pour validationstb AL,P1ret
END
![Page 6: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/6.jpg)
TD Microcontrôleur
Afficheur LCD
![Page 7: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/7.jpg)
TD Microcontrôleur
![Page 8: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/8.jpg)
TD Microcontrôleur
Mémoire FLASH
![Page 9: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/9.jpg)
TD Microcontrôleur
![Page 10: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/10.jpg)
TD Microcontrôleur
![Page 11: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/11.jpg)
TD Microcontrôleur
![Page 12: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/12.jpg)
TD Microcontrôleur
![Page 13: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/13.jpg)
TD Microcontrôleur
![Page 14: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/14.jpg)
TD Microcontrôleur
![Page 15: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/15.jpg)
TD Microcontrôleur
![Page 16: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/16.jpg)
TD Microcontrôleur
![Page 17: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/17.jpg)
TD Microcontrôleur
Mémoire SRAM
![Page 18: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/18.jpg)
TD Microcontrôleur
![Page 19: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/19.jpg)
TD Microcontrôleur
![Page 20: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/20.jpg)
TD Microcontrôleur
![Page 21: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/21.jpg)
TD Microcontrôleur
![Page 22: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/22.jpg)
TD Microcontrôleur
![Page 23: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/23.jpg)
TD Microcontrôleur
Convertisseur analogique numérique
![Page 24: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/24.jpg)
TD Microcontrôleur
![Page 25: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/25.jpg)
TD Microcontrôleur
![Page 26: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/26.jpg)
TD Microcontrôleur
![Page 27: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/27.jpg)
TD Microcontrôleur
![Page 28: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/28.jpg)
TD Microcontrôleur
Gestion du codeur incremental
![Page 29: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/29.jpg)
TD Microcontrôleur
![Page 30: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/30.jpg)
TD Microcontrôleur
![Page 31: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/31.jpg)
TD Microcontrôleur
![Page 32: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/32.jpg)
TD Microcontrôleur
![Page 33: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/33.jpg)
TD Microcontrôleur
![Page 34: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/34.jpg)
TD Microcontrôleur
![Page 35: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/35.jpg)
TD Microcontrôleur
![Page 36: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/36.jpg)
TD Microcontrôleur
EEPROM I2C
![Page 37: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/37.jpg)
TD Microcontrôleur
![Page 38: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/38.jpg)
TD Microcontrôleur
![Page 39: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/39.jpg)
TD Microcontrôleur
![Page 40: TD 196 2010 -](https://reader036.vdocuments.net/reader036/viewer/2022062520/62b36c85caf94c1963023454/html5/thumbnails/40.jpg)
TD Microcontrôleur