Академический Документы
Профессиональный Документы
Культура Документы
Curso: Microcontroladores
Semestre: 2013 B
MICROCONTROLADORES Prctica de Laboratorio N04 (Semestre 2013-B) INFORME FINAL Pregunta 1 Mediante 4 interruptores y un pulsador P1 conectados al microcontrolador se llena una tabla de 8 elementos en la SRAM del microcontrolador de la siguiente manera: La tabla comienza en la direccin $100 de la SRAM. Esta tabla puede almacenar hasta 8 nmeros de 4 bits. Los nmeros se ingresan uno por uno y se almacenan si estn en el rango entre 6 y 12, una vez presionado y soltado el pulsador P1, sino esta en este rango se ignora. Un diodo led D1 encendido indicara que la tabla se est llenando cuando se completa los 8 nmeros, estos deben de mostrarse en un arreglo de 4 leds (PD3-PD0) al finalizar el ingreso de los nmeros el sistema no debe permitir que se ingresen mas nmeros con el pulsador P1, y el diodo led D2 queda encendido. Luego con otro pulsador P2 (al presionar y soltar)se debe mostrar ,todos los nmeros guardados en la tabla . Desarrolle e implemente el programa que cumpla con los requerimientos indicados para conexin: Interruptores conectados a PC3.PC0 Pulsadores: PC4 y PC5 Solucion:
Microcontroladores
Presionado? SoltadoP1?
N> 6 N< 12
Guardar en $100
Cont= cont+1
Cont=8 D2 encendido
PYS P2?
Mostrar numeros
Fin
; BASIC .ASM template file for AVR ; ****************************************************** .include "C:\VMLAB\include\m8def.inc" .dseg .org $100 tabla: .byte 8 .cseg .org $0 rjmp inicio inicio: ldi r16,high(ramend) out sph,r16 ldi r16,low(ramend) out spl,r16 ldi xh,high(tabla) ldi xl,low(tabla) ldi r20,0 ;contador ldi r22,$10 ldi r23,0 ldi r24,$20 rcall conf_puertos ingresa: in r21,pinc andi r21,$0f mov r25,r21 add r21,r22 out portd,r21 pulsador1_1: sbis pinc,4 rjmp ingresa pulsador1_0: sbic pinc,4 rjmp pulsador1_0 cpi r25,6 brlo ingresa cpi r25,13 brsh ingresa st x+,r25 inc r20 cpi r20,8 breq siguiente rjmp ingresa siguiente: out portd,r24 pulsador2_1: sbis pinc,5 rjmp pulsador2_1 pulsador2_0: sbic pinc,5 Microcontroladores Uso del simulador VMLAB
3
rjmp pulsador2_0 mostrar: dec r20 ld r21,-x add r21,r24 out portd,r21 cpi r20,0 brne pulsador2_1 fin: rjmp fin conf_puertos: ldi r16,$00 out ddrc,r16 ldi r16,$FF out ddrd,r16 ret Cuando ingrese valores menores que 6 no se guarda en la Ram
Microcontroladores
Microcontroladores