domingo, 3 de noviembre de 2013

PRUEBA DE ENTRADAS


El siguiente es un programa sencillo en ensamblador el cual hace el uso de algunas instrucciones sencillas para cambiar de estado dos salidas, dependiendo del estado de las entradas.

DESCRIPCIÓN:

Se hará el uso de los siguientes mnemonicos:

SBIS   Saltar si el bit en el registro de E / S se encuentra
Prueba el estado de las entradas y descarta la siguiente instrucción si hay un uno en el bit del registro
SBIC   Saltar si el bit en el registro de E / S no se encuentra
Prueba el estado de las entradas y descarta la siguiente instrucción si hay un cero en el bit del registro
CBI     limpia el bit del registro de E / S
Envía un cero a la salida indicada
SBI     setea el bit del registro de E / S
Envía un uno a la salida indicada

PROGRAMA
/*
 * ejemplo2.asm
 *
 *  Created: 02/11/2013 18:20:21
 *   Author: NEBURESS.KYLL
 */ 

 .device ATMEGA48
 .include "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRAssembler\2.1.51.64\avrassembler\include\m48def.inc"

 .def var = r16

 rjmp INIT

 INIT:
 ldi var,0xf0   ;salida nibble alto - entradas nibble bajo
 out DDRD,var   
 sbi PORTD,0
 ldi var,0x0f   ;entradas nibble alto - salidas nibble bajo
 out DDRB,var
 sbi PORTD,2

 start:
 ;apaga o prende la salida PB2
sbis PIND,0            ;prueba si esta presionada la entrada de no ser así realiza la sentencia siguiente
sbi    PORTB,2
sbic PIND,0           ;prueba si esta presionada la entrada de ser así realiza la sentencia siguiente
cbi PORTB,2
 ;apaga o prende la salida PD4
sbic PIND,2           ;prueba si esta presionada la entrada de ser así realiza la sentencia siguiente
sbi    PORTD,4
sbis PIND,2           ;prueba si esta presionada la entrada de no ser así realiza la sentencia siguiente
cbi PORTD,4
rjmp start 

       

No hay comentarios:

Publicar un comentario