diff --git a/compteurLettre.txt b/compteurLettre.txt new file mode 100644 index 0000000..3f70051 --- /dev/null +++ b/compteurLettre.txt @@ -0,0 +1,53 @@ +.equ PINA = 0x00 ; définition des adresses des ports +.equ DDRA = 0x01 +.equ PORTA = 0x02 +.equ PINC = 0x06 +.equ DDRC = 0x07 +.equ PORTC = 0x08 + +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.def compteur = r20 +.def seg = r21 + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x0080 + +afficheur: + .DB 0x3F, 0x30, 0x6D, 0x79, 0x72, 0x5B, 0x5F, 0x31, 0x7F, 0x7B, 0x77, 0x40, 0x4c, 0xfc, 0xcf, 0xc7, 0x40, 0xf6, 0x04, 0x3c, 0x40, 0x0E, 0x37, 0x54, 0x5c, 0x40, 0x40, 0x44, 0x5b, 0x4e, 0x1c, 0x1c, 0x40, 0x40, 0x40, 0x40, 0x63 + ; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z, ° + + +debut: + DDRA@IO <- 0xFF + DDRC@IO <- 0xFF + +boucle: + + ; On affiche compteur sur le 7 segments + seg <- afficheur@ROM[compteur] + out porta,seg + + ; On change de chiffre + inc compteur + si compteur > 36 alors compteur <- 0 + + ; On attend et on recommence + call tempo + call tempo + call tempo + saut boucle + +tempo: + ldi r24,8 +tempoA: + subi r22,1 + sbci r23,0 + sbci r24,0 + brcc tempoA + ret -- libgit2 0.21.2