Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
pickit2 [Le 08/12/2016, 16:48] 92.138.41.79 |
pickit2 [Le 30/12/2022, 18:04] (Version actuelle) 86.202.72.214 [Utilisation] |
||
---|---|---|---|
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 0 | + | ;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 0 |
- | 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 = 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,f ;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]] |