Bonjour,
j'ai un petit soucis de pic (12F683). J'aimerais bien lire une valeur stockée en EEPROM et l'utiliser pour définir un nombre de boucle de temporisation à faire (dans cette boucle une tempo de 1 seconde est présente, donc si on a 1 en eeprom, tempo = 1 sec; si on a 20 en eeprom: tempo de 20 sec).
J'ai déjà essayé plusieurs trucs mais çà ne fonctionne pas en simulation Proteus.
Pour mettre les valeurs par défauts j'utilise cette commande :
Ces valeurs ne seront modifiées QUE via PICKIT au moment de "flasher" le pic.Code:org 0x2100 ;adresse début zone eeprom DE 2,10,10,10,10,10,10,10,10,10 ;valeur mise en eeprom
L'eeprom est lue de cette façon, une seule fois en début de programme.:
Et j'utilise (du moins essaye) avec ce code:Code:MOVLW H'00' MOVWF ADRESSE call lecture MOVWF vtar1 ;valeur eeprom return lecture ;Lecture bit 0 de l'EEPROM BSF STATUS, RP0 ;Bank 1 MOVLW ADRESSE ;adresse à lire MOVWF EEADR ;Address to read BSF EECON1, RD ;EE Read MOVF EEDATA, W ;W = EEDATA BCF STATUS, RP0 ;Bank 0 return
Je pense que j'ai des soucis avec les 2 lignes en gras.Code:allumage movf vtar1, W movwf bcl ; initialiser compteur boucle call tempo1s decfsz bcl , f ; décrémenter compteur et tester sa valeur goto boucle MOVLW B'00000100' ;enclenche rel 1 MOVWF GPIO
Merci de me dire ce que vous en pensez .
-----