Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Probleme de programmation en assembleur

loulou, le mercredi 11 juin 2008 à 11:15:00
Bonjour,
voila mon programme que j ai realiser et compiler lors de la compilation tout ce passe bien il me dit que la compilation est un succes maintenant lorsque j envoi ce programme dans le pics et que je le mets sur ma plaque de test rien ne se passe donc si vous pouviez m aider ca serait super sympas merci (j utilise mplab) le but de se programme etant d allumer une led et d attendre que j appui sur le bouton pour allumer la deuxieme et ainsi de suite pic 16f84

LIST p=16F84 ; Définition de processeur
#include <p16F84.inc> ; Définitions des constantes

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

;*********************************************************************
; DEFINE *
;*********************************************************************

#DEFINE LED1 PORTB,0 ; LED de sortie 1
#DEFINE LED2 PORTB,1 ; LED de sortie 2
#DEFINE LED3 PORTB,2 ; LED de sortie 3
#DEFINE LED4 PORTB,3 ; LED de sortie 4
#DEFINE LED5 PORTB,4 ; LED de sortie 5
#DEFINE LED6 PORTB,5 ; LED de sortie 6
#DEFINE LED7 PORTB,6 ; LED de sortie 7
#DEFINE LED8 PORTB,7 ; LED de sortie 8
#DEFINE BP1 PORTA,3 ; BOUTON POUSSOIR EN ENTREE SUR PORT RA3
#DEFINE test
#DEFINE test1
#DEFINE test2
#DEFINE test3
#DEFINE test4
#DEFINE test5
#DEFINE test6
#DEFINE teste

;*********************************************************************
; INITIALISATIONS *
;*********************************************************************

init
clrf PORTA ; Sorties portA à 0
clrf PORTB ; Sorties portB à 0
clrf EEADR ; permet de diminuer la consommation
movlw H'F8'
movwf TRISA ; Bit PORTA.0 en sortie (exemple)
movlw H'00' ; charger le masque
movwf TRISB ; appliquer le masque

return ; sauter programme principal

;***********************************
;* tempo *
;***********************************
tempo
movlw b'11111111' ; Charge W avec 255
movwf BOU1 ; Charge BOUCLE1 avec W

BOU1 movwf BOU2 ; Charge BOUCLE2 avec W. C'est le début de la 1ère boucle
BOU2 decfsz BOU2,1 ; Décrémente BOUCLE2 (enlève 1) et exécute l'instruction suivante tant que
; BOUCLE2 n'est pas égale à 0. C'est le début de la 2nde boucle
goto BOU2 ; Retourne à BOU2. C'est le second niveau de boucle

decfsz BOU1,1 ; Décrémente BOUCLE1 (enlève 1) et exécute l'instruction suivante tant que
; BOUCLE2 n'est pas égale à 0.
goto BOU1 ; Retourne à BOU1. C'est le premier niveau de boucle

return ; Retourne au programme principal

end ; indique la fin du programme

;*********************************************************************
; sous routine led *
;*********************************************************************
LED1ON
bsf LED1 ; allumer LED1
call tempo
goto ret ; retour au programme principal

LED2ON
bsf LED2 ; allumer LED2
call tempo ; appeler la sous routine pour une attente
return test1 ; retour au programme principal

LED3ON
bsf LED3 ; allumer LED3
call tempo ; appeler la sous routine pour une attente
return test2 ; retour au programme principal

LED4ON
bsf LED4 ; allumer LED4
call tempo ; appeler la sous routine pour une attente
return test3 ; retour au programme principal
LED5ON
bsf LED5 ; allumer LED5
call tempo ; appeler la sous routine pour une attente
return test4 ; retour au programme principal
LED6ON
bsf LED6 ; allumer LED6
call tempo ; appeler la sous routine pour une attente
return test5 ; retour au programme principal
LED7ON
bsf LED7 ; allumer LED7
call tempo ; appeler la sous routine pour une attente
return test6 ; retour au programme principal
LED8ON
bsf LED8 ; allumer LED8
call tempo ; appeler la sous routine pour une attente
GOTO ret8 ; retour au programme principal

;*********************************************************************
; PROGRAMME PRINCIPAL *
;*********************************************************************

