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

mplab importation code
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#11 Message par JMarc » ven. 25 nov. 2016 13:36

bonjour

voici ci dessous le code que j'ai pris sur le forum par un copier, assembler sans debug mais cette fois ci run=>build project et c'est pareil donc je le recopie de mon mplab pour le remetre sur le forum

Code : Tout sélectionner

;********************************************************************
;
                descriptif du projet:
;
Decompteur programmable, sur 4 digits 7 segemnts,
;
2 BP un plus variables,un validation deplacement et demarrage decompteur.
;
;;********************************************************************
;
;
                Auteur    :JMarc maï
;                Version    :1.0
;                Date    :2016
;
;*******************************************************************************
;
            Note:PIC 16F877a par exemple
;                                
;*******************************************************************************
    ERRORLEVEL-302
    
   list       p
=16f877         ;liste directive du 16F877
   
#include    "p16f877.inc"

;********************** chargement des Macros **********************************   

;***************************** Configuation des fuses **************************
;
            
; CONFIG
; __config 0x3D3A
 __CONFIG _FOSC_HS 
& _WDTE_OFF & _PWRTE_OFF & _CP_OFF & _BOREN_OFF & _LVP_OFF & _CPD_OFF & _WRT_OFF
;
;
;***********************
 déclaration des variables *****************************
;
Toutes ces variables sont globales pour le fichier source,MEM MEM_us MEM1 
;MEM1_us MEM2 pour l'ensemble du projet.

;*******************************************************************************
 GLOBAL    MEM,MEM1            ;variables utilisables dans tout le projet
 GLOBAL    MEM_us,MEM1_us            ; pour macro delay
 GLOBAL    MEM2
 
Group_gobal udata 0x20
MEM    res 1                ;MEM :MEM2 sont necessaires
MEM_us    res 1    
MEM1    res 1                ;pour les macros delay
MEM1_us res 1    
MEM2    res 1                ;
 
Group_Local udata 0x30
ComptSu        res 1            ;comteur seconde
ComptSd        res 1
ComptMu        res 1            ;compteur minute
ComptMd        res 1
Index        res 1            ;lors programmation digit concerné 
Temp        res    1            ;compteur temps
Temp_Val    res    1            ;compteur temps touche val        
Sauv        res 2            ;pour sauvegarde registres lors INT
    
        
;*********************** Definition des Externes *******************************
;
;*********************** Déclarations des définitions **************************
#DEFINE    _XTAL_FREQ  .4000000        ;ici FOSC =4MHz
        
#DEFINE BP_Plus PORTB,0
#DEFINE    BP_Val PORTB,1

        
;*********************** Assignations ou constantes ****************************
DRAM    EQU 0x20         ;début Mémoire Ram banque0
    
;*********************** MACROS ************************************************
Banque0    MACRO
    BCF STATUS,RP0            ;Acces bank0
    BCF STATUS,RP1
    ENDM

Banque1    MACRO
    BSF STATUS,RP0            ;Acces bank1
    BCF STATUS,RP1
    ENDM

Banque2    MACRO
    BCF STATUS,RP0            ;acces bank2
    BSF STATUS,RP1
    ENDM

Banque3    MACRO
    BSF STATUS,RP0            ;Acces bank4
    BSF STATUS,RP1
    ENDM
;*********************** Affichage sur 4 digits ********************************
Aff7    MACRO
    
    BSF   PORTA,0         ;allumage digit0
    MOVFW   ComptSu         ;charge la donnée
    CALL   LedTable      ;recherche donnée
    MOVWF   PORTC         ;envoi donnée
    CALL   Tem2ms         ;petite tempo 2ms   
    BCF   PORTA,0         ;arrêt digit0
   
    BSF   PORTA,1
    MOVFW   ComptSd
    CALL   LedTable
    MOVWF   PORTC
    CALL   Tem2ms         ;idem digit1
    BCF   PORTA,1
   
    BSF   PORTA,2
    MOVFW   ComptMu
    CALL   LedTable
    MOVWF   PORTC
    CALL   Tem2ms         ;idem digit2         
    BCF   PORTA,2
   
    BSF   PORTA,3
    MOVFW   ComptMd
    CALL   LedTable
    MOVWF   PORTC         ;idem digit3
    CALL   Tem2ms
    BCF   PORTA,3

    ENDM

