Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
pickit2 [Le 03/04/2011, 02:38] – créée themadmaxpickit2 [Le 30/12/2022, 18:04] (Version actuelle) – [Utilisation] 86.202.72.214
Ligne 1: Ligne 1:
 +{{tag>programmation BROUILLON}}
 +----
 +
 ====== PICkit2 ====== ====== PICkit2 ======
-Le PICKit 2 est un programmateur de PIC de chez [[Microchip|http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805]]. Ce tutoriel traite de la façon d'utiliser et de programmer avec la carte de développement PICkit™ 2 Starter Kit.+Le PICKit 2 est un programmateur de PIC de chez [[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805|Microchip]]. Ce tutoriel traite de la façon d'utiliser et de programmer avec un controleur 16f88.
  
-===== Pk2cmd ===== +===== Pk2cmd : le programme de communication ===== 
-Pk2cmd est un programme pour communiquer avec le PICkit2. Les sources sont disponibles depuis le site de Microchip. Nous allons les télécharger, les compiler, puis les installer:+Pk2cmd est un programme open source pour communiquer avec le PICkit2. 
 + 
 +Il est disponible sur le site internet de Microchip à la page [[http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805]] 
 + 
 +Le lien de téléchargement direct pour le noyau 2.6 et plus est [[http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1-20Linux2-6.tar.gz]] 
 + 
 + 
 +==== Installation à partir du code source ==== 
 +Les sources étant disponibles depuis le site de Microchip, nous allons les télécharger, les compiler, puis les installer.\\ 
 +Dans un [[:terminal]] saisissez:
 <code> <code>
-wget http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz +sudo apt-get install libusb-dev 
-tar xvf pk2cmdv1.20LinuxMacSource.tar.gz +wget http://ww1.microchip.com/downloads/en/DeviceDoc/pk2cmdv1.20LinuxMacSource.tar.gz 
-make linux +tar xvf pk2cmdv1.20LinuxMacSource.tar.gz 
-sudo make install+cd pk2cmdv1.20LinuxMacSource 
 +make linux 
 +sudo make install
 </code> </code>
-Bon on peut brancher le PICkit2 sur le port USB, puis on va tester si celui-ci est détecté. +J'ai tester sur une 16.04 sa fonctionne bien même tester sur une configuration ARM en processeur (raspberry pi) 
-<code> +==== Utilisation ==== 
-pk2cmd -P +Branchez le PICkit2 sur le port USB pour tester s'il est bien détecté. 
-Auto-Detect: Found part PIC16F690.+<code>pk2cmd -P 
 +Auto-Detect: Found part PIC16F88.
  
 Operation Succeeded Operation Succeeded
 </code> </code>
-Quelque commande utile :+ 
 +<note tip>Si vous obtenez le message d'erreur suivant : 
 +<code>PK2DeviceFile.dat device file not found.</code> 
 +il peut être nécessaire de copier le fichier PK2DeviceFile.dat vers le dossier ou se trouve l'executable pk2cmd : 
 +<code>sudo cp /usr/share/pk2/PK2DeviceFile.dat /usr/local/bin</code> 
 +</note> 
 + 
 +Quelques commandes utiles :
 Activer le courant : Activer le courant :
-<code>pk2cmd -PPIC16F690 -T</code>+<code>pk2cmd -PPIC16F88 -T</code>
 Couper le courant: Couper le courant:
-<code>pk2cmd -PPIC16F690 -A0</code>+<code>pk2cmd -PPIC16F88 -A0</code>
 Programmer le PIC avec le fichier program..hex: Programmer le PIC avec le fichier program..hex:
-<code>pk2cmd -PPIC16F690 -M -Fprogram.hex</code>+<code>pk2cmd -PPIC16F88 -M -Fprogram.hex</code>
  
