un petit programme pour temporisateur-decompte avec un AT90S1200 - ASM - Programmation
Marsh Posté le 12-01-2004 à 15:09:19
si c pour faire le malin c pas la peine  
Marsh Posté le 12-01-2004 à 16:04:16
| bentaih a écrit : si c pour faire le malin c pas la peine   | 
 
c'est pas la peine de quoi ? 
tu te rends compte du topic que tu viens d'ouvrir ? 
- aucune explication, 
- "faites moi ce programme et démerdez vous" 
- surement une demande de TP, ce qui est interdit sur ce forum 
- etc... 
et tu te permets d'engueuler quelqu'un qui te répond sur le même ton que tu utilises ? pardon mais j'assimile çà à du foutage de gueule. 
si tu ne donnes pas plus d'infos d'ici ce soir, je ferme ton topic.
Marsh Posté le 12-01-2004 à 17:46:56
ca n'a rien a avoir avec tt ca c pas un tp de un et de deux c un travail c une plaque que j'ai construit et que le programme que j'ai trouvé ne marche pas trés bien dessus  
alors je demande pour voir s'il y a pas qq qui a travailler ce genre de programmme pour faire une petite comparaison  
une autre chose c pas parceque tu me dis que tu vas fermer mon topic que je te reponds car j'en ai rien a foutre de ce que tu penses ou de quoi t'as envie  
 
Marsh Posté le 12-01-2004 à 17:51:04
encore une chose c pas de l'aide humanitaire que présente ce forum alors ca sert a rien de faire des menace d'ejecter les gens des frums y'en des milliers sur le net  
alors continu a partager tonsavoir avec d'autre qui ont en peut etre plus que toi ou moins que toi  
c a ca que sert un forum de discussion
Marsh Posté le 12-01-2004 à 18:12:23
Disons que je pense que ça ne se fait pas trop de juste demander un programme tout chaud. J'ai l'impression d'être en examen avec le sujet que vient de distribuer le prof. 
Ca donne l'impression que tu n'as fait aucun effort et que tu délègues le boulot aux gens de ce forum. 
Au moins, explique nous en détails ce que tu veux, montre nous ce que tu as déjà fait, les problèmes que tu as rencontrés ... bref montre nous que tu n'es pas venu les mains dans les poches, les doigts de pieds en éventail. Et puis même, cette considération mise à part, ton expérience sur ce problème sera sûrement d'un grand secours pour ceux qui voudront (pourront surtout) t'aider, qui n'auront donc pas ainsi tout à refaire. 
 
Voilà A+   
  
 
Marsh Posté le 12-01-2004 à 19:04:20
un petit programme pour gestion de fichiers sous linux 
 
merci du fond du coeur
Marsh Posté le 12-01-2004 à 19:12:26
un petit programme pour générer des tangentes pour mon plug-in d'export 3dsmax 
 
merci du fond du coeur
Marsh Posté le 12-01-2004 à 19:14:28
un generateur de cathedrale gothique 
 
merci du fond du coeur 
 
(bjone : tangente au D3DX et basta ![[:joce] [:joce]](https://forum-images.hardware.fr/images/perso/joce.gif) )
) 
Marsh Posté le 12-01-2004 à 19:16:54
(ah ouais, même pas regardé   )
 ) 
 
sinon un matérialiseur de pensées ça serait pas mal ? 
 
merci du fond du coeur
Marsh Posté le 12-01-2004 à 19:20:02
bentaih >> sinon tout ça c'est pour te faire comprendre que tu poses une question vague sur du hardware dont l'environnement n'est même pas décrit....
Marsh Posté le 12-01-2004 à 19:41:10
sinon pour ceux que ça interresse, c'est de ça dont parle le monsieur: 
 
http://www.atmel.com/dyn/resources [...] OC0838.PDF 
 