;*********************** TOUT COMMENCE ICI *************************************
    org 0X00                   ;au rest le pointeur instruction est ICI
    GOTO debut                 ;saut sur le label debut

    org 0X04
    MOVWF   Sauv            ;sauve W
    SWAPF   STATUS,W        ; 
    MOVWF   Sauv+1            ;sauve status
    
    BTFSS    PIR1,TMR1IF        ;test flag si TIMER1
    GOTO    Int0            ;NON
    
    MOVLW    0x3C            ; int toute le 100ms    
    MOVWF    TMR1H
    MOVLW    0xB3
    MOVWF    TMR1
    
    BCF    PIR1,TMR1IF        ;RAZ du drapeau de TMR1
    INCF    Temp,F            ; à 10 cela fera 1s
    INCF    Temp_Val,F        ;tempo BP Val
    GOTO    IntS
    
Int0    BTFSS    INTCON,T0IF        ;Test flag si TIMER0
    GOTO    IntS            ;on sort pour gerer l'
affichage
    BCF    INTCON
,T0IE        ;ARRET INT TMR0
    
    Aff7
    
    MOVLW    0XA
    MOVWF    TMR0            
; charge Timer0 pour 1ms
    BCF    INTCON
,T0IF        ;RAZ Flag TIMER0
    BSF    INTCON
,T0IE        ;mise en service INT TMR0
    
IntS    SWAPF    Sauv
+1,0
    MOVWF    STATUS            
;restaure status
    SWAPF    Sauv
, 1 
    SWAPF    Sauv
, 0            ;restaure W

    RETFIE
    
;*********************** Alumage segments afficheur ****************************
LedTable
    addwf   PCL
,f            ; ajout au PC
    retlw   B
'00111111'             ; LED allum?es pour afficher 0
    retlw   B
'00000110'             ; LED allum?es pour afficher 1
    retlw   B
'01011011'             ; LED allum?es pour afficher 2
    retlw   B
'01001111'             ; LED allum?es pour afficher 3
    retlw   B
'01100110'             ; LED allum?es pour afficher 4
    retlw   B
'01101101'             ; LED allum?es pour afficher 5
    retlw   B
'01111101'             ; LED allum?es pour afficher 6
    retlw   B
'00000111'             ; LED allum?es pour afficher 7
    retlw   B
'01111111'             ; LED allum?es pour afficher 8
    retlw   B
'01100111'             ; LED allum?es pour afficher 9
   
;**********ici c'est votre programme principale ou main ************************
debut
;*********************** Mise a zéro de la mémoire RAM banque0 *****************
    
    MOVLW    DRAM
    MOVWF   FSR
Effa    CLRF    INDF
    INCF    FSR,F            ;RAZ RAM
    BTFSS    FSR,7
    GOTO    Effa
;*********************** Initialisation des ports ******************************

    CLRF   PORTA
    CLRF   PORTB            ;efface les sorties des ports
    CLRF   PORTC
 Banque1                ;accés bank1
    
    CLRF   TRISA            ;RA:RA5    en sortie
    
    MOVLW  B'
00000111'        ;RB0:RB1 en entrées
    MOVWF   TRISB
    
    CLRF   TRISC            ;RC0:RC7 en sortie
   
    MOVLW   B'
00000110'        ;PORTA digitale
    MOVWF   ADCON1

;*********************** validation des INT ************************************
    MOVLW   (1<<GIE)|(1<<PEIE)|(1<<T0IE)|(0<<INTE)|(0<<RBIE)|(0<<T0IF)|(0<<INTF)|(0<<RBIF)
    MOVWF    INTCON            ;Initialisation des INT
    
    BSF    PIE1,TMR1IE        ;valide int TMR1
;******************* Initialisation des timers/compteurs ***********************       
;                   ici on va travailler avec le TIMER1 et TIMER0
;*******************************************************************************

    MOVLW    0x01
    MOVWF    OPTION_REG
    
 Banque0    
    MOVLW 0xA
    MOVWF TMR0
    
;**********************
    BSF T1CON, 0x4
    BCF T1CON, 0x5
    MOVLW 0x3C
    MOVWF TMR1H
    MOVLW 0xB3
    MOVWF TMR1
    
    BSF    T1CON,TMR1ON        ; mise en service Timer1
    
;********************** Boucle principale **************************************    
BouP    GOTO    BouP    

;********************** ici c'
est des SPG **************************************    
Tem2ms
    MOVLW 0x3
    MOVWF MEM1
    MOVLW 0x98
    MOVWF MEM
temp    DECFSZ MEM
, F
    GOTO temp
    DECFSZ MEM1
