Blame view

compteurLettre.txt 2.25 KB
3ce5291d   thubert   Ajout des caracte...
1
2
3
4
5
6
7
  .equ PINA = 0x00 ; définition des adresses des ports

  .equ DDRA = 0x01

  .equ PORTA = 0x02

  .equ PINC = 0x06

  .equ DDRC = 0x07

  .equ PORTC = 0x08

  

9ebdcefb   thubert   Affichage fonctio...
8
9
  .equ TTCR0A = 0x24 ; Initialisation du timer

  .equ TTCR0B = 0x25

b2e56564   thubert   Ajout du timer
10
11
  .equ TMSK0 = 0x6e

  

3ce5291d   thubert   Ajout des caracte...
12
13
14
15
  .equ RAMEND = 0x21FF

  .equ SPH = 0x3E ; initialisation de la pile

  .equ SPL = 0x3D

  

b2e56564   thubert   Ajout du timer
16
  .def selAfficheur = r19

a7b6498c   thubert   Tentative de test...
17
  .def tmp = r20

3ce5291d   thubert   Ajout des caracte...
18
  .def seg = r21

9ebdcefb   thubert   Affichage fonctio...
19
20
21
22
23
  .def aff0 = r0

  .def aff1 = r1

  .def aff2 = r2

  .def aff3 = r3

  

b2e56564   thubert   Ajout du timer
24
  .org  0x000

3ce5291d   thubert   Ajout des caracte...
25
26
27
      ; Vecteur RESET

      jmp debut

  

b2e56564   thubert   Ajout du timer
28
29
30
  .org 0x002e

      ; Vecteur TIMER0

      jmp tmr

3ce5291d   thubert   Ajout des caracte...
31
  

b2e56564   thubert   Ajout du timer
32
  .org 0x0080

3ce5291d   thubert   Ajout des caracte...
33
  afficheur:

a7b6498c   thubert   Tentative de test...
34
35
      .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, 0x00

      ;      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,    °, space

3ce5291d   thubert   Ajout des caracte...
36
37
38
39
  

  

  debut:

      DDRA@IO <- 0xFF

a7b6498c   thubert   Tentative de test...
40
      DDRC@IO <- 0x0F

b2e56564   thubert   Ajout du timer
41
      TTCR0A@IO <- 0x01

9ebdcefb   thubert   Affichage fonctio...
42
43
      TTCR0B@IO <- 0x03

      TMSK0 <- 0x01 

b2e56564   thubert   Ajout du timer
44
45
46
      selAfficheur <- 0x01

      SEI

      

3ce5291d   thubert   Ajout des caracte...
47
48
  boucle:

  

3ce5291d   thubert   Ajout des caracte...
49
      ; On change de chiffre

a7b6498c   thubert   Tentative de test...
50
51
52
53
54
      aff0 <- aff1

      aff1 <- aff2

      aff2 <- aff3

      inc aff3

      si  aff3 > 37  alors aff3  <- 0

9ebdcefb   thubert   Affichage fonctio...
55
56
57
58
59
      

     

   

    

   

3ce5291d   thubert   Ajout des caracte...
60
61
62
63
64
  

      ; On attend et on recommence

      call tempo

      call tempo

      call tempo

9ebdcefb   thubert   Affichage fonctio...
65
66
67
68
69
70
71
72
      call tempo

      call tempo

      call tempo

      call tempo

      call tempo

      call tempo

      call tempo

      call tempo

3ce5291d   thubert   Ajout des caracte...
73
74
75
76
77
78
79
80
81
82
      saut boucle

  

  tempo:

      ldi r24,8

  tempoA:

      subi r22,1

      sbci r23,0

      sbci r24,0

      brcc tempoA

      ret

b2e56564   thubert   Ajout du timer
83
84
85
  

  tmr:

      lsl selAfficheur

9ebdcefb   thubert   Affichage fonctio...
86
87
      si selAfficheur > 8 alors selafficheur <- 1 

      portc@IO <- 0xff - selAfficheur

a7b6498c   thubert   Tentative de test...
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
      r18 <- pinC@IO

      lsr r18

      lsr r18

      lsr r18

      lsr r18

      tmp <- r18

      and tmp, aff3

      si selAfficheur == 1 alors porta@IO <- afficheur@ROM[tmp]

      tmp <- r18

      and tmp, aff2

      si selAfficheur == 2 alors porta@IO <- afficheur@ROM[tmp]

      tmp <- r18

      and tmp , aff1

      si selAfficheur == 4 alors porta@IO <- afficheur@ROM[tmp]

      tmp <- r18

      and tmp, aff0

      si selAfficheur == 8 alors porta@IO <- afficheur@ROM[tmp]

9ebdcefb   thubert   Affichage fonctio...
105
      sei

b2e56564   thubert   Ajout du timer
106
      ret