Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Semestre: 6
C
Grupo:
Electrnica VI
Microcontroladores
Fecha de entrega:
Introduccin
Qu son los microcontroladores?
Son circuitos integrados que incorporan todos los
bloqueos funcionales de un sistema Microprocesador
en un nico encapsulado.
Microcontroladores:
Un microcontrolador (abreviado C, UC o MCU) es
un circuito integrado programable, capaz de ejecutar
las rdenes grabadas en su memoria. Est compuesto
de varios bloques funcionales, los cuales cumplen una
tarea especfica. Un microcontrolador incluye en su
interior las tres principales unidades funcionales de
una computadora: unidad
central
de
procesamiento, memoria y perifricos de entrada/salid
a.
Algunos microcontroladores pueden utilizar palabras
de cuatro bits y funcionan a velocidad de reloj con
frecuencias tan bajas como 4 kHz, con un consumo de
baja potencia (mW o microvatios). Por lo general,
tendr la capacidad para mantener la funcionalidad a
la espera de un evento como pulsar un botn o de
otra interrupcin, el consumo de energa durante el
estado de reposo (reloj de la CPU y los perifricos de
la mayora) puede ser slo nanovatios, lo que hace
que muchos de ellos muy adecuados para
aplicaciones con batera de larga duracin. Otros
microcontroladores pueden servir para roles de
rendimiento crtico, donde sea necesario actuar ms
Objetivo
Desarrollo
Realizar un programa utilizando el sensor ultrasnico y cuando este a
una distancia de 20 cm active una lmpara y si esta ms grande la
distancia que no detecte nada. Emplee el siguiente circuito.
#include <16F877A.h>
#fuses XT,NOPROTECT,NOWDT,NOLVP,PUT,NOBROWNOUT
#use delay (clock=4000000)
#include <PICStudio_lcd_2x16BK.c>
#bit portd=0x08.0 //Define los pines de trigger y eco que se van a usar
#define TRIGGER PIN_C6
#define ECHO PIN_C7
void inicializar()
{
set_tris_c(0x80);
lcd_init();
}
//Funcin que realizar la medicin y retornara el valor de distancia int16
mide_distancia
(void)
{
int16 centimetros=0;
//Envia el pulso de disparo: output_high(TRIGGER);
delay_us(50);
output_low(TRIGGER);
//espera flanco de subida por el pin echo
while(~input(ECHO))
{
}
//comienza a contar centimetros hasta que pin echo sea cero
while(input(ECHO)) { centimetros++; delay_us(58);
}
//demora de seguridad y retorna con el valor de centimetros contados
delay_ms(50);
return(centimetros);
}
// Funcion principal del programa void main( void )
{
//Variables locales
int16 distancia;
int8 i =0 ;
//Inicializa el Micro inicializar();
// lazo infinito
while (true)
{
distancia=mide_distancia();
// lcd_gotoxy(1,1);
// si lectura > 500cm entonces no es valida, osea no hay objeto
if(distancia>20) {
{
portd=0;} lcd_putc('\f'); printf(lcd_putc,"NO DETECTA");
}
// si distancia fue < 500cm es una distancia valida y la imprime en LCD
else
{
lcd_putc('\f');
// Borra LCD printf(lcd_putc,"Medicion:%d",i);
lcd_gotoxy(1,2);
printf(lcd_putc,"%03lucm",distancia);
delay_ms(1);
i++;
{ portd=1;} }
}// cierra lazo infinito }
Conclusin
Con la realizacin de esta prctica nos qued ms claro la parte de
teora que hemos estado estudiando en clase. La prctica nos fue de
gran ayuda para conocer ms acerca de cmo programar los PICs
empleando el sensor ultrasnico de distancia.