-=====  Gpasm ===== +=====  Dwarf : une interface graphique pour pk2cmd ===== 
-Gpasm est un compilateur pour générer du code pour notre PIC. Il prend en entrée un fichier assembleur et produit du code machine. Un paquet est disponible pour l'installation: +Pour ceux qui n'aiment pas les lignes de commande, le site du projet est ici :[[http://tuxtronics.com/node/1]]
-<code>sudo apt-get install gputils</code>+
  
-=====  Compilation ===== +Il suffit de décompresser l'archive **dwarf.tgz** dans le dossier de votre choixet de lancer le script nommé **dwarf**. 
-On va ecrire notre premier programmedepuis les sources fournis par MicrochipCreation d'un fichier //hello.asm// :+Sur 16.04 penser à rendre éxécutable le script et le lancer dans une console ouverte dans le dossier "dwarf master"
 <code> <code>
-#include p16f690.inc +utilisateur@pc~ ./dwarf
-__config _INTRC_OSC_NOCLKOUT & _WDT_ON & _MCLRE_OFF & _CP_OFF +
-     org 0 +
-Start: +
-     bsf     STATUS,RP0 +
-     bcf     TRISC,+
-     bcf     STATUS,RP0 +
-     bsf     PORTC,+
-     goto    $ +
-     end+
 </code> </code>
-On compile+=====  Gpasm : le compilateur pour PIC ===== 
-<code>gpasm hello.asm -p p16f690</code> +Gpasm est un compilateur pour générer du code pour notre PIC. Il prend en entrée un fichier assembleur et produit du code machine.\\ 
-Puis on programme/flash le PIC +[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>gputils|gputils]]**  
-<code>pk2cmd -PPIC16F690 -M -Fhello.hex</code> + 
-On lance le programmeen activant l'alimentation: +=====  Premier Code ===== 
-<code>pk2cmd -PPIC16F690 -T</code> +Écrivons notre premier programme. 
-Normalement si tout se passe correctement  la première LED doit s'allumer.+[[:tutoriel:comment_modifier_un_fichier|Créez un fichier]] **//hello.asm//** contenant: 
 +<code> 
 +    #include <p16f88.inc>          ; fichier include (définition controleur) 
 + 
 +    ;La directive CONFIG sert à mettre en fonction des fusibles de fonction 
 +    __CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_ON & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO 
 +    __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF 
 +     
 +    ;la directive CBLOCK sert à donner le point de départ des variables (RAM) 
 +    CBLOCK  0x20        ;Début de la zone (0x20 à 0x6F) 
 +        Delay1          ;Déclaration variable Delay1 dans banque 0 
 +        Delay2 
 +        ENDC            ;Fin de la zone 
 + 
 +    ORG 0 ;la directive ORG adresse de démarrage du code (ROM) 
 +    bsf     STATUS,RP0 ;sélection banque 1 
 +    bcf     TRISB,3 ;bit 3 de TRISB = 0 
 +    movlw b'01100010' ;charge la valeur binaire dans W 
 +    movwf   OSCCON ;écrit la valeur dans registre OSCCON (horloge interne = 4Mhz) 
 +    bcf     STATUS,RP0 ;retour en banque 0 
 +boucle ;étiquette ou label 
 +    bsf     PORTB,3 ;bit 3 de PORTB = 1 
 +    call delay ;appel sous routine delay 
 +    bcf     PORTB,3 ;bit 3 de PORTB = 0 
 +    call delay 
 +    goto    boucle ;saut à boucle 
 +delay 
 +    decfsz Delay1,    ;Dés-incrémente et saut si égal à 0 de Delay1 dans Delay1 
 +    goto delay          ;Tant que delay1 n'est pas égal à 0 on boucle 
 +    decfsz Delay2,f 
 +    goto delay 
 +    end 
 +</code> 
 +Compilez 
 +<code>gpasm hello.asm -p p16f88</code> 
 +Programmer le 16f88 
 +<code>pk2cmd -P PIC16F88 -M -F hello.hex</code> 
 +Lancez le programme en activant l'alimentation: 
 +<code>pk2cmd -P PIC16F88 -T</code> 
 +Si tout se passe correctement  la LED câblée sur le PORTB 3 clignote. 
 +<code>pk2cmd -P PIC16F88 -A0</code> 
 +Avec cette commande on coupe alimentation du contrôleur. 
 +On utilise le contrôleur sur une bread board avec le câblage ci dessous: 
 +=====  Voir aussi ===== 
 +  * [[piklab]] 
 +  * [[conception_electronique]] 
 + 
 +---- 
 +//Contributeurs: FIXME //