Commit b2e5656444046d9c045cbf1d2ceafe1ef4c63643

Authored by thubert
1 parent e1ef3f33

Ajout du timer

Showing 1 changed file with 23 additions and 4 deletions   Show diff stats
compteurLettre.txt
@@ -5,19 +5,26 @@ @@ -5,19 +5,26 @@
5 .equ DDRC = 0x07 5 .equ DDRC = 0x07
6 .equ PORTC = 0x08 6 .equ PORTC = 0x08
7 7
  8 +.equ TCCR0A = 0x24 ; Initialisation du timer
  9 +.equ TCCR0B = 0x25
  10 +.equ TMSK0 = 0x6e
  11 +
8 .equ RAMEND = 0x21FF 12 .equ RAMEND = 0x21FF
9 .equ SPH = 0x3E ; initialisation de la pile 13 .equ SPH = 0x3E ; initialisation de la pile
10 .equ SPL = 0x3D 14 .equ SPL = 0x3D
11 15
  16 +.def selAfficheur = r19
12 .def compteur = r20 17 .def compteur = r20
13 .def seg = r21 18 .def seg = r21
14 -  
15 -.org 0x000 19 +.org 0x000
16 ; Vecteur RESET 20 ; Vecteur RESET
17 jmp debut 21 jmp debut
18 22
19 -.org 0x0080 23 +.org 0x002e
  24 + ; Vecteur TIMER0
  25 + jmp tmr
20 26
  27 +.org 0x0080
21 afficheur: 28 afficheur:
22 .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 29 .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
23 ; 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, ° 30 ; 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: @@ -26,11 +33,17 @@ afficheur:
26 debut: 33 debut:
27 DDRA@IO <- 0xFF 34 DDRA@IO <- 0xFF
28 DDRC@IO <- 0xFF 35 DDRC@IO <- 0xFF
29 - 36 + TTCR0A@IO <- 0x01
  37 + TTCR0B@IO <- 0x04
  38 + TMSK0 <- 0x6E
  39 + selAfficheur <- 0x01
  40 + SEI
  41 +
30 boucle: 42 boucle:
31 43
32 ; On affiche compteur sur le 7 segments 44 ; On affiche compteur sur le 7 segments
33 seg <- afficheur@ROM[compteur] 45 seg <- afficheur@ROM[compteur]
  46 + out portc,selAfficheur
34 out porta,seg 47 out porta,seg
35 48
36 ; On change de chiffre 49 ; On change de chiffre
@@ -51,3 +64,9 @@ tempoA: @@ -51,3 +64,9 @@ tempoA:
51 sbci r24,0 64 sbci r24,0
52 brcc tempoA 65 brcc tempoA
53 ret 66 ret
  67 +
  68 +tmr:
  69 + lsl selAfficheur
  70 + si selAfficheur > 8 alors selAfficheur <-0x01
  71 + portc@IO <- selAfficheur
  72 + ret