TRABAJO PREPARATORIO Nº 02
NIVEL: 6to-G1-Electrónica
TEMA: Manejo de puertos y menús de operación
NOMBRES:
Milton Elizalde
Christian Carrion
Rony Recalde
1. Ejercicios planteados:
Funcionamiento
Nº Enunciado Firma del responsable
Si NO
Mediante el uso de un pulsador conectado en un
terminal de un puerto, dar las siguientes condiciones
de operación a dos leds conectados al mismo puerto:
al inicio del programa uno de los leds esta encendido
1
y el otro apagado, al encender el pulsador los leds
complementan estados. Ante más acciones del
pulsador se repite las condiciones de operación de
los leds.
Mediante el uso de un dip-switch de 8 bits conectado
al puerto C, realizar un menú de operación de
secuencias de 8leds en base a los estados de los 4
bits menos significativos del puerto, según las
siguientes operaciones de actividad:
Switch 1 (bit 0): se encienden los leds pares de uno
en uno desde el LBS hasta el MSB, n número de
veces.
Swich 2(bit 1): se encienden los leds impares de uno
2 en uno desde el MSB hasta el LSB, n es el número de
veces.
Switch 3(bit 2): titilan n veces los números pares del
puerto.
Switch 4(bit 3): titilaran n veces los leds impares del
Puerto.
El numero n proviene de los estados de los 4 swtich
más significativos conectados al puerto c y tendrá un
valor de 0 a 15.
#fuses xt }
else
void main() {
while(1) output_high(pin_b2);
{ }
if(input(pin_b0)==1) { }
output_high(pin_b1); }
INICIO
.
PULSADOR =SALIDA
PUERTO B
PUERTO==1
TRUE FALSE
0b10000001 0b10000010
A A
El número n proviene de los estados de los 4 switch más significativos conectados al puerto
C y tendrá un valor a 0 a 15.
Nota: se debe que optimizar el código de las secuencias usando sentencias de control con
bucles repetitivos, no se puede ingresar las acciones de encendido y apagado de una en una.
El puerto C tiene que estar conectado en su totalidad a los dip-switch. Como condición
fundamental no se tiene que esperar al finalizar una secuencia para que inicie la nueva
secuencia seleccionada. Cada secuencia se inicia una vez seteado su valor.
#include <16F877A.h> if (valor2>255){ valor2=128; aux=64; }
break; }
contador2+=1; valor2=128; }
} aux=64; }
break; contador1=0; }
INICIO
.
PULSADOR =SALIDA
PUERTO C
A
PUERTO == 0
PUERTO == 1
PUEETO == 2
PUERTO == 3
0 1 2 3
0C10001000 0C10001001
0C10001010 0C10001011
B A B A
0C10001100 0C10001101
0C10001110 0C10001111
B A B
A
3. Mediante el uso de una foto-resistencia, acondicione la señal que esta produce para
que funcione como un pulsador luminoso el mismo que controla el encendido y
apagado de un foco de 110 V.
INICIO
.
PULSADOR =SALIDA
PUERTO B
PUERTO==1
TRUE FALSE
0b10000001 PUERTO == 0
A A