un microcontrôleur RISC qui contients 1Ko de mémoire flash pour le code (512 instructions de 16bits), 64 octets en eeprom (pas de ram, pile matérielle limitée), 32 registres 8 bits. 
 
Marsh Posté le 12-01-2004 à 19:46:20
| bjone a écrit : sinon pour ceux que ça interresse, c'est de ça dont parle le monsieur:  | 
 
 
Sans les affectations des entrées/sorties (donc sans le schéma de sa carte), sans plus de précision, on ne peut rien faire. 
 
De toutes façons, vu comment c'est demandé ![[:spamafote] [:spamafote]](https://forum-images.hardware.fr/images/perso/spamafote.gif)
Marsh Posté le 12-01-2004 à 20:13:33
toutafé... 
 
mais d'un coté si c'est pour de la temporisation, et si l'on connaissait la fréquence d'horloge, on devrait pouvoir au moins écrire une boucle d'attente basique bien crade ou jouer avec le Timer/Counter0....
Marsh Posté le 13-01-2004 à 11:49:01
| bentaih a écrit : ca n'a rien a avoir avec tt ca c pas un tp de un et de deux c un travail c une plaque que j'ai construit et que le programme que j'ai trouvé ne marche pas trés bien dessus   | 
 
Dans ce cas c'est tellement dur de formuler correctement ta question, plutot que de la mettre dans le sujet, puis d'imaginer que tout le monde aura compris ce que tu demandes ? 
 
C'est tellement dur d'écrire "Bonjour à tous, ayant réalisé un programme pour temporisateur-décompte avec un AT90S1200, je me rends compte qu'il fonctionne finalement assez mal. 
L'un d'entre vous a t'il déjà réalisé ce genre de programme, afin de pouvoir me donner des conseils et m'aider à faire fonctionner le mien correctement ? Merci par avance." 
 
Tu postes éventuellement un bout de ton source, et puis voilà, ça t'aurait évité de te faire enflammer et tout le monde était content.
Marsh Posté le 13-01-2004 à 11:52:19
| bentaih a écrit : encore une chose c pas de l'aide humanitaire que présente ce forum alors ca sert a rien de faire des menace d'ejecter les gens des frums y'en des milliers sur le net   | 
 
Exactement ! Y'a des milliers de forums sur le net, et si tu m'en trouves un qui arrive à te répondre avec la même quantité d'infos que tu donnes, je te tire mon chapeau ! 
Quant à la "menace", elle vient du fait que vu le peu d'infos que tu donnes, on peut penser que tu demandes un programme tout fait pour un exo/TP, ce qui, si tu lis les règles, est interdit. Donc plutot que de fermer ton sujet sans autre forme de procés, et dans le doute, j'ai laissé ouvert mais en te prévenant néanmoins.
Marsh Posté le 13-01-2004 à 14:42:50
| Harkonnen a écrit :   | 
 
bon ok puis tt le monde prends ma question mal a ce point je vous reexplique tt a zero et je m'excuse si ma ma question etait si mal formuler  
alors la carte que je viens de faire est un temporisateur a decompte a deux afficheur 7 segments avec un buzzer se declanchant a la fin de decompte le hard est fini et tester donc de ce coté ya pas de prob mais c le prog concu pour la carte ne marche pas qd je l'ai charger ds mon at90S1200
Marsh Posté le 13-01-2004 à 14:46:46
le schema et le board sont fait par eagle 4.11 si qq veut jeter un coup d'oeil je peux lui envoyer par mail les deux avec le code source que j'ai trouvé aussi sauf qu'il est un peu long 
  
 
 
Marsh Posté le 13-01-2004 à 14:47:35
j'attends vos reponse plus plus en discuter 
Marsh Posté le 13-01-2004 à 18:22:46
C'est déjà mieux  
 
Par contre, si tu veux compléter un message, tu peux l'éditer en cliquant sur l'icône appropriée. C'est beaucoup mieux que de poster plusieurs messages à la suite. 
 
