Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
pickit2 [Le 17/05/2015, 12:18] – [Installation à partir du code source] 92.138.182.7pickit2 [Le 30/12/2022, 18:04] (Version actuelle) – [Utilisation] 86.202.72.214
Ligne 3: Ligne 3:
  
 ====== PICkit2 ====== ====== PICkit2 ======
-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 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 : le programme de communication ===== ===== Pk2cmd : le programme de communication =====
Ligne 24: Ligne 24:
 sudo make install sudo make install
 </code> </code>
-J'ai tester sur une 14.04 sa fonctionne bien même tester sur une configuration ARM en processeur+J'ai tester sur une 16.04 sa fonctionne bien même tester sur une configuration ARM en processeur (raspberry pi)
 ==== Utilisation ==== ==== Utilisation ====
 Branchez le PICkit2 sur le port USB pour tester s'il est bien détecté. Branchez le PICkit2 sur le port USB pour tester s'il est bien détecté.
 <code>pk2cmd -P <code>pk2cmd -P
-Auto-Detect: Found part PIC16F690.+Auto-Detect: Found part PIC16F88.
  
 Operation Succeeded Operation Succeeded
 </code> </code>
 +
 +<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 : 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>
  
 =====  Dwarf : une interface graphique pour pk2cmd ===== =====  Dwarf : une interface graphique pour pk2cmd =====
Ligne 44: Ligne 51:
  
 Il suffit de décompresser l'archive **dwarf.tgz** dans le dossier de votre choix, et de lancer le script nommé **dwarf**. Il suffit de décompresser l'archive **dwarf.tgz** dans le dossier de votre choix, et de lancer le script nommé **dwarf**.
 +Sur 16.04 penser à rendre éxécutable le script et le lancer dans une console ouverte dans le dossier "dwarf master" 
 +<code> 
 +utilisateur@pc~ ./dwarf 
 +</code>
 =====  Gpasm : le compilateur pour PIC ===== =====  Gpasm : le compilateur pour PIC =====
 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.\\ 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.\\
Ligne 53: Ligne 63:
 [[:tutoriel:comment_modifier_un_fichier|Créez un fichier]] **//hello.asm//** contenant: [[:tutoriel:comment_modifier_un_fichier|Créez un fichier]] **//hello.asm//** contenant:
 <code> <code>
-#include p16f690.inc +    #include <p16f88.inc>          ; fichier include (définition controleur) 
-__config _INTRC_OSC_NOCLKOUT _WDT_ON _MCLRE_OFF _CP_OFF + 
-     org +    ;La directive CONFIG sert à mettre en fonction des fusibles de fonction 
-Start: +    __CONFIG _CONFIG1, _CP_OFF _DEBUG_OFF _WRT_PROTECT_OFF _CPD_OFF & _LVP_OFF & _BODEN_ON & _MCLR_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_IO 
-     bsf     STATUS,RP0 +    __CONFIG _CONFIG2, _IESO_OFF & _FCMEN_OFF 
-     bcf     TRISC,0 +     
-     bcf     STATUS,RP0 +    ;la directive CBLOCK sert à donner le point de départ des variables (RAM) 
-     bsf     PORTC,0 +    CBLOCK  0x20        ;Début de la zone (0x20 à 0x6F) 
-     goto    $ +        Delay1          ;Déclaration variable Delay1 dans banque 
-     end+        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 = 
 +    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> </code>
 Compilez : Compilez :
-<code>gpasm hello.asm -p p16f690</code> +<code>gpasm hello.asm -p p16f88</code> 
-Programmez/flashez le PIC +Programmer le 16f88 
-<code>pk2cmd -P PIC16F690 -M -F hello.hex</code>+<code>pk2cmd -P PIC16F88 -M -F hello.hex</code>
 Lancez le programme en activant l'alimentation: Lancez le programme en activant l'alimentation:
-<code>pk2cmd -P PIC16F690 -T</code> +<code>pk2cmd -P PIC16F88 -T</code> 
-Normalement si tout se passe correctement  la première LED doit s'allumer+Si tout se passe correctement  la LED câblée sur le PORTB 3 clignote
- +<code>pk2cmd -P PIC16F88 -A0</code> 
-FIXME Quelle LED ?? Sur quelle carte de développement ce programme est-il utilisé ?+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 ===== =====  Voir aussi =====
   * [[piklab]]   * [[piklab]]