Computing">
Nothing Special   »   [go: up one dir, main page]

Práctica #3

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

Microprocesadores y Microcontroladores

Practica #3
Desarrollar un programa en C en el que el PIC18F4550:

 Utilizando el ADC de 10 bits, lea el voltaje de 2 canales o pines analógicos (AN0 y AN1), a los
que se conectarán dos potenciómetros. Es posible que se utilicen más canales analógicos luego.

 Tenga conectado un transistor una salida digital que estará destinado a controlar la apertura de un
relay NA (normalmente abierto) que a su vez, controlará el encendido y apagado de un bombillo.

 Utilizando TIMER0 como contador y TIMER1 como temporizador, mida frecuencia. Recordar
que: Frecuencia = Pulsos contados/tiempo en que se contaron.

 Si el voltaje leído en AN1 cae por debajo de aproximadamente 2.5V, el bombillo se apagará
automáticamente. Para que se enciendan, el voltaje debe ser superior a 2.5V, y una vez esta
condición se cumpla, se debe esperar una cantidad de tiempo (configurable por menú) para
encenderse nuevamente. Si el voltaje cae antes de que transcurra el tiempo, se mantienen ambos
apagados a la espera de que el voltaje incremente de nuevo por encima de la referencia, en cuyo
caso, se volverá a intentar espera el tiempo configurado.

 Por interrupción Externa 2, apague el bombillo y el motor. Para volverlos a encender, debe
volverse a activar dicha interrupción, pero tras ello, espera nuevamente el tiempo configurado por
menú para encender si y solo si, el voltaje en AN1 es superior a 2.5V.

Nota: El tiempo configurable puede depender de una variable que representará la cantidad de
veces a entrar a la interrupción por TIMER1 (pueden usar una fórmula en el programa para hacer
el cálculo: Variable = Tiempo de espera introducido * Tiempo de desbordamiento).

 Utilizando teclado matricial y pantalla LCD cree un menú que le permita escoger las siguientes
opciones:
 1. Visualizar voltaje del pin AN1
 2. Visualizar voltaje del pin AN0 (En forma de temperatura, por ejemplo)
 3. Visualizar frecuencia medida.
 4. Visualizar tiempo de espera transcurriendo actualmente (si el bombillo está encendido, en
lugar de mostrar el tiempo mostrará ON, si se apagó el bombillo por interrupción externa 2 y
no se ha mandado a encender de nuevo, se mostrará OFF, y si el bombillo se apagó por falta
de voltaje, VB)
 5. Visualizar Todo a la vez
 6. Cambiar tiempo de espera de encendido de bombillo (el tiempo se introducirá en segundos
con el teclado matricial)
 7. Si alguna de las opciones fue seleccionada, debe existir un botón para regresar al menú
principal.
 8. Si ocurre que el bombillo se apaga por falta de voltaje, se debe mostrar un mensaje en la
LCD que diga: BAJO VOLTAJE. Tal mensaje se mostrará por 5segs. Se puede usar un delay
para este caso.
Nota: Evidentemente, la información tendría que presentarse de manera muy resumida en la LCD, dado
que no todo cabe en la misma.
Nota 2: Los comandos de LCD incluyen delays internos, por lo que no se recomienda su uso en
interrupciones.
Nota 3: CCS deshabilita las interrupciones cuando tienen delays internamente.
Hay un último detalle agregable a la práctica, no obstante, de momento no será obligatorio; veremos
primero como vamos avanzando:
 9. Cuando el voltaje del pin AN1 decaiga por debajo de 2,5V, guardar voltaje y corriente del
motor, y voltaje en el pin AN1 en EEPROM, en cuyo caso, debe existir una opción para manejar
la EEPROM. En el menú de la EEPROM se podrá borrar el último valor guardado, todos los
valores guardados, o consultar un valor especifico, el cual también podrá ser borrado.

Materiales:
 PIC18F4550
 Protoboard
 Cables
 2 potenciómetros
 Resistencias varias
 1 transistor TTL
 1 relay/relé NA (normalmente abierto)
 Un bombillo (debería haber en el laboratorio, así que no se preocupen)
 Teclado matricial
 Pantalla LCD 2X16 (2 filas de 16 caracteres)
 1 pulsador para la interrupción externa (o se pude utilizar una tecla que sobre del teclado
matricial de ser 4x4)
 1 pulsador para el MCLR
 Capacitores de 10uF y 104/103 cerámicos

INFORME:
Deberá venir acompañado de la simulación y el código o programa debidamente identificado y explicado.
En el cuerpo del informe se explicará la experiencia de la práctica (funcionamiento) y problemas
encontrados y como fueron resulto. Al final se incluye una sección de sugerencias con respecto a la
práctica para ser tomadas en cuenta a futuro.
SI TIENEN DUDAS, PREGUNTEN
Criterio de Evaluación para C:
Nota en el N < 10 10 ≤ N < 12 12 ≤ N < 13 13≤ N < 14 14≤ N < 15 N ≥ 15
último parcial
(N)
Porcentaje de NP = 50%*NP NP = 65%*NP NP = 70%*NP NP = 80%*NP NP = 90%*NP NP = NP
atenuación de
las notas de
las prácitcas
(NP) de C
Asumiendo Nmax = 20.

También podría gustarte