[Programmation] Fermeture non demandée de Proteus après simulation
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Fermeture non demandée de Proteus après simulation



  1. #1
    invitea9c4982f

    Fermeture non demandée de Proteus après simulation


    ------

    Bonjour

    Je rencontre un problème avec Proteus 8.0. Lorsque je connecte l'afficheur LCD LM016L avec le pic 16F877A après avoir transféré le code en assembleur nécessaire a l'affichage du curseur et après avoir lancé la simulation, elle s'effectue mais quelques secondes apres Proteus se ferme automatiquement.

    Merci d'avance.

    -----
    Dernière modification par Jack ; 28/08/2020 à 14h05.

  2. #2
    f6bes

    Re : Renseignement

    Citation Envoyé par PZER Voir le message
    Bonjour

    Je rencontre un problème avec Proteus 8.0. Lorsque je connecte l'afficheur LCD LM016L avec le pic 16F877A après avoir transféré le code en assembleur nécessaire a l'affichage du curseur et après avoir lancé la simulation, elle s'effectue mais quelques secondes apres Proteus se ferme automatiquement.

    Merci d'avance.
    Bjr à toi, Et pour les initiés de l'assembleur si tu mettais ton code en ligne ?
    On ne sait jamais.
    Bonne journée

  3. #3
    Jack
    Modérateur

    Re : Renseignement

    Merci de faire un "effort" pour mettre un titre significatif ainsi que c'est demandé dans la charte.

  4. #4
    gcortex

    Re : Renseignement

    Bonjour et bienvenue sur Futura,

    çà ressemble à un débordement de pile (overflow).
    A chaque fois que tu stockes une adresse ou
    une donnée dedans, il faut aller la rechercher.
    Dernière modification par gcortex ; 28/08/2020 à 14h06.

  5. A voir en vidéo sur Futura
  6. #5
    invitea9c4982f

    Re : Renseignement

    D'accord je le ferai.

  7. #6
    invitea9c4982f

    Re : Renseignement

    Code:
    ;**********************************************************************
    ;   This file is a basic code template for assembly code generation   *
    ;   on the PIC16F877A. This file contains the basic code              *
    ;   building blocks to build upon.                                    *  
    ;                                                                     *
    ;   Refer to the MPASM User's Guide for additional information on     *
    ;   features of the assembler (Document DS33014).                     *
    ;                                                                     *
    ;   Refer to the respective PIC data sheet for additional             *
    ;   information on the instruction set.                               *
    ;                                                                     *
    ;**********************************************************************
    ;                                                                     *
    ;    Filename:	    xxx.asm                                           *
    ;    Date:                                                            *
    ;    File Version:                                                    *
    ;                                                                     *
    ;    Author:                                                          *
    ;    Company:                                                         *
    ;                                                                     * 
    ;                                                                     *
    ;**********************************************************************
    ;                                                                     *
    ;    Files Required: P16F877A.INC                                     *
    ;                                                                     *
    ;**********************************************************************
    ;                                                                     *
    ;    Notes:                                                           *
    ;                                                                     *
    ;**********************************************************************
    
    
    	list		p=16f877A	; list directive to define processor
    	#include	<p16f877A.inc>	; processor specific variable definitions
    	
    	__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF
    
    ; '__CONFIG' directive is used to embed configuration data within .asm file.
    ; The lables following the directive are located in the respective .inc file.
    ; See respective data sheet for additional information on configuration word.
    
    
    
    
    
    
    ;***** VARIABLE DEFINITIONS
    w_temp		EQU	0x7D		; variable used for context saving 
    status_temp	EQU	0x7E		; variable used for context saving
    pclath_temp	EQU	0x7F		; variable used for context saving			
    
    
    
    
    
    
    ;**********************************************************************
    	ORG     0x000             ; processor reset vector
    
    	nop			  ; nop required for icd
      	goto    main              ; go to beginning of program
    
    
    	ORG     0x004             ; interrupt vector location
    
    	movwf   w_temp            ; save off current W register contents
    	movf	STATUS,w          ; move status register into W register
    	movwf	status_temp       ; save off contents of STATUS register
    	movf	PCLATH,w	  ; move pclath register into w register
    	movwf	pclath_temp	  ; save off contents of PCLATH register
    
    ; isr code can go here or be located as a call subroutine elsewhere
    
    	movf	pclath_temp,w	  ; retrieve copy of PCLATH register
    	movwf	PCLATH		  ; restore pre-isr PCLATH register contents
    	movf    status_temp,w     ; retrieve copy of STATUS register
    	movwf	STATUS            ; restore pre-isr STATUS register contents
    	swapf   w_temp,f
    	swapf   w_temp,w          ; restore pre-isr W register contents
    	retfie                    ; return from interrupt
    
    
    
    main
    
    ;INITIALISATION
    
    
    		BANKSEL	TRISB
    		MOVLW	0X00
    		MOVWF	TRISB
    		BANKSEL	TRISD
    		MOVLW	0X00
    		MOVWF	TRISD
    
    		BANKSEL	PORTB
    		MOVLW	0X00
    		MOVWF	PORTB
    		BANKSEL	PORTD
    		MOVLW	0X00
    		MOVWF	PORTD
    		
    		MOVLW	0X01     ;EFFACE LE CONTENU DE L'AFFICHEUR
    		CALL	COMMANDE 
    		MOVLW	0X38     ;CONFIGURE L'AFFICHEUR EN MODE 8 BITS MUTILIGNES C'EST A DIRE QU'ON VA UTILISER LES PIXELS DE LA LIGNE 1 ET DE LA LIGNE 2 DE L'AFFICHEUR
    		CALL	COMMANDE
    		MOVLW	0X0E     ;REND LE CURSEUR VISIBLE
    		CALL	COMMANDE
    		MOVLW	0X06     ; LE CURSEUR SE DEPLACERA VERS LA DROITE 
    		CALL	COMMANDE
    
    
    
    COMMANDE
    		
    		MOVWF	PORTB
    		BCF		PORTD,1
    		BSF		PORTD,0  ;POUR QUE LA COMMNDE OU ;A DONNEE ENVOYEE A L'AFFICHEUR SOIT EXECUTEE ,IL FAUT QUE LA BROCHE ENABLE PASSE DE 1 A 0.C'EST LE SIGNAL QUI PERMET DE VALIDER UNE L'EXECUTION D'UNE COMMANDE OU D'UNE DONNEE
    		CALL	TEMPO
    		BCF		PORTD,0
    		RETURN		
    			
    
    ECRITURE
    
    		MOVWF	PORTB
    		BSF		PORTD,1
    		BSF		PORTD,0
    	    CALL	TEMPO
    		BCF		PORTD,0
    		RETURN
    
    
    	END                       ; directive 'end of program'
    Dernière modification par Antoane ; 02/09/2020 à 12h07. Motif: Ajout balises code

  8. #7
    invitea9c4982f

    Re : Renseignement

    Ok. Mais comment faire pour éviter le débordement ?

  9. #8
    umfred

    Re : Renseignement

    plusieurs choses:
    1: je mettrais un label pour identifier ma routine d'interruptions
    2: ta fonction main n'a pas de fin, après le dernier CALL COMMANDE, le PIC continue en exécutant le code situé à la suite (ici à nouveau COMMANDE) et il rencontre l'instruction RETURN sans qu'il y ai eu un contexte d'appel par un CALL, donc le programme plante. Il faut rajouter une boucle sur lui-même par exemple
    Code:
    fin:
        goto fin

  10. #9
    gcortex

    Re : Renseignement

    après le call commande, il faut un BRA début.

Discussions similaires

  1. Renseignement
    Par invitef6683888 dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 04/04/2016, 20h21
  2. Renseignement
    Par invite70616cf1 dans le forum Chimie
    Réponses: 12
    Dernier message: 07/08/2015, 22h57
  3. renseignement
    Par invite2bca094a dans le forum Orientation après le BAC
    Réponses: 1
    Dernier message: 06/01/2008, 01h08
  4. Renseignement
    Par invite57b3c556 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 5
    Dernier message: 05/01/2006, 17h33
  5. Renseignement
    Par invite57b3c556 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 9
    Dernier message: 02/01/2006, 20h52
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...