begin process at 2012 05 25 12:10:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Aide et documentation

 > 

problème avec programmation pic16F690


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problème avec programmation pic16F690

mardi 15 juin 2010 à 21:33:16 | problème avec programmation pic16F690

bibou1234

Bonjour
j'ai un problème au niveau de la programmation en assembleur d'un pic16F690
J'ai trois fonctions a testé
-la détection des defauts pour la pression
-la detection des defauts pour la temperature
-et la batterie

Lorsque j'ai testé mes fonctions une par une elles marchent toutes correctement.
Lorsque je les met toute ensemble, ça ne marche plus.
J'ai cherché la fonction qui faisait tout buggé et il semble que ça soit la fonction qui teste la batterie.
Lorsque que je la met avec la fonction qui detecte les defauts de la pression et la fonction qui detecte les defauts pour la temperature, elle empeche les fonctions qui detecte les defauts de fonction. on dirait qu'elle les bloque.
Je n'arrive pas à voir ce qui fait buggé, j'ai re verifié chaque ligne du programme, verifier les valeurs des registres. et je dois rendre la programmation pour vendredi :s

Savez-vous d'où cela pourrait venir?


Merci d'avance
mardi 15 juin 2010 à 21:40:10 | Re : problème avec programmation pic16F690

bibou1234

#include <p16F690.inc>

__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)



cblock 0x020
result : 1
result1 : 1
result2 : 1
Delay1
Delay2
endc

org 0x000




;detection des defauts pour la pression
Start:
movlw 0x00
movwf PORTC
movlw 0x00
movwf PORTA
movlw 0x00
movwf PORTB

bsf PORTC,7

bsf STATUS,RP0
movlw 0xFF
movwf TRISA
clrf TRISC
clrf TRISB
movlw 0x10
movwf ADCON1
bcf STATUS,RP0
bsf STATUS,RP1
movlw b'00000001' ;Configuration de AN0 comme pin analogique
movwf ANSEL
bcf STATUS,RP0
bcf STATUS,RP1
movlw 0x01
movwf ADCON0

MainLoop:
nop ;Attente de 5µs
nop ;1µs
nop ;1µs
nop ;1µs
nop ;1µs

bsf ADCON0,GO
btfss ADCON0,GO
goto $-1
movf ADRESH,w
movwf result
Mavaleur1:
movf result,w
sublw 0x0A
btfss STATUS,C
goto Mavaleur2
bsf PORTC,2
bsf PORTC,5
goto Start1
;
Mavaleur2: ;On est inférieur à 1.8V donc on détecte le défaut « ILL »

movf result,w
sublw 0x5C ;On soustrait 0x05C à « result »
btfss STATUS,C
goto Mavaleur3
bsf PORTC,2
bsf PORTC,4
goto Start1

Mavaleur3: ;On est inférieur à 2,2V donc on détecte aucun défaut
movf result,w
sublw 0x70
btfss STATUS,C
goto Mavaleur4
bsf PORTC,1
goto Start1
;
Mavaleur4: ;On est inférieur à 3.15V donc on détecte le défaut « ILL »
movf result,w
sublw 0xA1
btfss STATUS,C
goto Mavaleur5
bsf PORTC,2
bsf PORTC,4
goto Start1

Mavaleur5: ;On est inférieur à 3.55V donc on détecte le défaut « OC »
movf result,w
sublw 0xB5
btfss STATUS,C
goto Mavaleur6
bsf PORTC,2
bsf PORTC,3
goto Start1

Mavaleur6: ;On est inférieur à 4.8V donc on détecte le défaut « ILL »
movf result,w
sublw 0xF5
btfss STATUS,C
goto Mavaleur7
bsf PORTC,2
bsf PORTC,4
goto Start1

Mavaleur7: ;On est inférieur à 5V donc on détecte le défaut « SCBAT 
movf result,w
sublw 0xFF ;On soustrait 0xFF à « result »
btfss STATUS,C
goto Start
bsf PORTC,2
bsf PORTC,6
goto Start1

;detection des defauts pour la temperature
Start1:

bsf STATUS,RP0
clrf TRISB
movlw 0x10
movwf ADCON1
bcf STATUS,RP0

bcf STATUS,RP0
bsf STATUS,RP1
movlw b'00000010'
movwf ANSEL
bcf STATUS,RP0
bcf STATUS,RP1
movlw 0x05
movwf ADCON0

MainLoop1:
nop
nop
nop
nop
nop

bsf ADCON0,GO
btfss ADCON0,GO
goto $-1
movf ADRESH,w
movwf result1

