Pour la deuxième fois, je réalise un kit et pour les mêmes raisons que la première.

De plus : c'est rapide, propre et l'on est sûr du fonctionnement à la fin du montage pour peu que l'on soigne la réalisation !

Il m'ouvrira de nouveau horizons en matière de nouveaux montages personnalisés en électronique comme en robotique...

Il s'agit d'un kit Velleman K8048.

 

Cette carte permet de programmer les circuits intégrés programmables de chez Microchip. Rappelons que Microchip est célèbre pour avoir diffusé les outils de programmation de ses circuits gratuitement. Ces outils indispensables sont réunis en un seul logiciel : MPLAB.

 

Tout comme la carte interface USB, le programmeur de PIC est utilisable sous Linux. Toutes les informations sont sur le site : http://dev.kewl.org/k8048/Doc/

 

Le manuel de montage est disponible ici : <

Le manuel d'utilisation est ici : <

 

Le schéma synoptique (cliquer pour agrandir) :

 

L'implantation des composants :

 

 

L'aspect du kit une fois terminé :

 

La connectique de la carte :

 

Les logiciels fournis avec la carte :

 

MPASM :

Rappelons que ce logiciel est fourni gratuitement sur le site de Microchip.

C'est le logiciel qui va compiler le programme tapé sur Notepad ou tout autre traitement de texte. C'est à dire que le langage utilisé par le programmeur va être converti en langage compris par le micro-contrôleur.

 

PIC Programmer :

Le programme, une fois compilé, doit être introduit dans la mémoire EPROM du microcontrôleur. C'est là que le logiciel PIC Programmer entre en jeu.

 

Exemple de programme test générant un effet chenillard sur les 6 LED de sortie :

;**************************************************************************
;* VELLEMAN High-Q KIT K8048/VM111 SAMPLE SOFTWARE *
;**************************************************************************
;* Microchip PIC(tm) Programmer & experiment board *
;* DEMO2 program for testing K8048 with PIC16F627(A)! *
;* Generate 4 LED light effects, you can select these with SW1..4 *
;**************************************************************************
;* (C) VELLEMAN Components,2003 All rights reserved *
;**************************************************************************
;* Hardw. Rev: P8048'1 Softw. Rev: 1.21 *
;* OSC.......: XT 4MHz Max. POWER.....: 12V DC *
;**************************************************************************

W EQU H'0000'
F EQU H'0001'

;----- Register Files------------------------------------------------------

INDF EQU H'0000'
TMR0 EQU H'0001'
PCL EQU H'0002'
STATUS EQU H'0003'
FSR EQU H'0004'
PORTA EQU H'0005'
PORTB EQU H'0006'

INTCON EQU H'000B'
OPTION_REG EQU H'0081'
TRISA EQU H'0085'
TRISB EQU H'0086'
CMCON EQU H'001F'

;----- STATUS Bits --------------------------------------------------------
IRP EQU H'0007'
RP1 EQU H'0006'
RP0 EQU H'0005'
NOT_TO EQU H'0004'
NOT_PD EQU H'0003'
Z EQU H'0002'
DC EQU H'0001'
C EQU H'0000'

;==========================================================================
;
; RAM Definition
;
;==========================================================================

__MAXRAM H'01FF'
__BADRAM H'07'-H'09', H'0D', H'13'-H'14', H'1B'-H'1E'
__BADRAM H'87'-H'89', H'8D', H'8F'-H'91', H'93'-H'97', H'9E'
__BADRAM H'105', H'107'-H'109', H'10C'-H'11F', H'150'-H'16F'
__BADRAM H'185', H'187'-H'189', H'18C'-H'1EF'

;==========================================================================
;
; Configuration Bits
;
;==========================================================================

_BODEN_ON EQU H'3FFF'
_BODEN_OFF EQU H'3FBF'
_CP_ALL EQU H'03FF'
_CP_75 EQU H'17FF'
_CP_50 EQU H'2BFF'
_CP_OFF EQU H'3FFF'
_DATA_CP_ON EQU H'3EFF'
_DATA_CP_OFF EQU H'3FFF'
_PWRTE_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FF7'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FFB'
_LVP_ON EQU H'3FFF'
_LVP_OFF EQU H'3F7F'
_MCLRE_ON EQU H'3FFF'
_MCLRE_OFF EQU H'3FDF'
_ER_OSC_CLKOUT EQU H'3FFF'
_ER_OSC_NOCLKOUT EQU H'3FFE'
_INTRC_OSC_CLKOUT EQU H'3FFD'
_INTRC_OSC_NOCLKOUT EQU H'3FFC'
_EXTCLK_OSC EQU H'3FEF'
_LP_OSC EQU H'3FEC'
_XT_OSC EQU H'3FED'
_HS_OSC EQU H'3FEE'

