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

RA5 confiné sur Pic18F26K22
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#1 Message par Temps-x » mer. 29 avr. 2020 01:10

Bonsoir tout le forum,

J'ai un petit soucis :-D sur le Pic18F26K22

Voila sa se résume à ça, si j'envoie du 5 volts sur la broche RA5 la led qui est sur RC4 doit s'allumer, si pas de tension sur RA5 la led doit s'éteindre,.... :eek: et ben c'est pas le cas.

Si RA5 passe 1 allumer RC4
Si RA5 passe 0 éteindre RC4

C'est tout bête, et ben ça fonctionne pas sur l'entrée de RA5, mais ça fonctionne sur tout le reste du PORTA

J'ai essayé avec 3 Pic18F26K22, j'ai le même résultat.

:roll: Je voudrais savoir le pourquoi....ai-je fais une erreur en oubliant un registre.... Il y de quoi ce taper un.. :mur:

Code

Code : Tout sélectionner

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

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

    radix dec                             
; par defaut en mode décimal

    list p
=18f26K22                       ; processeur utilisé                  
    
#include <p18f26K22.inc>              ; Définitions des constantes

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

;
 CONFIG11H
     CONFIG FOSC 
= INTIO67 
     CONFIG FCMEN 
= OFF 
     CONFIG IESO 
= OFF
; CONFIG2L
     CONFIG PWRTEN 
= OFF 
     CONFIG BOREN 
= OFF 
     CONFIG BORV 
= 190
; CONFIG2H
     CONFIG WDTEN 
= OFF 
     CONFIG  WDTPS 
= 1
; CONFIG3H
     CONFIG CCP2MX 
= PORTC1 
     CONFIG PBADEN 
= OFF
     CONFIG CCP3MX 
= PORTC6
     CONFIG HFOFST 
= OFF
     CONFIG T3CMX 
= PORTC0
     CONFIG P2BMX 
= PORTC0
     CONFIG MCLRE 
= INTMCLR
; CONFIG4L
     CONFIG STVREN 
= OFF 
     CONFIG LVP 
= OFF 
     CONFIG XINST 
= OFF 
     CONFIG DEBUG 
= OFF
; CONFIG5L
     CONFIG CP0 
= OFF 
     CONFIG CP1 
= OFF 
     CONFIG CP2 
= OFF 
     CONFIG CP3 
= OFF
; CONFIG5H
     CONFIG CPB 
= OFF 
     CONFIG CPD 
= OFF
; CONFIG6L
     CONFIG EBTR0 
= OFF
; CONFIG6H
     CONFIG EBTR1 
= OFF
; CONFIG7L
     CONFIG EBTR2 
= OFF
; CONFIG7H
     CONFIG EBTR3 
= OFF

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

#DEFINE led1    LATC,4                    ; RC4 ==> led verte, témoin de mise en fonction de l'appareil

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

     CBLOCK H'20'                          ; bank0
      loop1               
:1
      loop2               
:1
      loop3               
:1
      loop4               
:1
      loop5               
:1                    
      loop6               
:1    
      loop7               
:1
      loop8               
:1      
      loop9               
:1
      durée               
:1      
     ENDC

;** "Macro pour faire une durée de temps, qui peut aller de 10 ms minimum  à 2550 ms maximum "** 
tempo MACRO valeur1
, valeur2 

      movlw valeur1                       
; 
      movwf durée                         
;  durée du temps défini par la valeur1 

      call _10ms

    ENDM

;****************************** adresse de depart après reset **********************************

    ORG H'0'
      bra debut      

;********************************* interruption haute priorité *********************************

    ORG    H'8'
      retfie 

;********************************* interruption basse priorité *********************************

    ORG     H'18'                                  
      retfie 

debut

;******************** "configuration de l'oscillateur du microcontrôleur" ********************** 

      movlw B
'01110100'                   ; oscillateur à 16 Mhz, fréquence stable si PLL (16 * 4)= 64 Mhz
      movwf OSCCON

;**************************** configuration du registre OSCTUNE ********************************

      movlw B'00000000'                   ; bit 6 à 1 : PLL * 4
      movwf OSCTUNE                       
; bit 6 à 0 : PLL désactivé

;*************************** configuration du registre ANSELA ********************************** 

      movlw B
'00000000'                   ; en mode numérique : 
      movwf ANSELA                        
; en mode E/S       : 2(RA0), 3(RA1), 4(RA2), 5(RA3), 7(RA5)

;****************************
 configuration du registre ANSELB ********************************* 

      movlw B
'00000000'                   ; en mode numérique : 
      movwf ANSELB                        