Mavaleur8:
movf result1,w
sublw 0x0A
btfss STATUS,C
goto Mavaleur9
bsf PORTC,0
bsf PORTC,5
goto Start2
;
Mavaleur9:

movf result1,w
sublw 0x5C
btfss STATUS,C
goto Mavaleur10
bsf PORTC,0
bsf PORTC,4
goto Start2

Mavaleur10:
movf result1,w
sublw 0x70
btfss STATUS,C
goto Mavaleur11
bsf PORTB,4
goto Start2

Mavaleur11:
movf result1,w
sublw 0xA1
btfss STATUS,C
goto Mavaleur12
bsf PORTC,0
bsf PORTC,4
goto Start2

Mavaleur12:
movf result1,w
sublw 0xB5
btfss STATUS,C
goto Mavaleur13
bsf PORTC,0
bsf PORTC,3
goto Start2

Mavaleur13:
movf result1,w
sublw 0xF5
goto Mavaleur14
bsf PORTC,0
bsf PORTC,4
goto Start2

Mavaleur14:
movf result1,w
sublw 0xFF
goto Start1
bsf PORTC,0
bsf PORTC,6
goto Start2


;signal batterie
Start2:


clrf TRISB
bsf STATUS,RP0
bcf TRISB,7
bcf STATUS,RP0
movlw 0x10
movwf ADCON1
bcf STATUS,RP0
bsf STATUS,RP1
movlw b'00000100'
movwf ANSEL
bcf STATUS,RP0
bcf STATUS,RP1
movlw b'00001001'
movwf ADCON0

MainLoop2:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
bsf PORTB,7
bsf ADCON0,GO
btfss ADCON0,GO
goto $-1
movf ADRESH,w
movwf result2

Mavaleur15:
movf result2,w
sublw 0xAD
btfss STATUS,C
bcf PORTB,7
goto Start2

goto OndelayLoop

; movlw D'255'
movwf Delay1
movlw D'255'
movwf Delay2

OndelayLoop:
decfsz Delay1,f
goto OndelayLoop
goto OndelayLoop


bcf PORTC,0
OffDelayLoop:
decfsz Delay1,f
goto OffDelayLoop
decfsz Delay2,f
goto OffDelayLoop
goto MainLoop2
goto Start
.
end
mercredi 16 juin 2010 à 19:40:22 | Re : problème avec programmation pic16F690

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


essai peut-être de mettre un goto à la fin de ta fonction, si jamais ton compilo aligne les fonction, il y a peut-être une instruction qui est executée sans que tu le sache.

@++


Cette discussion est classée dans : problème, fonction, programmation, defauts, pic16f690


Répondre à ce message

Sujets en rapport avec ce message

Problème fonction pour générer un tableau 2D aléatoire en C [ par enroe ] Salut à tous :)j'espère que quelqu'un pourra m'aider :(. parce que la je suis sur un projet de C (pour demain lol...)et j'ai une fonction qui me donne programation systeme (demande d'aide au projet sur les ports serie [ par jpachocho ] lien vers le projet; http://www-gtr.iutv.univ-paris13.fr/Cours/Mat/Architecture/TDTP/TDTPmv/head_n_footer?nomdoc=TPS.htm Liaison série par câble null- programmation en assembleur [ par isai2010 ] salut, je suis une nouvelle membre du forum,veuillez accepter mon amitié. s'il vous plait j'ai besoin de votre aide,j'ai un projet à rendre d'urgence Des codes, un programmateur oui mais après [ par OWLBLACK ] En tant que débutant, je me suis lancé dans la programmation des pics pour fabriquer des animations lumineuses à leds. Je trouve des modèles de pics, Programmation assembleur [ par DIJONCTER ] Bonjour, Je voudrais savoir si il y aurait une personne qui puisse m'aider en programmation assembleur en effet je suis débutant sur ce type de progra Problème avec molette de souris [ par NiK45 ] Bonjour a tous [^^happy17] Suite à l'installation d'XP sweet 5.1 [^^happy10], malgré mise a jour carte mère et autre.. (tout les driver sont les derni besoin d'un code de programmation sous DEBUG [ par saandi ] Bonjour! Je suis en plein speculation en ce qui concerne l'assembleur et DEBUG sous DOS en general. En fait, je dois faire un programme en langage ass programmation par pic16f877 [ par abda1967 ] Salut à tous Je voulais tous d'abord remercié vraiment, je trouve sa très intéressant, et merci d'être indulgent avec moi.voila moi je suis nouveau d


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales