diff --git a/compteurLettre.txt b/compteurLettre.txt index 5a22b90..787d59e 100644 --- a/compteurLettre.txt +++ b/compteurLettre.txt @@ -5,8 +5,8 @@ .equ DDRC = 0x07 .equ PORTC = 0x08 -.equ TCCR0A = 0x24 ; Initialisation du timer -.equ TCCR0B = 0x25 +.equ TTCR0A = 0x24 ; Initialisation du timer +.equ TTCR0B = 0x25 .equ TMSK0 = 0x6e .equ RAMEND = 0x21FF @@ -16,6 +16,11 @@ .def selAfficheur = r19 .def compteur = r20 .def seg = r21 +.def aff0 = r0 +.def aff1 = r1 +.def aff2 = r2 +.def aff3 = r3 + .org 0x000 ; Vecteur RESET jmp debut @@ -26,7 +31,7 @@ .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 + .DB 0x3F, 0x30, 0x6D, 0x79, 0x72, 0x5B, 0x5F, 0x31, 0x7F, 0x7B, 0x77, 0x40, 0x4c, 0x7c, 0x4f, 0x47, 0x40, 0x76, 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, ° @@ -34,26 +39,37 @@ debut: DDRA@IO <- 0xFF DDRC@IO <- 0xFF TTCR0A@IO <- 0x01 - TTCR0B@IO <- 0x04 - TMSK0 <- 0x6E + TTCR0B@IO <- 0x03 + TMSK0 <- 0x01 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 - inc compteur - si compteur > 36 alors compteur <- 0 + aff3 <- aff2 + aff2 <- aff1 + aff1 <- aff0 + inc aff0 + si aff0 > 36 alors aff0 <- 0 + + + + + ; On attend et on recommence call tempo call tempo call tempo + call tempo + call tempo + call tempo + call tempo + call tempo + call tempo + call tempo + call tempo saut boucle tempo: @@ -67,6 +83,11 @@ tempoA: tmr: lsl selAfficheur - si selAfficheur > 8 alors selAfficheur <-0x01 - portc@IO <- selAfficheur + si selAfficheur > 8 alors selafficheur <- 1 + portc@IO <- 0xff - selAfficheur + si selAfficheur == 1 alors porta@IO <- afficheur@ROM[aff3] + si selAfficheur == 2 alors porta@IO <- afficheur@ROM[aff2] + si selAfficheur == 4 alors porta@IO <- afficheur@ROM[aff1] + si selAfficheur == 8 alors porta@IO <- afficheur@ROM[aff0] + sei ret -- libgit2 0.21.2