debut
btfsc BP1 ; tester bp1
goto re
return teste ; aller a la sous routine de test du bouton poussoir
re
call LED1ON ; led1 allumée
return test ; aller a la sous routine de test du bouton poussoir
ret

call LED2ON ; led2 allumée
return test1 ; aller a la sous routine de test du bouton poussoir
ret2

call LED3ON ; led3 allumée
return test2 ; aller a la sous routine de test du bouton poussoir
ret3

call LED4ON ; led4 allumée
return test3 ; aller a la sous routine de test du bouton poussoir
ret4

call LED5ON ; led5 allumée
return test4 ; aller a la sous routine de test du bouton poussoir
ret5

call LED6ON ; led6 allumée
return test5 ; aller a la sous routine de test du bouton poussoir
ret6

call LED7ON ; led7 allumée
return test6 ; aller a la sous routine de test du bouton poussoir
ret7

call LED8ON ; led8 allumée

ret8

goto start ; boucler

END ; directive fin de programme

********************************************************************************
* *
* sous routine test bouton *
* *
********************************************************************************


teste
btfsc BP1
return re
goto teste

test
btfsc BP1
return ret
goto test
test1
btfsc BP1
return ret2
goto test1
test2

btfsc BP1
return ret3
goto test2
test3
btfsc BP1
return ret4
goto test3
test4
btfsc BP1
return ret5
goto test4
test5
btfsc BP1
return ret6
goto test5
test6
btfsc BP1
return ret7
goto test6
Configuration: Windows XP
Internet Explorer 6.0
Répondre à loulou  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nabla's, le mercredi 11 juin 2008 à 11:20:58
je te dirai de le simuler avec mplab, en mode pas a pas.. je sais plus comment on fait par contre ... ;)
Répondre à Nabla's

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
loulou, le mercredi 11 juin 2008 à 11:22:36
merci de m avoir repondu j ai essaye de simuler le seul probleme c que mon simulateur ne fonctionne pas
Répondre à loulou

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Nabla's, le mercredi 11 juin 2008 à 12:21:38
essayes deja de trouver comment fair efonctionner le simulateur... ceci dit, je me rapelle il y a 3 ans j avais réussi a le faire tourner, mais il y a 2 semainesm j ai pas trouvé ...

es ce que tu es sur que ton pic est bien programmé ?? as tu activé la verification d ecriture ?
as tu une platine de test avec debugger ?
Répondre à Nabla's

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 loulou, le mercredi 11 juin 2008 à 13:27:07
merci aussi pour ta reponsemais visiblement j ai un probleme avec mplab puisque tout ce qui concerne le simulateur est grisé je ne peut meme pas faire un run ou autre c bizarre sinon pour mon pic en faite j utilise mplab pour taper mon programme et ensuite je le compile et une fois compiler j envoi le .HEX avec ic-prog jusque la ca marchais maintenant avec ce programme ba je le compile tres bien et apres je l envoi avec ic prog qui me dit que la verification est bonne mais apres il se passe rien
Répondre à loulou

Résultats pour probleme de programmation en assembleur

