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 08/12/2016, 16:48] 92.138.41.79pickit2 [Le 30/12/2022, 18:04] (Version actuelle) – [Utilisation] 86.202.72.214
Ligne 32: Ligne 32:
 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 :
Ligne 56: 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 p16f88.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 p16f88</code> <code>gpasm hello.asm -p p16f88</code>
-Programmez/flashez le PIC :+Programmer le 16f88 :
 <code>pk2cmd -P PIC16F88 -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 PIC16F88 -T</code> <code>pk2cmd -P PIC16F88 -T</code>
-Si tout se passe correctement  la LED PORTB 0 s'allume+Si tout se passe correctement  la LED câblée sur le PORTB 3 clignote
- +<code>pk2cmd -P PIC16F88 -A0</code> 
-on utilise le contrôleur sur une bread board avec le câblage ci dessous+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]]