Last modified on 17 September 2014, at 21:36

Explorer 16 DSPIC


Description

Découverte de la carte Explorer 16 de chez Microchip sur laquelle est monté un DSPic33FJ256GP710

But

Ayant à disposition pour une durée indéterminée cette board, le but est de pouvoir mettre en pratique la programmation en C sur microcontrôleur (uC), et ainsi de pouvoir :

  • lire des switchs (ON/OFF -> Etat logique : 1/0)
  • alimenter des leds (enfin plutôt les allumer ou les éteindre)
  • afficher un message sur un écran LCD 2x16 caractères
  • lire la tension sur un potentiomètre (utilisation d'un convertisseur AD --> analogique numérique)
  • utilisation de bus de communication --> liaison série (I2C - SPI - RS232)
  • connexion de module externe
  • ...

Explorer 16.jpg

Composants

  • Board Explorer 16 avec DSPIC 33FJ256GP710A
  • Émulateur / Debugger : ICD 3
  • IDE (environnement de développement) : MPLAB
  • Compilateur C pour de chez Microchip C32
  • Alimentation externe 12V

Aperçu & Codes & Astuce

Aperçu

Clignotement Leds - Programme 1 à 4

programme 1 : Faire clignoter une led toutes les 0.5s --> 2Hz.

programme 2 : comme pour le principe du chenillard, on veut faire déplacer le clignotement de la led (toujours à 2hz)sur une autre, mais manuellement, pour cela on utilise le switch S3. Dans le code, on pourra voir la notion très basique de l'anti-rebond

programme 3 : On reprend la notion de chenillard manuel, mais là le désire c'est d'aller dans l'autre sens - donc que l'utilisateur ait le choix de faire clignoter la led de gauche ou la led de droit par rapport à led de basse qui clignote toujours à 2Hz

programme 4 : On reprend la base du programme 2, mais ici on va implémenter un mécanisme d'antirepond, c'est-à-dire que l'on veut garantir si la touche est bien pressée ; car un switch à lamelle a des effets "indésirable" du à l'aspect mécanique de la structure de celui-ci (voir explication --> antirepond : en construction)

Affichage & ADC : code

programme 4 : désire simplement afficher un message sur l'affichage LCD 2x16

programme 5 : afficher un message "Exemple : FIXME" + l'information venant du convertisseur ADC du DSPic


code

Clignotement Led : code

programme 1 --> File:Main.c

programme 2 --> File:Main cligno led VB.c

programme 3 --> File:Main Led Cligno AR V1.c

programme 4 --> File:Main antirebond.c & File:Antirebond.h.c & File:Anti rebond v01.c


Affichage & ADC : code

programme 5 --> File:Main affichage simple.c

programme 6 --> File:Main ADC.c

astuce

Clignotement Led

WARNING : Pour la partie Timer1, le bit TCS (Timer Clock Source)du registre T1CON doit être placé à 0, ce qui permet d'utiliser la fréquence interne (FCY) que l'on configure dans la partie oscillateur. Pour ce premier programme, j'ai voulu utiliser pour la fréquence interne la même fréquence du Quart, soit FCY = 8MHz. Voir ci-dessous, le calcul pour déterminer différents paramètres. Calcul permettant de déterminer les valeurs de bits pour M, N1, N2 (voir page 150 du datasheet):

--> voir image File:Calcul_oscill.jpg On choisit des valeurs pour N1 et N2 et il n'y plus qu'à calculer la valeur pour M

Affichage & ADC

WARNING --> pour afficher des caractères, utilisation du header file lcd.h (fournit sur le site de microchip)

Liens utiles

liens : documentation PDF

liens : documentation Site Internet

liens : lien pour achat board additionnel


en cours de construction

Participant