; en mode E/S       : 21(RB0), 22(RB1) 23(RB2), 24(RB3), 25(RB4), 26(RB5)  
             
;**************************** configuration du registre ANSELC ********************************* 

      movlw B
'00000000'                   ; en mode numérique :
      movwf ANSELC                        ; en mode E/S       : 13(RC2),  14(RC3), 15(RC4), 16(RC5), 17(RC6), 18(RC7)  

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

      movlw B'00000000'                   ; comparateur 1 off
      movwf CM1CON0 

      movlw B
'00000000'                   ; comparateur 2 off
      movwf CM2CON0 

;***************** configuration des registres TRISA & TRISB & TRISC & TRISE ******************* 

      movlw B
'11111111'                   ; RA0(2), RA1(3), RA2(4), RA3(5), RA4(6), RA5(7), RA6(10), RA7(9)  
      movwf TRISA                         
; 

      movlw B
'11111111'                   ; RB0(21), RB1(22), RB2(23), RB3(24), RB4(25), RB5(26), RB6(27), RB7(28)
      movwf TRISB       
      
      movlw B
'00000000'                   ; RC0(11), RC1(12), RC2(13), RC3(14), RC4(15), RC5(16), RC6(17), RC7(18)     
      movwf TRISC                   

      movlw B
'00001000'                   ; RE3(1) 
      movwf TRISE                         
;

;****************************
 configuration du registre INTCON *********************************      

    movlw B
'00000000'                     ; 
    movwf INTCON                          
; interruption hors service 

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

     clrf PORTA  

     clrf LATA

do
     btfsc PORTA,5                        ; si PORTA passe 1 allumer led
     bsf led1           
     btfss PORTA
,5                        ; si PORTA passe 0 éteindre led
     bcf led1

      tempo 100 
,0                        ; macro : temps, chiffre(0) ou varible(1)
                                          ; 1000 ms temps de visionnage   
     bra do

;********************** "pause de 10 millisecondes pour horloge de 16 Mhz" *********************
_10ms
      movlw D
'241'
      movwf loop1

      movlw D
'52'
      movwf loop2

      decfsz loop1
      bra 
$-D'2'
      decfsz loop2
      bra 
$-D'6'

      decfsz durée,F
      bra _10ms    

      return

      end
    


Merci ! pour ceux qui aurait la réponse, et qui répondrons. :wink:

==> A+
Modifié en dernier par Temps-x le ven. 1 mai 2020 11:33, modifié 3 fois.
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

RA5 confiné sur Pic18F26K22
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#2 Message par paulfjujo » mer. 29 avr. 2020 17:50

bonjour temps X,


test avec une R de rappel au +VCC sur RA5
je test avec un BP qui tire RA5 au 0V => OK led sur RC4 reagit bien

Code : Tout sélectionner

#define Led_RC4 LATC4_bit
#define Led_RC4_Dir TRISC4_bit

