commit 369973c9fdb2334d5b24673f8749a1040d6935d4 Author: Geoffrey Frogeye Date: Tue May 2 07:47:48 2017 +0200 Demi prépa TP1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..55cc205 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.tmp +*.pdf +*.html +!template.html diff --git a/TP1/Makefile b/TP1/Makefile new file mode 100644 index 0000000..4cd92db --- /dev/null +++ b/TP1/Makefile @@ -0,0 +1,18 @@ +.PHONY: default cleantmp clean + +default: $(subst md,pdf,$(shell ls *.md)) + +%.pdf: %.html + wkhtmltopdf --title "$* - DJERABA Taky PREUD'HOMME Geoffrey" "$<" "$@" + +%.html: %.tmp ../template.html + pandoc -f markdown+hard_line_breaks "$<" --template ../template.html -o "$@" + +%.tmp: %.md + markedpp "$<" > "$@" + +cleantmp: + rm -rf $(subst md,html,$(shell ls *.md)) *.tmp + +clean: cleantmp + rm -rf $(subst md,pdf,$(shell ls *.md)) diff --git a/TP1/TP1.md b/TP1/TP1.md new file mode 100644 index 0000000..80cd297 --- /dev/null +++ b/TP1/TP1.md @@ -0,0 +1,14 @@ +% Compte-rendu TP1 +% DJERABA Taky PREUD'HOMME Geoffrey +% 02/05/2017 + +# Un bouton / une LED (TP10) +!include (TP10.pc lang=asm) +Ce programme allume la LED situé sur PA0 quand le bouton situé à PA1 est appuyé + +# Chenillard (TP10) +!include (TP11.pc lang=asm) + +# Compteur (TP12) +!include (TP12.pc lang=asm) + diff --git a/TP1/TP10.pc b/TP1/TP10.pc new file mode 100644 index 0000000..6029ed1 --- /dev/null +++ b/TP1/TP10.pc @@ -0,0 +1,23 @@ +.equ PINA = 0x00 ; définition des adresses des ports +.equ DDRA = 0x01 +.equ PORTA = 0x02 + +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x0080 + +debut: + ldi r16,0x01 ; config direction port A + out DDRA,r16 + +boucle: + in r16,PINA ; Lecture du port A + lsr r16 ; décalage vers la gauche : LED → bouton + out PORTA,r16 ; Écriture du port A + jmp boucle ; On recommence diff --git a/TP1/TP11.pc b/TP1/TP11.pc new file mode 100644 index 0000000..418deb6 --- /dev/null +++ b/TP1/TP11.pc @@ -0,0 +1,44 @@ +.equ PINA = 0x00 ; définition des adresses des ports +.equ DDRA = 0x01 +.equ PORTA = 0x02 +.equ PINB = 0x03 +.equ DDRB = 0x04 +.equ PORTB = 0x05 + +.equ RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x0080 + +debut: + ldi r16,0x00 ; config direction ports + out DDRA,r16 + out DDRB,r16 + r16 <- 0x01 + r17 <- 0x00 + +boucle: + ; On décale vers la gauche port A + lsr r16 + ; Tant que la chenille est toujours dans le port A, on continue + si r16 > 0 saut boucle + ; si elle dépasse, alors on la met sur le début du port B + si r17 = 0 alors r17 <- 0x01 + lsr r17 + ; si elle dépasse, on la remet dans le port A + si r17 = 0 alors r16 <- 0x01 + + ; pause + ldli r24,8 +tempo: + subi r22,1 + sbci r23,0 + sbci r24,0 + bbrc tempo + + saut boucle diff --git a/TP1/TP12.pc b/TP1/TP12.pc new file mode 100644 index 0000000..cbb720b --- /dev/null +++ b/TP1/TP12.pc @@ -0,0 +1,51 @@ +.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 RAMEND = 0x21FF +.equ SPH = 0x3E ; initialisation de la pile +.equ SPL = 0x3D + +.def compteur = r16 + +.org 0x000 + ; Vecteur RESET + jmp debut + +.org 0x0080 + +.afficheur: + .DB 0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B + ; 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 + + +debut: + ldi r16,0x00 ; config direction ports + out DDRA,r16 + out DDRC,r16 + r16 <- 0x00 + +boucle: + ; pause + ldli r24,8 +tempo: + subi r22,1 + sbci r23,0 + sbci r24,0 + + bbrc tempo + jump boucle + ; On décale vers la gauche port A + lsr r16 + ; Tant que la chenille est toujours dans le port A, on continue + si r16 > 0 saut boucle + ; si elle dépasse, alors on la met sur le début du port B + si r17 = 0 alors r17 <- 0x01 + lsr r17 + ; si elle dépasse, on la remet dans le port A + si r17 = 0 alors r16 <- 0x01 + + saut boucle diff --git a/template.html b/template.html new file mode 100644 index 0000000..4cbdc43 --- /dev/null +++ b/template.html @@ -0,0 +1,29 @@ + + + + + $title$ + + + + + +

$title$

+

$author$

+
+$body$ + +