__CONFIG _BODEN_ON & _CP_OFF & _DATA_CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC

;==========================================================================
; Variable Definition
;==========================================================================
;INPUTS
SW1 EQU H'00' ;SW1 is triggering RA0
SW2 EQU H'01' ;SW2 is triggering RA1
SW3 EQU H'02' ;SW3 is triggering RA2
SW4 EQU H'03' ;SW4 is triggering RA3
TIMER1 EQU H'20' ;Used in delay routine
TIMER2 EQU H'21' ; " " "
PATERN EQU H'22' ;Pattern data for effect's


ORG 0 ;Reset vector address
GOTO RESET ;goto RESET routine when boot.


; *********************************************
; * Example of a delay routine *
; *********************************************

DELAY_ROUTINE MOVLW D'100' ;54 Generate approx 10mS delay at 4Mhz CLK
MOVWF TIMER2
DEL_LOOP1 MOVLW D'100' ;60
MOVWF TIMER1
DEL_LOOP2 BTFSC PORTA,SW1
GOTO MENU
BTFSC PORTA,SW2
GOTO MENU
BTFSC PORTA,SW3
GOTO MENU
BTFSC PORTA,SW4
GOTO MENU
DECFSZ TIMER1,F
GOTO DEL_LOOP2
DECFSZ TIMER2,F
GOTO DEL_LOOP1
RETLW 0


; **********************************
; ** RESET : main boot routine **
; **********************************

RESET MOVLW B'00000111' ;Disable Comparator module's
MOVWF CMCON
;
BSF STATUS,RP0 ;Switch to register bank 1
;Disable pull-ups
;INT on rising edge
;TMR0 to CLKOUT
;TMR0 Incr low2high trans.
;Prescaler assign to Timer0
;Prescaler rate is 1:256
MOVLW B'11010111' ;Set PIC options (See datasheet).
MOVWF OPTION_REG ;Write the OPTION register.
;
CLRF INTCON ;Disable interrupts
MOVLW B'11000000'
MOVWF TRISB ;RB7 & RB6 are inputs.
;RB5...RB0 are outputs.
MOVLW B'11111111' ;all RA ports are inputs
MOVWF TRISA
BCF STATUS,RP0 ;Switch Back to reg. Bank 0
CLRF PORTB
GOTO EFFECT_4
;

MENU CLRF PORTB
;
BTFSC PORTA,SW1
GOTO EFFECT_1
BTFSC PORTA,SW2
GOTO EFFECT_2
BTFSC PORTA,SW3
GOTO EFFECT_3
BTFSC PORTA,SW4
GOTO EFFECT_4
GOTO MENU


EFFECT_1 BTFSC PORTA,SW1
GOTO EFFECT_1
E1 MOVLW B'00100000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00110000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111100' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111110' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111111' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111110' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111100' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00111000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00110000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
GOTO E1


EFFECT_2 BTFSC PORTA,SW2
GOTO EFFECT_2
E2 MOVLW B'00000001' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00000010' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00000100' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00001000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00010000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00100000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00010000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00001000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00000100' ;
MOVWF PORTB
CALL DELAY_ROUTINE
MOVLW B'00000010' ;
MOVWF PORTB
CALL DELAY_ROUTINE
GOTO E2

EFFECT_3 BTFSC PORTA,SW3
GOTO EFFECT_3
E3 MOVLW B'00000111' ;
MOVWF PORTB
CALL DELAY_ROUTINE
CALL DELAY_ROUTINE
MOVLW B'00111000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
CALL DELAY_ROUTINE
GOTO E3

EFFECT_4 BTFSC PORTA,SW4
GOTO EFFECT_4
E4 MOVLW B'00001000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
CALL DELAY_ROUTINE
MOVLW B'00000000' ;
MOVWF PORTB
CALL DELAY_ROUTINE
CALL DELAY_ROUTINE
GOTO E4


END
 

Voilà ! Il ne nous reste plus qu'à programmer !!!

Vous avez besoin d'une initiation ? Pas de problème, les cours de Bigonoff sont là : http://www.abcelectronique.com/bigonoff/

 

La dernière mise à jour de ce site date du 05/09/07