Академический Документы
Профессиональный Документы
Культура Документы
La deteccin de ingreso de la pelota al aro se realizara Fig.1. Conexiones de elementos al microprocesador. Simulacin desarrollada
mediante un sensor de movimiento ubicado al filo del aro. en Proteus.
.include "m164pdef.inc"
III. CONEXIONES DE ELEMENTOS AL .def tempo=r16
MICROPROCESADOR AT-MEGA 164P
// Reserva d espacios de memoria en la SRAM
.dseg
Entradas: binariol: .byte 1
El botn de inicio se conecta en el puerto D en el pin digitos: .byte 2
PD3. numeros: .byte 2
El sensor de movimiento se conecta en el puerto D en
el pin PD2. .cseg
El botn de reseteo se conecta al pin RESET del .org 0x00
rjmp inicio
microprocesador.
Cada botn cuenta con un capacitor de 1nF para evitar rebotes.
// Interrupcion 0 recibida por el sensor
.org 0x02
Salidas rjmp subir
Para los displays del cronometro: los 7 segmentos se
conectan al puerto A, a los pines PA0 PA6; // Interrupcion 1 recibida por el boton de inicio
mientras que los dgitos se conectan al puerto C a lo .org 0x04
pines PC0 y PC1. rjmp comienza
Para los displays del conteo del nmero de canastas:
los 7 segmentos se conectan l puerto B, a los pines //Timer 1
PB0 PB6; mientras que los dgitos se conectan al .org 0x1A
puerto C a lo pines PC2 y PC3. rjmp reloj
inicio:
//CONFIGURACION DE PUERTOS
ldi tempo,255
Sistemas Microprocesados 2
rjmp finreloj
// Configuracion de interrupciones 0 y 1
SUBRUTINA BINARIO A BCD (bin_bcd.asm)
ldi tempo,0b00001010 /*
sts eicra,tempo * bin_bcd.asm
ldi tempo,0b00000010 *
out eimsk,tempo * Created: 13/02/2017 13:05:02
out eifr,tempo * Author: Ana Maria Chicaiza,
sei ; Carlos Catucuago
clr r21 ; Yessica Cruz
; Mayra Shaigua
lazo: */
sts binariol,r21
call bin_bcd bin_bcd:
call bcd_7seg push r16
call barrido push r17
push r18
sts binariol,r22 push xl
call bin_bcd push xh
call bcd_7seg
call barrido2
ldi xh,high(digitos)
rjmp lazo ldi xl,low(digitos)
clr r17
Sistemas Microprocesados 3
out portc,r16
pop xh
pop xl pop xh
pop r18 pop xl
pop r17 pop r18
pop r16 pop r17
ret pop r16
ret
retardo_barrido:
push r16 retardo_barrido2:
ldi r16,255 push r16
ldi r16,255
retardo0:
nop retardo02:
decr16 nop
brne retardo0 decr16
pop r16 brne retardo02
ret pop r16
ret
SUBRUTINA BARRIDO PARA CRONOMETRO
(barrido2.asm)
/*
* barrido2.asm V. CONSTRUCCIN E IMPLEMENTACIN
* Created: 05/02/2017 17:16:09
En las siguientes figuras se presenta la implementacin fsica
* Author: Ana Maria Chicaiza,
realizada para asegurar que los elementos no se desprendan y
; Carlos Catucuago
; Yessica Cruz
el sistema sufra cambios.
; Mayra Shaigua
*/
barrido2:
push r16
push r17
push r18
push xl
push xh
barrido02:
ser r16 ; pongo uno en puerto c para apagar los
displays
out portc,r16
ld r16,x+; cargo el valor codificado
out porta,r16; boto el valor de r16 que saque
de numeros