; Équivalences .equ PINA = 0x00 .equ DDRA = 0x01 .equ PORTA = 0x02 .equ PINC = 0x06 .equ DDRC = 0x07 .equ PORTC = 0x08 .equ WDTCSR = 0x60 .equ TTCR0A = 0x24 .equ TTCR0B = 0x25 .equ TMSK0 = 0x6e .equ EIMSK = 0x3D .equ EICRA = 0x69 .equ EICRB = 0x6A .equ ADMUX = 0x7C .equ ADCSRB = 0x7B .equ ADCSRA = 0x7A .equ ADCH = 0x79 .equ SPH = 0x3E .equ SPL = 0x3D ; Nommage des registres utilisés .def etat = r12 .def reference = r13 ; Température de référence actuelle .def d3 = r2 ; Digit 3 (tout à gauche) .def d2 = r3 ; Digit 2 .def d1 = r4 ; Digit 1 .def d0 = r5 ; Digit 0 (tout à droite) .def compteur = r6 ; Utilisé pour modifier des valeurs dans le menu .def temp = r7 ; Utilisé pour différentes choses mais très brièvement .def t2 = r8 ; Jour (3 premiers bits) et Heure (5 derniers bits) .def t1 = r9 ; Minutes .def t0 = r10 ; Secondes / 2 .def selaff = r11 ; Digit en cours d'affichage .def jours = 0x0200 .def tempJour = 0x02a8 .def tempNuit = 0x02a9 ; Vecteurs d'interruptions .org 0x000 ; Vecteur RESET jmp debut .org 0x0080 ; Tableaux de la mémoire du programme afficheur: .DB 0x3F, 0x30, 0x6D, 0x79, 0x72, 0x5B, 0x5F, 0x31, 0x7F, 0x7B ; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ; Programme debut: DDRA@IO <- 0xFF DDRC@IO <- 0xFF PORTA@IO <- 0xFF PORTC@IO <- 0x00 jmp debut