From bb38f35fe0b3b8ad6fa3f0e47148290635f5b15f Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Mon, 15 May 2017 20:08:10 +0200 Subject: [PATCH] Test ADC effectué avec succès --- adc.txt | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+), 0 deletions(-) create mode 100644 adc.txt diff --git a/adc.txt b/adc.txt new file mode 100644 index 0000000..6b52af1 --- /dev/null +++ b/adc.txt @@ -0,0 +1,99 @@ +.equ PINA = 0x00 ; définition des adresses des ports +.equ DDRA = 0x01 +.equ PORTA = 0x02 +.equ PINC = 0x06 +.equ DDRC = 0x07 +.equ PORTC = 0x08 + +.equ TTCR0A = 0x24 ; Initialisation du timer +.equ TTCR0B = 0x25 +.equ TMSK0 = 0x6e + +.equ SREG = 0x3F +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.equ ADMUX = 0x7C +.equ ADCSRB = 0x7B +.equ ADCSRA = 0x7A +.equ ADCH = 0x79 + +.def selAfficheur = r19 +.def tmp = r20 +.def val = r21 +.def aff0 = r5 +.def aff1 = r1 +.def aff2 = r2 +.def aff3 = r3 + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x002e + ; Vecteur TIMER0 + jmp tmr + +.org 0x003A ; ADC + jmp adc + +.org 0x0080 +afficheur: + .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 + + +debut: + SREG <- 0b10000000 + DDRA@IO <- 0xFF + DDRC@IO <- 0xFF + TTCR0A@IO <- 0x01 + TTCR0B@IO <- 0x03 + TMSK0 <- 0x01 + selAfficheur <- 0x01 + + ADMUX <- 0b01100000 + ADCSRB <- 0b00000010 + ADCSRA <- 0b11011110 + + PORTA@IO <- 0xAA + PORTC@IO <- 0x00 + SEI + +boucle: + ; On attend et on recommence + saut boucle + + +tempo: + ldi r24,8 +tempoA: + subi r22,1 + sbci r23,0 + sbci r24,0 + brcc tempoA + ret + +adc: + + val <- ADCH + aff0 <- val/1-(val/10)*10 + aff1 <- val/10-(val/100)*10 + aff2 <- val/100 + aff3 <- 0 + ADCSRA <- 0b11011101 + reti + + +tmr: + lsl selAfficheur + si selAfficheur > 8 alors selafficheur <- 1 + portc@IO <- 0xff - selAfficheur + + si selAfficheur == 1 alors porta@IO <- afficheur@ROM[aff0] + si selAfficheur == 2 alors porta@IO <- afficheur@ROM[aff1] + si selAfficheur == 4 alors porta@IO <- afficheur@ROM[aff2] + si selAfficheur == 8 alors porta@IO <- afficheur@ROM[aff3] + reti + -- libgit2 0.21.2