Sinon, pour ton problème : le mieux est que tu donne le code source ici (en prenant bien soin de le placer entre des balises C/C++), ou que tu indique l'URL qui permet de le récupérer. Même si nous ne connaissons pas les spécificités du langage d'assemblage Atmel, nous pourrons peut-être essayer de faire quelque chose. Mais il faut bien comprendre que tu dois mâcher le travail le plus possible si tu veux être aidé (en donnant des liens vers les documentations/datasheets nécessaires, etc.).
Marsh Posté le 13-01-2004 à 18:52:12
donc ton truc y décompte les secondes, et affiche le temps restant sur les affichages 7 segments ?
Marsh Posté le 13-01-2004 à 21:53:33
| bjone a écrit : donc ton truc y décompte les secondes, et affiche le temps restant sur les affichages 7 segments ?  | 
 
exactement c en fait des 7 segement  
et le decomptage et terminer par le declanchement d'un buzzer lampre..... 
Marsh Posté le 13-01-2004 à 21:59:18
dans 10min je vais mettre mon code source je fini encore qq truc dessus
Marsh Posté le 13-01-2004 à 22:44:37
| printf a écrit : C'est déjà mieux  | 
 
 
 
 
 
voici mon code source que j'ai trouvé j'ai tt verifier pour moi sa semble trés logique mais ca foncitione pa 
alors c quoi votre avis la dessus ? 
j'ai l'impression qu'il manque qq chose mais en suivant la logique j'arive pas a trouver ?  
   
 
Marsh Posté le 13-01-2004 à 22:45:40
| bentaih a écrit :   | 
 
 
Il est où le code source  
   
 
Marsh Posté le 13-01-2004 à 22:47:39
| printf a écrit : C'est déjà mieux  | 
 
 
oooooooops j'ai oublier de la coller ds le message précédent  
le voila il est un peu long  
   
  
 
 
.DEF    SAVE_STATUS     =       R1      ; 
.DEF    EERTMP          =       R2      ; 
.DEF    EE_DRDS         =       R3      ; 
 
 
.DEF    COUNTER         =       R16     ; 
.DEF    COUNTER_NEXT    =       R17     ; 
.DEF    COUNTER_NEXT1   =       R20     ;         
.DEF    FLASH_FLAG      =       R21     ; 
 
.DEF    COUNT1          =       R18      ;UNITS OF MINUTES 
.DEF    COUNT2          =       R19      ;TENS OF MINUTES 
.DEF    COUNT1_RESULT   =       R20 
.DEF    COUNT2_RESULT   =       R21 
.DEF    DURATION        =       R22 
.DEF    DURATION1       =       R23 
.DEF    SECONDS         =       R24 
; 
.DEF    TEMP            =       R25 
.DEF    FLAG_1          =       R26 
.DEF    TIME_OUT        =      R28 ;R27 
; 
.DEF    REG_LOW         =       R30 
.DEF    REG_HIGH        =       R31            
 
 
;=========================================================================== 
 
.EQU    ALARM_SET       =       01      ; 
.EQU    LED_SET         =       01      ; IDENTICAL TO "ALARM_SET" 
 
 
;========================================================================== 
 
 
.include "1200def.inc" 
 
;============================================================================ 
 
.ESEG 
 
