Commit 9ebdcefb50b8f558f780cea1c219dfb85765443a

Authored by thubert
1 parent 39080e62

Affichage fonctionnel, mais fonctionnement a frequence plus haute pour eviter qu'il scintille

Showing 1 changed file with 35 additions and 14 deletions   Show diff stats
compteurLettre.txt
@@ -5,8 +5,8 @@ @@ -5,8 +5,8 @@
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 8 +.equ TTCR0A = 0x24 ; Initialisation du timer
  9 +.equ TTCR0B = 0x25
10 .equ TMSK0 = 0x6e 10 .equ TMSK0 = 0x6e
11 11
12 .equ RAMEND = 0x21FF 12 .equ RAMEND = 0x21FF
@@ -16,6 +16,11 @@ @@ -16,6 +16,11 @@
16 .def selAfficheur = r19 16 .def selAfficheur = r19
17 .def compteur = r20 17 .def compteur = r20
18 .def seg = r21 18 .def seg = r21
  19 +.def aff0 = r0
  20 +.def aff1 = r1
  21 +.def aff2 = r2
  22 +.def aff3 = r3
  23 +
19 .org 0x000 24 .org 0x000
20 ; Vecteur RESET 25 ; Vecteur RESET
21 jmp debut 26 jmp debut
@@ -26,7 +31,7 @@ @@ -26,7 +31,7 @@
26 31
27 .org 0x0080 32 .org 0x0080
28 afficheur: 33 afficheur:
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 34 + .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
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, ° 35 ; 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, °
31 36
32 37
@@ -34,26 +39,37 @@ debut: @@ -34,26 +39,37 @@ debut:
34 DDRA@IO <- 0xFF 39 DDRA@IO <- 0xFF
35 DDRC@IO <- 0xFF 40 DDRC@IO <- 0xFF
36 TTCR0A@IO <- 0x01 41 TTCR0A@IO <- 0x01
37 - TTCR0B@IO <- 0x04  
38 - TMSK0 <- 0x6E 42 + TTCR0B@IO <- 0x03
  43 + TMSK0 <- 0x01
39 selAfficheur <- 0x01 44 selAfficheur <- 0x01
40 SEI 45 SEI
41 46
42 boucle: 47 boucle:
43 48
44 - ; On affiche compteur sur le 7 segments  
45 - seg <- afficheur@ROM[compteur]  
46 - out portc,selAfficheur  
47 - out porta,seg  
48 -  
49 ; On change de chiffre 49 ; On change de chiffre
50 - inc compteur  
51 - si compteur > 36 alors compteur <- 0 50 + aff3 <- aff2
  51 + aff2 <- aff1
  52 + aff1 <- aff0
  53 + inc aff0
  54 + si aff0 > 36 alors aff0 <- 0
  55 +
  56 +
  57 +
  58 +
  59 +
52 60
53 ; On attend et on recommence 61 ; On attend et on recommence
54 call tempo 62 call tempo
55 call tempo 63 call tempo
56 call tempo 64 call tempo
  65 + call tempo
  66 + call tempo
  67 + call tempo
  68 + call tempo
  69 + call tempo
  70 + call tempo
  71 + call tempo
  72 + call tempo
57 saut boucle 73 saut boucle
58 74
59 tempo: 75 tempo:
@@ -67,6 +83,11 @@ tempoA: @@ -67,6 +83,11 @@ tempoA:
67 83
68 tmr: 84 tmr:
69 lsl selAfficheur 85 lsl selAfficheur
70 - si selAfficheur > 8 alors selAfficheur <-0x01  
71 - portc@IO <- selAfficheur 86 + si selAfficheur > 8 alors selafficheur <- 1
  87 + portc@IO <- 0xff - selAfficheur
  88 + si selAfficheur == 1 alors porta@IO <- afficheur@ROM[aff3]
  89 + si selAfficheur == 2 alors porta@IO <- afficheur@ROM[aff2]
  90 + si selAfficheur == 4 alors porta@IO <- afficheur@ROM[aff1]
  91 + si selAfficheur == 8 alors porta@IO <- afficheur@ROM[aff0]
  92 + sei
72 ret 93 ret