Académique Documents
Professionnel Documents
Culture Documents
SISTEMAS MICROPROCESADORES
Informe de:
Prueba Piano
Realizado por:
Alumno (s):Mara Jos Valencia
Grupo:
GR15
(Espacio Reservado)
Fecha de entrega:
Sancin:
2015 / 07 / 24
ao
mes
da
f. ______________________
Recibido por:
________________________________________________
2015
1. Cdigo del programa:
/*
* Prueba_Casa_Angel_Majo.asm
*
* Created: 23/07/2015 20:19:19
* Author: Angel y Majo
*/
.include "m164pdef.inc"
.def tempo=r16
.org 0x00
rjmp inicio
.org 0x08 ;vector de interrupcion puerto A
rjmp leer
inicio:
;Configurar Puertos
clr
tempo
out ddra,tempo
;defino puerto A como entrada
out ddrc,tempo
;defino puerto C como entrada
out ddrd,tempo
;defino puerto D como entrada
ldi tempo,0b0000_1000
out ddrb,tempo
;Pin 3 como salida, el resto entradas
com tempo
out portb,tempo
;mando a tierra los pines no utilizados del puerto B
ser tempo
out porta,tempo
;activo pull ups puerto A
out portc,tempo
;activo pull ups puerto C
out portd,tempo
;activo pull ups puerto D
;Inicializar Stack Pointer
ldi tempo,high(RAMEND)
out sph,tempo
ldi tempo,low(RAMEND)
out spl,tempo
;Me aseguro que este Activado pull ups
in tempo,mcucr
andi tempo,0b11101111
out mcucr,tempo
;Configuracion Interrupciones Cambio de Estado
ldi tempo,0b0000_0001
sts pcicr,tempo
;Seleciono interrupciones del puerto A
ldi tempo,0b1111_1111
sts pcmsk0,tempo
;Activo las 8 interrupciones del puerto A
;Configuro el TIMER 0
ldi tempo,0b0100_0010
out tccr0a,tempo
ldi tempo,0b0000_0000
out tccr0b,tempo
ldi zh,high(tabla<<1)
ldi zl,low(tabla<<1)
sei
;lazo Principal indefinido
lazo:
rjmp lazo
leer:
push tempo
in tempo,sreg
push tempo
sbis pina,0
;salto
rjmp do
sbis pina,1
;salto
rjmp re
sbis pina,2
;salto
rjmp mi
sbis pina,3
;salto
rjmp fa
sbis pina,4
;salto
rjmp sol
sbis pina,5
;salto
rjmp la
sbis pina,6
;salto
rjmp si
sbis pina,7
;salto
rjmp cancion
rjmp salir
;frecuencia nota DO
do:
//ldi tempo
ldi tempo,29
out ocr0a,tempo
ldi tempo,0b00000011
out tccr0b,tempo
sbis pina,0
rjmp do
rjmp salir
;frecuencia nota RE
re:
ldi tempo,25
out ocr0a,tempo
ldi tempo,0b00000011
out tccr0b,tempo
sbis pina,1
rjmp re
rjmp salir
;frecuencia nota MI
mi:
ldi tempo,23
out ocr0a,tempo
ldi tempo,0b00000011
out tccr0b,tempo
sbis pina,2
rjmp mi
rjmp salir
;frecuencia nota FA
fa:
ldi tempo,21
out ocr0a,tempo
ldi tempo,0b00000011
out tccr0b,tempo
sbis pina,3
rjmp fa
rjmp salir
cancion:
lpm tempo,z+
out OCR0A,tempo
;cargo al registro ocr0a el valor de tempo
ldi tempo,0b00000011
out TCCR0B,tempo
;cargo prescalador 1:64
call retardo
call retardo
call retardo
rjmp cancion
rjmp salir
;Genero retardo para realizar barrido de notas
retardo:
push r16
push r17
ldi r16, 250
salto1:
ldi r17, 150
salto2:
dec r17
brne salto2
dec r16
brne salto1
pop r17
pop r16
ret
salir:
pop tempo
out sreg,tempo
pop tempo
ldi tempo,0b00000000
out tccr0b,tempo
reti
;Contiene Notas Cancion
tabla:
;Sol La Sol Mi Sol La Sol Mi
.db 19, 17, 19, 23, 19, 17, 19, 23
;re re Si do do Sol La La
.db 25, 25, 15, 29, 29, 19, 17, 17
; do Si La Sol La Sol Mi La
.db 29, 15, 17, 19, 17, 19, 23, 17
; La do Si La Sol La Sol Mi
.db 17, 29, 15, 17, 19, 17, 19, 23
/* ; re re re fa re Si do mi
.db 25, 25, 25, 21, 25, 15, 29, 23
; do Sol Mi Sol Fa Re Do re
.db 29, 19, 23, 19, 21, 25, 29, 25
; re re re fa re Si do mi
.db 25, 25, 25, 21, 25, 15, 29, 23*/
2. Circuito implementado
EPN
INTEGRANTES: CASTELLANO Y VALENCIA
A
B
C
D
U1
37
36
35
34
33
32
31
30
Do Re Mi
Fa Sol La
19
20
21
22
23
24
25
26
Si
8
7
PA0/ADC0/PCINT0
PA1/ADC1/PCINT1
PA2/ADC2/PCINT2
PA3/ADC3/PCINT3
PA4/ADC4/PCINT4
PA5/ADC5/PCINT5
PA6/ADC6/PCINT6
PA7/ADC7/PCINT7
PC0/SCL/PCINT16
PC1/SDA/PCINT17
PC2/TCK/PCINT18
PC3/TMS/PCINT19
PC4/TDO/PCINT20
PC5/TDI/PCINT21
PC6/TOSC1/PCINT22
PC7/TOSC2/PCINT23
XTAL1
XTAL2
ATMEGA164P
CLOCK=8MHz
Cancion
Reloj
LS1
PB0/XCK0/T0/PCINT8
PB1/T1/CLKO/PCINT9
PB2/AIN0/INT2/PCINT10
PB3/AIN1/OC0A/PCINT11
PB4/SS/OC0B/PCINT12
PB5/MOSI/PCINT13
PB6/MISO/PCINT14
PB7/SCK/PCINT15
PD0/RXD0/PCINT24
PD1/TXD0/PCINT25
PD2/INT0/RXD1/PCINT26
PD3/INT1/TXD1/PCINT27
PD4/OC1B/XCK1/PCINT28
PD5/OC1A/PCINT29
PD6/ICP/OC2B/PCINT30
PD7/OC2A/PCINT31
AREF
AVCC
RESET
40
41
42
43
44
1
2
3
9
10
11
12
13
14
15
16
29
27
4
C1
SPEAKER
4.7uF