SLT
J'utilse isis pour simuler mon programme:j'utile un pic 16F876,es resistance et interrepteur en entre (portc) et un afficheur 7 segment en sortie (portb)
ce programme va calculer le nombre des entre active (interrupteur ferme sgf port active car il est relier au vcc et resistance ) et afficher le nombre de port active sur l'afficheur
c'est mon code
list P=16F876
include P16F876.inc
cblock 0x40
t1,t2,t3,t4,t5,t6,t7,t8,t9,com pteur
endc
//declaration des variable ds ram
org 0x20
movlw 0x3F
movwf t1
movlw 0x06
movwf t2
movlw 0x5B
movwf t3
movlw 0x4F
movwf t4
movlw 0x66
movwf t5
movlw 0x6D
movwf t6
movlw 0x7D
movwf t7
movlw 0x07
movwf t8
movlw 0x7F
movwf t9
//j ai intialiser ces case comme koi lors d'affichage si le nombre d'affiche est 5 le FSR sera ponite a la case ayant cett valeur
bsf STATUS,RP0
bcf STATUS,RP1
movlw 0xFF
movwf TRISC
movlw 0b10000000
movwf TRISB
bcf STATUS,RP0
//initialer les port d'entre (portc)et les port de sortie
boucle movlw 0
movwf compteur//initialiser compteur a 0
btfss PORTC,0 // si le port "rc0"= 1 fais un saut (port =1 interpteur ferme :ici j ai un pb car si le interrupteur est ferme donc port relier au masse donc pas de courant en principe rc0=0
D'ou pour calculer nombre d'interrupteur fermer on calcule le nobre de port = a 0 ) help si c est faux j pense q cest correct mon examen est demain plsss
addlw 1
btfss PORTC,1
addlw 1
btfss PORTC,2
addlw 1
btfss PORTC,3
addlw 1
btfss PORTC,4
addlw 1
btfss PORTC,5
addlw 1
btfss PORTC,6
addlw 1
btfss PORTC,7
addlw 1
movwf compteur
call affiche
goto boucle
affiche bsf STATUS,RP0
bcf STATUS,RP1
movlw 0x40
addlw compteur
movwf FSR
movlw INDF
movwf PORTB
return
end
NB: il m a donne 0 erreur quant j ai compiler j ai tt fais fichier .hex
le pb lors de simulation il m affiche 7 avant meme de comancer le calcule "si le bit est active ou pas
merci de m'aider ,
plsss aider moi
-----