Programme assembleur de microprocesseur 8085 (Résolu) Bonjour, je cherche à télécharger le programme assembleur de microprocesseur 8085 mais j'ai rien trouver, parce que j'ai besoin de ce programme pour mes étude, est-ce qu'il y a quelqu'un qui peut m'aider merci d'avance www.commentcamarche.net/forum/affich-4936406-programme-assembleur-de-microprocesseur-8085
Programmation assembleur (Résolu) Bonjour, Je n'ai pas compris à quoi la programmation assembleur servait vraiment. Est-ce que quelqu'un pourrait me donner un exemple d'un programme fait en assembleur ? :) www.commentcamarche.net/forum/affich-8421183-programmation-assembleur
Reboot en mode Normal apres 10/60 minutes (Résolu) Bonjour, Qui lit vos réponses: moi, developpeur electronique embarquée (electronique digitale et programmation assembleur C). Je travaille sous Linux, et j'ai Win XP a la maison. Qui se sert de l'ordi: moi, mais aussi ma femme (utilisatrice... www.commentcamarche.net/forum/affich-4812966-reboot-en-mode-normal-apres-10-60-minutes

Résultats pour probleme de programmation en assembleur

Compiler un programme assembleur avec NasmAvec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier... www.commentcamarche.net/faq/sujet-9836-compiler-un-programme-assembleur-avec-nasm
[Photofiltre]Réaliser un assemblage de 2 imagesPhotofiltre est un logiciel de retouche d'image. Cette astuce fonctionne aussi bien avec Photofiltre qu'avec Photofiltre Studio Dans ce cas précis, Photofiltre va permettre d'assembler un collage c'est-à-dire de coller une deuxième image (en... www.commentcamarche.net/faq/sujet-7719-photofiltre-realiser-un-assemblage-de-2-images
Assembleur - Multiplication par une constanteEn assembleur vous pouvez effectuer une multiplication en utilisant les instructions mul (nombres non signés) et imul. On l'utilise ainsi: mul nom_registre Ensuite en interne, le processeur multiplie le contenu de eax ou ax ou al (selon la taille... www.commentcamarche.net/faq/sujet-12520-assembleur-multiplication-par-une-constante

Résultats pour probleme de programmation en assembleur

Programme assembleur (Résolu)hi! je n'arrive pas à comprendre l'exercice suivant: nous avons 4 nombres entiers en méroire U,V,Y et T.si la somme de 2 de ces4 nombres est egale à la somme des 2 autres on effectera cette somme à chacune des4 variables sinon on leur... www.commentcamarche.net/forum/affich-2814353-programme-assembleur
Cours assembleur 8086 (Résolu)Bonjour, je voudrais avoir un lien où je pouurais trouver un cours d'assembleur 8086 pour debutants on a comencer le cours en classe et je n'y comprend rien du tout! www.commentcamarche.net/forum/affich-4180565-cours-assembleur-8086
[Gestion des IP] (Résolu)Bonjour, Lors de mon stage j'ai decidé de planifié les adresses IP comme cela : Pour les pc 192.168.1.1 à 192.168.1.255 Pour les imprimantes 192.168.10.1 à 192.168.10.255 Cependant cela pose un probleme car lorsque mes pc et imprimantes sont sur... www.commentcamarche.net/forum/affich-2236476-gestion-des-ip

Résultats pour probleme de programmation en assembleur

Télécharger NasmNasm est un logiciel assembleur libre et disponible sur plusieurs systèmes comme Linux ou Windows. Toutefois il ne fonctionne que sur les architectures x86. Il demande une syntaxe légère et compte donc parmi le choix de nombreux programmeurs. www.commentcamarche.net/telecharger/telecharger-34055381-nasm
Télécharger MediaJoinMediaJoin est un programme qui vous permet d'assembler facilement tous les formats populaires audio et vidéo en un seul fichier fusionné audio ou vidéo. Les formats supportés incluent MP3, WMA, WAV, OGG, AVI, MPEG-1, MPEG-2 et WMV. En option, il... www.commentcamarche.net/telecharger/telecharger-34056238-mediajoin
Télécharger ProgDVBLa diffusion de programme en numérique est de plus en plus en vogue depuis l'apparition de la connexion haut-débit. ProgDVB est un programme destiné à regarder des chaînes TV et à écouter des stations radio sur votre ordinateur. Il supporte le DVB-S... www.commentcamarche.net/telecharger/telecharger-34056507-progdvb

Résultats pour probleme de programmation en assembleur

Exercices de yoga, de renforcement musculaire et d'aérobic au programme de la Wii Fit(Paris - Relax news) - Le nouveau programme sportif de la console de Nintendo Wii, baptisé Wii Fit, sortira en Europe au printemps prochain. A quelques semaines de son lancement, voici plus d'informations sur les fonctions qu'il propose. Le principe... www.commentcamarche.net/actualites/exercices-de-yoga-de-renforcement-musculaire-et-d-aerobic-au-programme-de-la-wii-fit-4589377-actualite.php3

Résultats pour probleme de programmation en assembleur

Ecrire un programme en assembleurLa compilation du programme Le programme doit être saisi dans un fichier texte non formaté (c'est-à-dire sans caractères en gras, souligné, avec des polices de caractères de différentes tailles, ...) appelé fichier source. En effet,... www.commentcamarche.net/contents/asm/source.php3
Introduction à l'assembleurLes prérequis nécessaires Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du type de processeur. Ainsi il... www.commentcamarche.net/contents/asm/assembleur.php3
Les procédures en assembleurLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres... www.commentcamarche.net/contents/asm/procedure.php3