Demi prépa TP1
This commit is contained in:
commit
369973c9fd
7 changed files with 183 additions and 0 deletions
18
TP1/Makefile
Normal file
18
TP1/Makefile
Normal 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
14
TP1/TP1.md
Normal 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
23
TP1/TP10.pc
Normal 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
44
TP1/TP11.pc
Normal 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
51
TP1/TP12.pc
Normal 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
|
Reference in a new issue