;       ('LPM' DOESN'T WORK ON 1200AVR CHIP.) 
;   TO BE LOADED IN EEROM MANUALLY OR AUTOMATICALLY VIA AVR PROGRAMMER SOFTWARE 
;   - WE DID THE FORMER! (EEROM ADDRESS $0000 - $000A 
 
TABLE: 
;============================================================================ 
;                 0   1   2  3   4   5   6   7   8   9   - 
;---------------------------------------------------------------------------- 
        .DB     $3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$67,$01 
 
;============================================================================ 
 
 
 
.CSEG 
 
 
 
        .ORG 0 
 
        RJMP    RESET                  ;Reset Handle 
 
        .ORG    1 
 
         RETI 
 
        .ORG 2 
 
         RJMP TIMER0_INT_ROUTINE 
 
 
;=========================================================================== 
         
 
         .ORG   $0030 
 
RESET: 
  
         LDI    TEMP,0B00000100    ;DIV 256  
         OUT    TCCR0,TEMP         ;      
 
         SER    TEMP               ;PORTB OUTPUTS 
         OUT    DDRB,TEMP          ;      
 
         LDI    TEMP,0B11100011    ;BIT 0,1,5,6, = O/P; BIT 7 = N/A 
         OUT    DDRD,TEMP          ;BIT 2,3,4 = I/P 
 
         LDI    TEMP, 2            ;Set the TOIE0 bit to enable  
         OUT    TIMSK, TEMP        ;the Timer0 Interrupt to occur 
 
         CLI                     ;DISABLE INTERRUPTS 
 
         LDI     TIME_OUT,$00    ;COUNT FOR SECOND UP 
         CLR     SECONDS         ;SECONDS COUNT 
         CLR     FLAG_1          ; 
         SBI     PORTD,ALARM_SET ;TURN OFF LED        
         SBI     PORTB,7         ;TURN OFF BUZZER 
;============================================================================ 
 
 
         CLR    COUNT1          ; CLEAR LED DISPLAY 
         CLR    COUNT2          ; BOTH DIGITS 
 
;============================================================================ 
 
 
WAIT_FOR_KEYPRESS: 
         CLI                       ;      
 
         CLR    FLAG_1             ; 
         SBI     PORTD,ALARM_SET   ;LED OFF        
         SBIS    PIND,4            ; 
         RCALL   INC_DISP_1        ; 
         ; 
         SBIS    PIND,3            ; 
         RCALL   INC_DISP_2        ; 
         ; 
         RCALL   GET_SEVEN_SEGMENT ; 
         RCALL   DISPLAY_IT        ; 
         SBI     PORTB,7           ;TURN OFF BUZZER 
 
         SBIC   PIND,2             ; 
         RJMP   WAIT_FOR_KEYPRESS  ; 
WAIT: 
         RCALL   GET_SEVEN_SEGMENT ; 
         RCALL   DISPLAY_IT        ; 
         SBI     PORTB,7           ;TURN OFF BUZZER 
         ; 
         SBIS   PIND,2              ;     
         RJMP   WAIT                ; 
LOOP_LOOP: 
         CBI     PORTD,ALARM_SET    ;        
         SEI                        ;                
         SER    FLAG_1              ; 
         ; 
WAIT_HERE: 
        CLI 
        CBI     PORTD,LED_SET       ;        
        RCALL   GET_SEVEN_SEGMENT 
        RCALL   DISPLAY_IT 
        SBI     PORTB,7             ;TURN OFF BUZZER 
        SEI 
        NOP 
        RCALL   DELAY 
        RJMP    WAIT_HERE           ; 
 
         
;============================================================================ 
 
INC_DISP_1: 
        INC     COUNT1   
        CPI     COUNT1,$0A 
        BREQ    MAKE_COUNT1_ZERO 
        RJMP    LOOP_ONE 
 
MAKE_COUNT1_ZERO: 
        CLR     COUNT1 
LOOP_ONE: 
        RCALL   DELAY  
        SBIS    PIND,4 
        RJMP    LOOP_ONE 
        RET 
;============================================================================ 
 
INC_DISP_2: 
        INC     COUNT2 
        CPI     COUNT2,$0A 
        BREQ    MAKE_COUNT2_ZERO 
        RJMP    LOOP_TWO 
 
MAKE_COUNT2_ZERO: 
        CLR     COUNT2 
LOOP_TWO: 
        RCALL   DELAY  
        SBIS    PIND,3 
        RJMP    LOOP_TWO 
        RET 
 
 
;============================================================================ 
 
;============================================================================ 
 
;================  INTERRUPT ROUTINE  ======================================= 
 
TIMER0_INT_ROUTINE: 
         CLI                             ;DISABLE INTERRUPT 
         ; 
         SBI     PORTB,7                 ;TURN OFF BUZZER 
         CBI     PORTD,ALARM_SET         ;LED ON 
         RCALL   DISPLAY_DIGITS          ;SHOW IT ON LED DISPLAY 
         ; 
         RCALL  CONVERT_TO_BCD           ; 
         ; 
         CPI     FLAG_1,$FF              ;START BUTTON PRESSSED? 
         BRNE    ALARM_NOT_SET_YET      ; 
         ; 
         CBI     PORTD,ALARM_SET        ;LED OFF        
         ; 
         ; 
         CPI    COUNT1, 00              ; 
         BRNE   NOT_ZERO                ; 
         CPI    COUNT2, 00              ; 
         BRNE   NOT_ZERO                ; 
         RJMP   TIME_UP                 ; EXIT WITH INTERRUPT DISABLED 
ALARM_NOT_SET_YET: 
 
NOT_ZERO: 
         SEI 
         RETI 
;============================================================================ 
 
CONVERT_TO_BCD: 
        IN      SAVE_STATUS, SREG       ; 
 
KEEP_GOING: 
 
        SUBI    COUNT1, $0A             ; 
        BRCS    LESS_THEN_TEN           ;IF $0A > COUNT1, CARRY IS SET! 
        ;IF COUNT1 > $0A CONTINUE        
        SUBI    COUNT2,$0A              ;UPPER BYTE < 10 ? 
        BRCS    LESS_THEN_TEN_AS_WELL   ;WAS BRCC 
IS_ZERO: 
        OUT     SREG, SAVE_STATUS       ; 
        RET                             ; 
 
LESS_THEN_TEN_AS_WELL: 
        LDI     TEMP, $0A               ; 
        ADD     COUNT2,TEMP             ; 
        RJMP    KEEP_GOING              ; 
 
LESS_THEN_TEN: 
        LDI     TEMP, $0A               ; 
        ADD     COUNT1,TEMP             ; 
        OUT     SREG, SAVE_STATUS       ; 
        RET 
                   
;============================================================================ 
 
GET_SEVEN_SEGMENT: 
        ; 
 
        IN      SAVE_STATUS, SREG       ; 
        LDI     TEMP, TABLE - 1         ; 
        ADD     TEMP,COUNT1             ; 
        OUT     EEAR, TEMP              ; ADDRESS OF TABLE 
 
        RCALL   EEREAD_IT               ;GET BYTE FROM EEPROM 
        MOV     COUNT1_RESULT,EE_DRDS   ;                                                                                                                                                                                    V     COUNT1_RESULT,EE_DRDS   ; 
        ; 
        ; 
        LDI     TEMP, TABLE - 1         ; 
        ADD     TEMP,COUNT2             ; 
        OUT     EEAR, TEMP              ; ADDRESS OF TABLE 
 
        RCALL   EEREAD_IT               ;GET BYTE FROM EEPROM 
        MOV     COUNT2_RESULT,EE_DRDS   ; 
        OUT     SREG,SAVE_STATUS        ; 
        RET 
 
;============================================================================ 
 
DISPLAY_IT: 
 
 
        IN      SAVE_STATUS, SREG       ; 
        COM     COUNT1_RESULT           ; LOW BYTE 
        COM     COUNT2_RESULT           ; HIGH BYTE 
        OUT     PORTB,COUNT1_RESULT     ; DISPLAY DIGIT1 
        SBI     PORTB,7                 ; TURN OFF BUZZER 
        CBI     PORTD,5                 ; TURN ON DIGIT 1 
        SBI     PORTD,6                 ; TURN OFF DIGIT 2 
        ; 
        RCALL   LONG_DELAY              ; 
        ; 
        OUT     PORTB,COUNT2_RESULT     ; DISPLAY DIGIT 2 
        SBI     PORTB,7                 ; BUZZER OFF 
        SBI     PORTD,5                 ; TURN OFF DIGIT 1 
        CBI     PORTD,6                 ; TURN ON DIGIT 2 
        RCALL   LONG_DELAY              ; 
        ; 
        OUT     SREG, SAVE_STATUS       ; 
        RET 
        ; 
 
;============================================================================= 
;============================================================================= 
DISPLAY_DIGITS: 
        ; 
        IN      SAVE_STATUS, SREG       ; 
        CPI     FLAG_1,$FF              ;START BUTTON PRESSSED? 
        BRNE    ALARM_NOT_SET           ; 
        ; 
        INC     TIME_OUT                ; 
        CPI     TIME_OUT, 61            ;1 SECOND 
        BREQ    TIMER_OUT               ; 
        ; 
ALARM_NOT_SET: 
        OUT     SREG, SAVE_STATUS       ; 
        RET 
TIMER_OUT: 
        CLR     TIME_OUT                ;1 SEC UP 
        INC     SECONDS                 ; 
        CPI     SECONDS,60              ; 
        BREQ    MINUTE_UP               ; 
 
        OUT     SREG, SAVE_STATUS       ; 
        RET 
;============================================================================ 
        ;  BCD ROUTINE HERE 
        ; 
MINUTE_UP:                              ; 
        CLR     SECONDS                 ;1 MINUTE UP 
        SUBI    COUNT1, 01              ; 
        BRCS    LESS_THEN_1             ;IF 01 > COUNT1, CARRY SET 
        OUT     SREG, SAVE_STATUS       ; 
        RET                             ; 
LESS_THEN_1: 
        SUBI    COUNT1, 06              ; 
        CPI     COUNT2, 00              ;IS COUNT2 ZERO? 
        BREQ    COUNT2_ZERO 
        SUBI    COUNT2, 01              ; 
COUNT2_ZERO:                            ; 
        OUT     SREG, SAVE_STATUS       ; 
        RET                             ; 
                  
;============================================================================ 
TIME_UP: 
         CLI                            ; 
         CLR    COUNTER                 ; 
         CLR    COUNTER_NEXT            ; 
         CLR    COUNTER_NEXT1           ; 
         CBI     PORTD,LED_SET           ;LED ON 
         CBI    PORTB,7                 ;BUZZER ON 
 
TIME_UP_1: 
 
         CLI                             ; 
         ; 
         CPI     FLASH_FLAG, $FF         ;IF DISPLAY OFF 
         BREQ    TIME_UP_2               ;- KEEP IT OFF 
         ;                               ;ELSE ON! 
         CBI     PORTD, LED_SET          ;LED ON. 
         LDI     COUNT1, $3F             ;FLASH DISPLAY 
         COM     COUNT1                  ;SEGMENT 'G' ON. 
         OUT     PORTB, COUNT1           ; 
         ; 
TIME_UP_2: 
 
         CBI     PORTB, 7                ;BUZZER ON 
         RCALL   LONG_DELAY_1            ; 
         RCALL   LONG_DELAY_1            ; 
         RCALL   LONG_DELAY_1            ; 
         RCALL   LONG_DELAY_1            ; 
         RCALL   LONG_DELAY              ; 
         ; 
         INC     COUNTER                 ; 
         CPI     COUNTER, $FF            ; 
         BREQ    NEXT_COUNTER            ; 
         RJMP    TIME_UP_1               ; 
NEXT_COUNTER: 
         CLR     FLASH_FLAG              ; 
         CLR     COUNTER                 ; 
         INC     COUNTER_NEXT            ; 
         CPI     COUNTER_NEXT, $02       ; 
         BRNE    TIME_UP_1               ; 
        ; 
NEXT_COUNTER1: 
        SER      FLASH_FLAG             ; 
        CLR      COUNTER_NEXT            ; 
        SBI      PORTD,ALARM_SET         ;LED OFF 
        SER      COUNT1                  ;DISPLAY OFF 
        OUT      PORTB, COUNT1           ; 
        ; 
        SBI      PORTB, 7                ;BUZZER OFF 
        INC      COUNTER_NEXT1           ; 
        CPI      COUNTER_NEXT1, $10      ; 
        BRNE     TIME_UP_1               ; 
        ; 
        ; 
        SBI      PORTD,ALARM_SET         ;LED OFF 
        SER      COUNT1                  ;DISPLAY OFF 
        OUT      PORTB, COUNT1           ; 
        SBI      PORTB,7                  ;TURN OFF BUZZER 
        ; 
        ; 
        SLEEP                            ; 
STOPP: 
        RJMP    STOPP                    ; 
          
;============================================================================ 
 
DELAY: 
        LDI     DURATION,$FF 
COUNT_DOWN: 
        DEC     DURATION 
        CPI     DURATION,$00 
        BRNE    COUNT_DOWN 
        RET 
 
;============================================================================= 
 
 
LONG_DELAY: 
        LDI     DURATION,$FF 
        LDI     DURATION1,$0A 
 
LOOP_DELAY: 
        DEC     DURATION 
        CPI     DURATION,0 
        BRNE    LOOP_DELAY 
        ; 
        DEC     DURATION1 
        CPI     DURATION1,0 
        BRNE    LOOP_DELAY 
        RET 
 
;============================================================================= 
 
        ; 
LONG_DELAY_1: 
        LDI     DURATION,$FF 
        RCALL   COUNT_DOWN 
        ; 
        RET 
 
;============================================================================== 
 
EEREAD_IT: 
        IN      EERTMP, EEAR    ;GET ADDRESS 
        INC     EERTMP          ;NEXT ADDRESS 
        OUT     EEAR,EERTMP     ;OUTPUT ADDRESS 
        SBI     EECR,EERE       ;EEPROM READ STROBE 
        SBI     EECR,EERE       ;STROBE AGAIN 
        IN      EE_DRDS,EEDR    ;GOT DATA. 
        RET 
 
;
Marsh Posté le 14-01-2004 à 00:14:01
alors: (on est parti pour se prendre la tête  )
) 
 
c'est quoi l'ordre de grandeur de ta tempo vu COUNT1 et COUNT2, tu peux aller jusqu'a 99 minutes ? 
 
le code tu l'as trouvé sur un site, ou t'as tout écrit toi même ? tu as l'algo ?  (ça évitera que je refasse du reverse engineering) 
 
y'a un truc qui se passe ou pas ? 
=> état initial (ça passe l'init, t'as un truc d'affiché par les affichages 7 segments), état au moment du crash ? 
Marsh Posté le 14-01-2004 à 01:48:25
| bjone a écrit : alors: (on est parti pour se prendre la tête  | 
 
 
oui efectivement ma tempo peux aller juqqu'a 99 min 
l'algorytme je l'ai sur papier je le ferais sur word et je vous l'envoi demain  
en ce concerne le programme c un code sur pris sur le net normalement c celui concu opur aller avec ma carte mais c marche pas  
quand je pbranche ma carte les afficheur s'allume entierement( 88) 
en apuiyant sur le boutan concu pour choisir le nombre de minutes voulu l'un des afficheur clignote tt en gardant le (8) 
et qd j'essaye de lancer le decomptage (autre bouton )le dexieme afficheur affiche (0) et commence a clignoter 
  tu vois c un peu le bordel
 tu vois c un peu le bordel  
ca me rend fou j'arrive pas a trouver l'erreur  
  
demain j'envois l'algo et d'autre trucs que j'ai trouvé 
merci
Marsh Posté le 14-01-2004 à 16:14:15
| bjone a écrit : alors: (on est parti pour se prendre la tête  | 
 
 
le logigramme est fait mais j'arrive pas a l'envoer comme message (ce qui est normal d'ailleurs)il est en format word je te l'envoi sur ton mail 
 
ps si qq d'autre veut y jeter un coup d'oeil il peut me faire signe et je lui envois sur son mail
Marsh Posté le 16-01-2004 à 13:14:43
salut a tous c encore moi voila je vous passe les algo  
il sont sur   http://bentaih.site.voila.fr/algo.htm 
Marsh Posté le 16-01-2004 à 13:20:07
| bjone a écrit : bon on va pouvoir t'aider un peu mieux...  | 
 
 
merci  
si vous voulez savoir qq chose d'autre sur ma carte  
je serais connecté tte la journnée voir la soirée aussi 
 
Marsh Posté le 16-01-2004 à 13:22:34
bon, moi ce que je te conseillerai, c'est de te servir du buzzer pour voir quand est-ce que ça vautre...
Marsh Posté le 16-01-2004 à 13:25:09
| bjone a écrit : bon, moi ce que je te conseillerai, c'est de te servir du buzzer pour voir quand est-ce que ça vautre...  | 
 
 
 
utiliser le buzzer pour savoir quoi?  
j'ai pas compris le dernier mot 
Marsh Posté le 16-01-2004 à 13:25:29
par contre LONG_DELAY_1 et DELAY c'est la même chose hormis le call/ret qui rajoutent quelques cycles, mais vu que c'est hors de la boucle d'attente ils sont un peu "neutres" (c'est pas 3µs qui va changer grand chose  )
)
Marsh Posté le 16-01-2004 à 13:27:46
| bjone a écrit : par contre LONG_DELAY_1 et DELAY c'est la même chose hormis le call/ret qui rajoutent quelques cycles, mais vu que c'est hors de la boucle d'attente ils sont un peu "neutres" (c'est pas 3µs qui va changer grand chose  | 
 
 
donc je suprime l'une des deux ?(delay ou delay1 
Marsh Posté le 16-01-2004 à 13:34:36
| bentaih a écrit :   | 
 
 
bin tu actives le buzzer au début, puis après, etc, etc, ça te fera une traçe de debuggage.. 
 
tu as: 
SBI     PORTB,7                 ;TURN OFF BUZZER  
pour couper le buzzer apparement. 
 
donc tu trouves le symétrique pour l'activé. 
 
et tu insère cette ligne le long du programme, pour voir si tout se déroule comme il faut. 
 
-- 
 
aussi, tu peux "désactiver" le code qui sert à savoir si le départ du décompte a été lancé. 
 
du style tu laisse le truc décompter/afficher depuis 99 minutes.(et tu réduits l'attente histoire d'avoir un décompte tous les secondes). 
 
-- 
 
en fait de manière générale, faut que tu te trouves un moyen de savoir ce qui se passe (via le buzzer), et si des conditions mal évaluées. (genre un coup buzzer après l'init => ok pour l'init, puis un coup de buzzer après le premier chiffe => ok pour la saisie, si ça buzze sans rien saisir => a pas bon, etc) 
 
la technique pour débugguer, c'est d'une part se faire un système de trace, puis tester les parties séparément les unes des autres. 
 
donc genre tester les routines de décompte avec un compteur fixe (pas saisi) 
 
puis tester la saisie du décompte (et affichage de ce qu'il y a de saisi), sans éxécution du décompte etc etc....
Marsh Posté le 16-01-2004 à 13:35:26
| bentaih a écrit :   | 
 
 
je n'arrive vraiment pas a voir a quoi ca sert le longdelay1
Marsh Posté le 12-01-2004 à 15:06:43
merci du fond du coeur
---------------
thanks lot