diff --git a/compteurLettre.txt b/compteurLettre.txt index 3f70051..5a22b90 100644 --- a/compteurLettre.txt +++ b/compteurLettre.txt @@ -5,19 +5,26 @@ .equ DDRC = 0x07 .equ PORTC = 0x08 +.equ TCCR0A = 0x24 ; Initialisation du timer +.equ TCCR0B = 0x25 +.equ TMSK0 = 0x6e + .equ RAMEND = 0x21FF .equ SPH = 0x3E ; initialisation de la pile .equ SPL = 0x3D +.def selAfficheur = r19 .def compteur = r20 .def seg = r21 - -.org 0x000 +.org 0x000 ; Vecteur RESET jmp debut -.org 0x0080 +.org 0x002e + ; Vecteur TIMER0 + jmp tmr +.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, ° @@ -26,11 +33,17 @@ afficheur: debut: DDRA@IO <- 0xFF DDRC@IO <- 0xFF - + TTCR0A@IO <- 0x01 + TTCR0B@IO <- 0x04 + TMSK0 <- 0x6E + selAfficheur <- 0x01 + SEI + boucle: ; On affiche compteur sur le 7 segments seg <- afficheur@ROM[compteur] + out portc,selAfficheur out porta,seg ; On change de chiffre @@ -51,3 +64,9 @@ tempoA: sbci r24,0 brcc tempoA ret + +tmr: + lsl selAfficheur + si selAfficheur > 8 alors selAfficheur <-0x01 + portc@IO <- selAfficheur + ret -- libgit2 0.21.2