Programmation d’un PIC 16F628

Le but des montages précédents était de me refaire la main. Ce qui s’intéressait était de programmer un micro-contrôleur.

Mon choix s’est porté sur le 16F628 pour plusieurs raisons :

  • Il est pas cher ;
  • L’environnement de développement est gratuit (http://www.microchip.com) ;
  • Il y a beaucoup de littérature sur le net ;
  • Il se programme facilement et in-situ sans nécessiter une alim auxiliaire +13V.

J’ai eu du mal a trouver les informations pratique sur comment programmer effectivement le PIC. Il y a des tonnes de tutoriaux d’assembleur mais sur comment faire effectivement, il n’y a pas grand chose. Voici donc le résultat de mes tâtonnements.

Pour programmer un PIC, il faut normalement un programmateur. Mais acheter un programmateur tout fait ça n’aurait pas été drôle. Voici donc un montage tout simple pour programmer le PIC à partir du port série d’un ordinateur. Cette interface s’appelle COM84.

Le PIC est alimenté par une alimentation externe régulée +5V.

J’ai ajouté des LEDs rouges pour faire joli pendant que ça programme mais c’est facultatif.

J’ai réalisé un petit adapteur à partir d’un câble série et d’un bout de plaquette.

Montage programmation 16F62_

Le schéma correspondant (réalisé sous Linux avec geda), sans les LEDs est :

COM84 16F628

La programmation se fait avec WinPic (http://www.qsl.net/dl4yhf/winpic/winpicpr.zip).

MPLAB permet de compiler le programme assembleur.

MPLAB

WinPic permet de tranferer le binaire dans le PIC. Pour cela, il faut bien régler la configuration de l’interface. Dans mon cas c’était le port COM2. L’interface à selectionner dans cet exemple est COM84. J’ai pu tester l’interface avec les LEDs en cochant VPP, DATA et CLOCK. Normalement ca doit allumer les LEDs correspondantes.
WinPic

This entry was posted in Electronique and tagged , , . Bookmark the permalink.

6 Responses to Programmation d’un PIC 16F628

  1. Michel says:

    Bonjour,
    J’ai fait le montage, programmé mon PIC avec MPLAB. Rien ne fonctionne. Je ne vois pas d’oscillation sur les Pins 15 et/ou 16. Avez-vous un conseil? un controle à faire?
    Merci d’avance

  2. Joel says:

    C’est quoi les valeurs de Résistences ???

  3. Joel says:

    Oups pardon c’est 2Khom !!

  4. lordikc says:

    La réponse était en image :-) Effectivement 2K ou 2.2K pour être plus standard.

  5. Pingback: Blog L’Ordikc » Piloter deux moteurs avec un 16F628 et un L293D

  6. Autorobot says:

    Bonjour,

    Tout d’abord merci pour ce partage ;) , je debute en électronique, donc le Vdd et Vss sera alimenté par une tension de 5v ?! ou bien le PIC est déja alimenté par la tension du DB9 !!

    Merci d’avance.