Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur l'Assembleur !

Modérateur : mazertoc

Challenge Temps-X
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#1 Message par F6FCO » dim. 7 janv. 2018 13:28

Petit programme à faire

Comme tu possèdes une matrice à led 8x8, et 3 interrupteur à poussoir sur ta platine, voici un petit exercice fort intéressant, et
permettra de tester ton support 28 pattes

Pour chaque patte valide du PIC16F876 une led de ta matrice 8x8 devra être connecté, c'est à dire 22 leds, donc, 22 pattes du PIC16F876

Un interrupteur te servira pour avancé, et l'autre interrupteur te servira à reculer.

Bouton poussoir avancer
1) Quand tu appuieras sur le bouton poussoir avance, la led qui était allumé sur la casse, devras s'éteindre, et la casse
suivante devra s’allumer.

Bouton poussoir reculer
2) Quand tu appuieras sur le bouton poussoir reculer, la led qui était allumé sur la casse, devras s'éteindre, et la casse
arrière devra s’allumer.


humour!! Interdit de tricher en contactant JMarc ou Bigonoff dehors!!


Voilà, Temps-X m'a donné des devoirs à faire le soir. J'ai relevé le challenge il n'y a pas mieux pour progresser :wink:
Le truc c'est que je sors à peine du 16F84 et que je ne connais pas encore le 876 ou le 877, je vais commencer par mettre le nez dedans, ne serait-ce que pour simplifier le fichier squelette fourni par BigOnOff en enlevant tout ce qui ne me servira pas. Relever le challenge ne m'inquiète pas outre-mesure, c'est la méconnaissance de ce nouveau PIC qui risque de me poser quelques pbms, il y a tellement de trucs en plus.

J'ai commencé par câbler ma platine école, déjà un bon truc de fait, les câbles avec la gaine thermo bleue sont ceux équipés de résistances 330 ohms en série:

P1020180.JPG


Si çà intéresse des gens de le faire en // voici le câblage que j'ai retenu, qu'on travaille tous sur la même base:
Ports utilisés:
Anodes des leds Rb0 à Rb7
Cathodes des leds Rd0 à Rd3 et Rc4 à Rc7Poussoirs Ra0 et Ra1

Le brochage de la matrice 8x8:
Brochage matrice 8x8.gif


Ce qui donne en concret:

Pouss1 > Ra0
Pouss2 > Ra1

Anodes:
Rb7 > 9
Rb6 > 14
Rb5 > 8
Rb4 > 12
Rb3 > 1
Rb2 > 7
Rb1 > 2
Rb0 > 5

Cathodes:
Rc7 > 13
Rc6 > 3
Rc5 > 4
Rc4 > 10
Ra2 > 6
Ra3 > 11
Ra4 > 15
Ra5 > 16



Ne pas oublier d'ajouter des résistances série sur chaque ligne de leds
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Challenge Temps-X
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#2 Message par Gérard » dim. 7 janv. 2018 15:37

Je viens de penser à un truc, si tu allumes toute une ligne de LED, es-tu sûr de ne pas dépasser le courant max des sorties du PIC?

Jette un oeil sur le [url=max7219 max7221 datasheet]MAX7219[/url], il est simple d'utilisation et avec 3 fils en plus de l'alim.
Et à ce prix, fa ut pas se priver.
Modifié en dernier par Gérard le lun. 8 janv. 2018 10:39, modifié 1 fois.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Challenge Temps-X
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#3 Message par F6FCO » dim. 7 janv. 2018 16:13

D'après ce que j'ai compris il ne faut allumer qu'une led à la fois et la faire progresser avec les poussoirs.

Je vais étudier ton circuit de près, j'ai un projet de décodage et affichage du code morse, il pourra me servir.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Challenge Temps-X
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#4 Message par Temps-x » dim. 7 janv. 2018 16:39

Bonjour Gérard, F6FCO, et tout le forum,

écrit par Gérard :

si tu allume toute une ligne de LED, es-tu sûr de ne pas dépasser le courant max des sorties du PIC?


Relie l'énoncé, une led à la fois, pas toutes.

humour!! La prochaine fois, je te fais copier 100 fois : je dois lire l'énoncer :langue:




En réalité rien de compliqué pour cette exercice, car il faut juste s’occuper de