, F
    GOTO temp

    RETURN
    END                
;fin pour le compilateur

mplab importation code
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#12 Message par Guest » ven. 25 nov. 2016 17:16

bonsoir
j'ai copier le code ci dessus, dans mon projet 16F j'ai ouvert un nouveau fichier ASM que j'ai collé, et compile sans aucun problème.
ICI le résultat
Capture JM_M.png


A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par Anonymous le ven. 25 nov. 2016 17:33, modifié 1 fois.

mplab importation code
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#13 Message par Guest » ven. 25 nov. 2016 17:32

il me vient une petite piste, du coté du fichier objet .File un petit coup, de nettoyage avec marteau + balaie (construire avec nettoyage )

mplab importation code
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#14 Message par JMarc » ven. 25 nov. 2016 18:49

non, même avec le balai cela ne fonctionne toujours pas mais je sais maintenant que c'est pas mon presse papier car ca fonctionne chez toi

y a t'il moyen de faire un reset de mplab ?

mplab importation code
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#15 Message par Claudius » ven. 25 nov. 2016 19:50

Bonsoir,

Mais pourquoi s'obstiner à passer par un copier/coller avec le presse papier (qui, soit dit en passant, pourrait être plein à craquer - faire la même opération avec l'ancestral bloc-note de Windows pour lever le doute ;-) et par conséquent utiliser la méthode standard de l'importation de fichiers (et donc des sources de programmes :-)) au moyen de:

Files Outside of Project Folder

When adding a source file that is not in the project folder, add the file as “Relative”. This will create an external folder (_ext) so the project can find the file when building.To make use of navigation features such as

The file context menus, you must tell the project where the files are located. To do this:

1. In the Projects window, right click on the project name and select “Properties”.
2. Under “Categories”, click “General”.
3. Next to “Source Folders”, click Add
4. Browse to the path to the external file(s) you have added to the project.
5. Click Apply or OK. Then rebuild the project.When you import an MPLAB IDE v8 project, the source files are a not in the project folder. Use File>Import>MPLAB IDE v8 Project to automatically import the files.


A suivre...

mplab importation code
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#16 Message par JMarc » sam. 26 nov. 2016 10:17

Bonjour claudius

Je passe par le presse papier car du forum a mon Pc je ne sais faire autrement.
De plus avec le test de maï qui a repris le code qui est passé 2 fois par mon presse papier et qui fonctionne chez lui lève le doute du dysfonctionnement du mien.

J'ai du toucher une case dans Mplab mais je ne trouve pas la quelle :cry:

Merci

mplab importation code
Claudius
Avatar de l’utilisateur
Passioné
Passioné
Messages : 260
Âge : 69
Enregistré en : septembre 2015
Localisation : ELANCOURT (78 - YVELINES)
Contact :

#17 Message par Claudius » sam. 26 nov. 2016 13:44

Bonjour JMarc et à tous,

Ok pour cette raison légitime, mais fais alors un fichier texte depuis le presse papier via un éditeur comme Bloc Notes ou Notepad++ et importe ledit fichier dans MPLAB comme indiqué dans mon précédent post ... cela aura le mérite de lever le doute car, sauf erreur de ma part, MPLAB n'y ait pour rien ...

mplab importation code
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#18 Message par Guest » sam. 26 nov. 2016 18:23

Bonjour

Regarde du cote de encoding
JM_M.png


A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

mplab importation code
JMarc
Confirmé
Confirmé
Messages : 605
Enregistré en : août 2016
Localisation : Dans le Sud...

#19 Message par JMarc » dim. 27 nov. 2016 18:50

Bonsoir Maï et Claudius


J'ai une piste :langue:

J'ai pris un editeur hexadecimal et changer dans le fichier source recupéré du forum tout les code 0xA0 en 0x20 et sa fonctionne :-D :-D :-D

les affaires reprennent, une semaine de perdu (Maï, pense a reporté le delais pour la mise en ligne de la solution :langue: )

Il faut maintenant que je trouve le pourquoi mplab ne prend pas ce code dans le fichier asm et a vous oui mais je chercherai plus tard, trop perdu de temps

mplab importation code
Guest
Confirmé
Confirmé
Messages : 800
Enregistré en : mars 2017

#20 Message par Guest » dim. 27 nov. 2016 19:03

bonsoir

problème d'encodage voir #18

A+


Retourner vers « Langage ASM »

Qui est en ligne

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