Escolar Documentos
Profissional Documentos
Cultura Documentos
ESPE
Informe
Proyecto 1
PROFESOR:
Ing. Luis Montoya
ALUMNOS:
Santiago Medina
Fabricio Morales
Juan Pablo Polo
NRC:
2245
23 de Febrero de 2015
1. TEMA
Control de un sistema indicador de nivel
2. OBJETIVO GENERAL
-
3. OBJETIVOS ESPECIFICOS
-
4. CONSULTA
4.1. Registro STATUS
Contiene el estado aritmtico de la ALU, la causa del reset y los bits de preseleccin de pgina
para la memoria de datos. La figura 1 muestra los bits correspondientes a este registro. Los
bits 5 y 6 (RP0 y RP1) son los bits de seleccin de pgina para el direccionamiento directo de
la memoria de datos; solamente RP0 se usa en los PIC16F84. RP1 se puede utilizar como un
bit de propsito general de lectura/escritura. Los bits TO y PD no se pueden modificar por un
proceso de escritura; ellos muestran la condicin por la cual se ocasion el ltimo reset.
Est en los 4 bancos: 03h, 83h, 103h, 183h
PD:se pone a 0 al ejecutarse instr. Sleep
TO: se pone en 0 en overflow de wdt
IRP: selecciona ram en modo indirecto
0: banco 0 y 1 (000h-0ffh)
1: banco 2 y 3 (100h-1f0h)
6. PROGRAMA FUENTE
#include <16f877a.h>
#fuses HS,NOWDT
#use delay (clock=8000000)
#use fast_io(B)
#include <LCD.C> //trabaja por default en el puerto D
#int_EXT
void EXT_isr(void)
{
lcd_gotoxy(4,1);//COLUMNA FILA me ubico en cierta posicion
printf(lcd_putc,"\fEMERGENCIA"); //texto a visualizar
delay_MS(500);
delay_ms(420000);
}
//solo trabaja en el puerto d y b
//para activar el puerto b voy a open any file donde instale el programa picc
//drivers y a continuacion lcd.c y descomentamos la linea 38
void main()
{ lcd_init(); //inicializa LCD //por defalult en puerto d
enable_interrupts(INT_EXT);
ext_int_edge(L_TO_H);
enable_interrupts(GLOBAL);
set_tris_b(0b11111110);//declaro puerto B como entrada
while(1) {
if ((input(PIN_b1)!=0)&&(input(PIN_b2)!=0)&&(input(PIN_b3)!=0)){
lcd_gotoxy(4,1);//COLUMNA FILA me ubico en cierta posicion
printf(lcd_putc,"\fVACIO"); //texto a visualizar
delay_MS(500);
}
if ((input(PIN_b1)==0)&&(input(PIN_b2)!=0)&&(input(PIN_b3)!=0)){
lcd_gotoxy(4,1);//COLUMNA FILA me ubico en cierta posicion
printf(lcd_putc,"\fLLENANDOSE"); //texto a visualizar
delay_MS(500);
}
if ((input(PIN_b2)==0)&&(input(PIN_b1)==0)&&(input(PIN_b3)!=0)){
7. DIAGRAMA ESQUEMTICO
8. FUNCIONAMIENTO
Cuando ninguna de las sondas esta mojada, se encienden las dos bombas, se entiende
que el depsito est vaco por lo que el indicador de vaco se iluminar.
Cuando el nivel del lquido toque la sonda de vaco, seguir llenndose el depsito con
las dos bombas. El indicador de llenndose se iluminar.
Cuando el nivel de lquido toque la sonda de llenado, se para la bomba B1 quedando la
bomba B2 activado en modo mantenimiento. El indicador lleno se ilumina.
S el nivel del lquido moja la sonda de rebose, se apaga tambin la bomba B1,
quedando las dos bombas fuera del servicio. El indicador rebose se enciende.
9. CONCLUSIONES
-
Quizs el nivel es el tipo de control que mas se realiza hoy en da, mediante este
proyecto se puede observar claramente que fuerzas intervienen, como controlarlas
y como medirlas.
10. RECOMENDACIONES
-
Eliminar cdigo buscando maneras de reducir ciertas tareas, es decir, que ejecutara
las mismas acciones pero con rutinas ms simples, para que el programa no
ocupara mucho espacio.
11. BIBLIOGRAFA
-
En lnea
-
http://www.fing.edu.uy/inco/cursos/firmware/laboratorio/cartillaPIC16F877.pdf
http://www.iesluisdelucena.es/dpp/docs/presentaciones/MPLABX_C18_El_conversor_
ADC_rev041212.pdf
http://perso.wanadoo.es/luis_ju/soft/files/Int_Temp.pdf
http://galia.fc.uaslp.mx/~cantocar/microcontroladores/SLIDES_8051_PDF/12_TIMER
.PDF