OPTION_REG

TRISA
TRISB
TRISC

PORTA
PORTB
PORTC

INTCON

ADCON1

ADCON0


Pas besoin d'interruption, donc à désactiver, aller un petit geste pour démarrer. :wink:


Code : Tout sélectionner



 
    Errorlevel
-302                        ; Supprime le message "Ensure that bank bits are correct" 

    LIST      p
=16F876                      ; Définition de processeur
    
#include <p16F876.inc>                  ; fichier include

    __CONFIG   _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC 


;**********************************************************************************************
;***************************************
 assignations ***************************************** 
;**********************************************************************************************







;**********************************************************************************************
;******************************
 déclaration des variables *************************************
;**********************************************************************************************
  











;**********************************************************************************************  


    ORG H
'0'
      goto debut      

    ORG  H
'4'           
      retfie    


debut

                                              

;************** configuration des registres TRISA & TRISB & TRISC en bank 1 *******************

                                                                            
;****************** configuration du registre OPTION_REG en bank 1 **************************** 


;********************** configuration du registre ADCON1 en bank 1 ****************************  


;********************** configuration du registre ADCON0 en bank 0 ****************************  


;************** configuration du registre PORTA & PORTB & PORTC en bank 0 *********************


;***************
 configuration du registre INTCON en bank 0,1,2,*****************************    





      END


Je suis sur que tu vas y arriver

==> A+
Modifié en dernier par Temps-x le lun. 8 janv. 2018 00:09, modifié 1 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Challenge Temps-X
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#5 Message par JMarc » dim. 7 janv. 2018 23:17

Bonjour tout le monde

Un conseil, si tu as besoin d’aller en bank1, dès que tu as fini tu repasse aussitôt en bank0 comme cela pas d’oubli :sifflotte:

Challenge Temps-X
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#6 Message par F6FCO » dim. 7 janv. 2018 23:39

Je vais quand même aller potasser un peu le 16F876 avant de commencer, je ne sais même pas ce que sont ADCON1 ADCON0, des registres je suppose. Un minimum de bases s'impose.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Challenge Temps-X
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#7 Message par JMarc » lun. 8 janv. 2018 06:36

Bonjour

Ton nouveau pic possède des entrées analogiques. Pour l’instant rajoute juste

Code : Tout sélectionner

   MOVLW   B'00000110'      ;PORTA digitale
   MOVWF   ADCON1         
;
    

Dans ton initialisation pour avoir tes entrées de portA en numérique. Tu l’etudiras Plus tard

Challenge Temps-X
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#8 Message par Gérard » lun. 8 janv. 2018 10:40

Je sens que les punitions vont pleuvoir ...
Promis, je lirai mieux la prochaine fois.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

Challenge Temps-X
F6FCO
Avatar de l’utilisateur
Expert
Expert
Messages : 1413
Âge : 70
Enregistré en : décembre 2017
Localisation : Furtif je suis.
Contact :

#9 Message par F6FCO » lun. 8 janv. 2018 12:53

Mon programme marche très bien sur SIM, j'ai voulu le passer sur la platine mais c'est là que çà ne veut plus.


j'ai un message d'erreur pour débugger avec le Pickit.

Code : Tout sélectionner

Running...
PK3Err0040: The target device is not ready for debugging.
Please check your configuration bit settings and program
the device before proceeding


Il n'y aurait pas un fusible à gérer pour çà ? pourtant il me semble l'avoir réglé dans la CONFIG. Il me semble avoir lu quelque part que les pins Rb6/Rb7 sont utilisées par le débuggage in situ, il faut les régler comment sortie, entrée ?
Premiers debuggage avec le pickit, je découvre.

Code : Tout sélectionner

__CONFIG   _CP_OFF & _DEBUG_ON & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC 


Nota: j'ai été obligé d'enlever le "& _WRT_ENABLE_OFF" préconisé par Temps-X, il me cause une erreur de build.
Une porte nand prend 2 bits en entrée... la cochonne !!! :langue:

Challenge Temps-X
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#10 Message par Gérard » lun. 8 janv. 2018 13:21

Fais un essai sans debug pour voir si déjà la programmation se passe bien.
Faudra mettre DEBUG_OFF dans le mot de config.
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.


Retourner vers « Langage ASM »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 36 invités