void main()
{
OSCCON = 0b01110010  ; //0x72 ;     //Oscillateur à 16Mhz
OSCTUNE=0;
OSCTUNE.PLLEN=0;
ANSELA=0;
TRISA=0xFF;
Led_RC4_Dir=0;
Led_RC4=0;
while(
1)
{
 if (PORTA.B5==1)   Led_RC4=1; else Led_RC4 =0;
 Delay_1sec();
}
 


Voila sa se résume à ça, si j'envoie du 5 volts sur la broche RA5 la led qui est sur RC4 doit s'allumer, si pas de tension sur RA5
si pas de tension envoyée sur RA5 => RA5 en l'air =1
ou alors mets une R de tirage au 0V de 4,7 à 10K sur RA5.


comme ça , ça marche ! oui tu me diras, c'est en C !!
mais je fais ce test dix fois plus vite
Aide toi, le ciel ou FantasPic t'aidera

RA5 confiné sur Pic18F26K22
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#3 Message par Temps-x » mer. 29 avr. 2020 18:00

Bonjour paulfjujo, et tout le forum,

As tu le Fichier compiler (*.HEX) que je puisse faire l'essai.

Merci !

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

RA5 confiné sur Pic18F26K22
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#4 Message par paulfjujo » mer. 29 avr. 2020 18:14

here you are
18F26K22_16Mhz_Uart1_RA5_RC4.zip


le projet complet
avec C,ASM,LST
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

RA5 confiné sur Pic18F26K22
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#5 Message par Temps-x » mer. 29 avr. 2020 19:53

Re

Merci ! paulfjujo pour l'aide :bravo: ton code fonctionne.

Eurêka.... J'ai trouvé, et ben c'est vicieux, et maintenant je le ferais, il faut que BSR pointe sur la banque 15 pourr la configuration de ANSELA

Et quand on réfléchi c'est normal, car tout les registres se trouve en Bank 15, il ne faut pas oublier de revenir en Bank 0 au commencement du programme.

:roll: C'est en regardant le code source ASM de paulfjujo que cela m"a ouvert l'esprit...

:sifflotte: Pour une fois que le C rend service.....

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

RA5 confiné sur Pic18F26K22
venom
Avatar de l’utilisateur
Confirmé
Confirmé
Messages : 953
Âge : 38
Enregistré en : avril 2016
Localisation : Klyntar
Contact :

#6 Message par venom » mer. 29 avr. 2020 22:19

Temps-x a écrit : Pour une fois que le C rend service.....

:eek: Venant de Temps-X, je pense que je vais encadrer cette phrase :langue: Tu vois Gérard, il n'y a pas que toi qui se fait charrier






@++
Mon site web
Mon discord : venom#4888

RA5 confiné sur Pic18F26K22
Gérard
Avatar de l’utilisateur
Expert
Expert
Messages : 1640
Âge : 65
Enregistré en : septembre 2015
Localisation : Alsace - Haut-Rhin

#7 Message par Gérard » mer. 29 avr. 2020 22:47

venom a écrit :
Temps-x a écrit : Pour une fois que le C rend service.....

:eek: Venant de Temps-X, je pense que je vais encadrer cette phrase :langue: Tu vois Gérard, il n'y a pas que toi qui se fait charrier






@++


Venom, moi aussi je vais encadrer cette phrase. humour!!
Et j'ai lu ton texte en tout petit. :lol:
Le 18/04/19 je suis devenu papy de jumeaux, le 01/09/23 une petite cousine des jumeaux est née.

RA5 confiné sur Pic18F26K22
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#8 Message par Temps-x » jeu. 30 avr. 2020 00:38

Bonsoir Gérard, venom, et tout le forum,

paulfjujo a écrit :Source du message comme ça , ça marche ! oui tu me diras, c'est en C !! mais je fais ce test dix fois plus vite


C'est pas l'écriture d'un code qui fait perdre ou gagner du temps, ni même le test, la plupart du temps ou l'on perd beaucoup de temps c'est comprendre la datasheet.

Il y a aussi les imprévues

- Trouver ou recherché une méthode pour que ça fonctionne correctement
- :sifflotte: Un fil de coupé
- Un mot mal écrit dans le code
- Un composant qui est faux
- Plantage du PC sans avoir sauvegarder le programme écrit
- :sifflotte: Coupure de courant par EDF sans avoir sauvegarder le programme écrit
- Et la parti électronique ou l'on peut galérer pour ceux qui son pas du métier

Il y en d'autre, c'est tout ça qui fait perde du temps, en général pour écrit un programme je mets entre 1 et 2 jours, quand je sais ou je vais.

En parlant du langage ASM, Hier notre maître Bigonoff et intervenu sur futura voir Ici pour les plus intéressés, le C en prend plein la figure :lol:

venom a écrit :Source du message :eek: Venant de Temps-X, je pense que je vais encadrer cette phrase :langue:


Gérard a écrit :Source du message Venom, moi aussi je vais encadrer cette phrase. humour!!
Et j'ai lu ton texte en tout petit. :lol:


humour!!

:!!: Ah les deux chenapans, toujours un coup à faire,Gérard c'est excusable à causse des radiations


==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

RA5 confiné sur Pic18F26K22
paulfjujo
Avatar de l’utilisateur
Expert
Expert
Messages : 2589
Âge : 73
Enregistré en : juillet 2015
Localisation : 01800
Contact :

#9 Message par paulfjujo » jeu. 30 avr. 2020 09:03

venom a écrit :
Temps-x a écrit : Pour une fois que le C rend service.....

:eek: Venant de Temps-X, je pense que je vais encadrer cette phrase :langue: Tu vois Gérard, il n'y a pas que toi qui se fait charrier
@++



exit et j'en profite pour rajouter une couche !

Temps-x_Dixit.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Aide toi, le ciel ou FantasPic t'aidera

RA5 confiné sur Pic18F26K22
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2595
Enregistré en : juillet 2016
Localisation : Terre

#10 Message par Temps-x » jeu. 30 avr. 2020 18:33

Bonsoir paulfjujo, Gérard, venom, et tout le forum,

paulfjujo a écrit :Source du message exit et j'en profite pour rajouter une couche !


Euh......C'est pas valable, Il manque la date, et le nom :langue:

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:


Retourner vers « Langage ASM »

Qui est en ligne

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