Demi prépa TP1

This commit is contained in:
Geoffrey Frogeye 2017-05-02 07:47:48 +02:00
commit 369973c9fd
7 changed files with 183 additions and 0 deletions

4
.gitignore vendored Normal file
View file

@ -0,0 +1,4 @@
*.tmp
*.pdf
*.html
!template.html

18
TP1/Makefile Normal file
View file

@ -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))

14
TP1/TP1.md Normal file
View file

@ -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)

23
TP1/TP10.pc Normal file
View file

@ -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

44
TP1/TP11.pc Normal file
View file

@ -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

51
TP1/TP12.pc Normal file
View file

@ -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

29
template.html Normal file
View file

@ -0,0 +1,29 @@
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>$title$</title>
<meta name="date" content="$date$" scheme="DD/MM/YYYY">
<meta name="author" content="$author$">
<style type="text/css">
body {
font-family: "Source Sans Pro", Calibri, Carlito, sans-serif;
font-size: 15pt;
margin: 1cm;
}
@media print {
a {
color: black;
text-decoration: none;
}
}
</style>
</head>
<body lang="fr-FR">
<h1>$title$</h1>
<h2>$author$</h2>
<hr/>
$body$
</body>
</html>