; ; Chenillard_asm_Uno.asm ; Sur sorties 2 à 7 de carte Uno ; ; Created: 07/12/2020 10:17:47 ; Author : Christian ; Amended : 06/02/2021 ; Utilise LSL (Logical Shift Left) pour déplacer le flash ; Durée de flash approximativement 74 ms ; Durée entre salve approximativement 1500 ms ; Replace with your application code ldi r17,0b11111100 out DDRD, r17 ; lignes 2 à 7 en sortie sbi DDRB,5 ; ligne 13 en sortie sbi PORTB,5 ; ligne 13 on - LED_BUILTIN on (fin de setup) start: ldi r17,0b00000000 out PORTD,r17 ; chenillard éteint ldi r16,120 ; R16 règle durée de temporisation rcall delay ; durée de pause longue ldi r17,0b00000100 out PORTD,r17 ; ligne 2 on in r5,PORTD ; le port D est mis dans R5 loop_ppale: ; boucle principale du programme ldi r16,6 ; R16 règle durée de temporisation rcall delay ; durée de flash court lsl r5 ; décalage à gauche de R5 out PORTD,r5 ; PORTD décalé vers gauche brcc loop_ppale ; recommence décalage tant que C = 0 rjmp start ; C = 1 donc reprend toute la séquence delay: ; SBR de temporisation clr r8 ; R8 = 0 clr r9 ; R9 = 0 loop: ; boucles imbriquées avec R8, R9 et R16 dec r8 brne loop dec r9 brne loop dec r16 brne loop ret ; retour de sous-programme