Está en la página 1de 17

Microcontroladores y microprocesadores

Unidad 2 Paso 3

ENTREGADO POR:
Camilo Gonzlez Prez
Cdigo :1057587785
Diego Daz
Cdigo:
Grupo: 309696_51

ENTREGADO A:
Tutor: JOAN SEBASTIAN BUSTOS

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD


CEAD SOGAMOSO
2016
INTRODUCCIN

la programacin de microcontroladores empleando un lenguaje de alto


nivel. Para el desarrollo de los proyectos se escoge a la familia de
microcontroladores PIC. Los microcontroladores PIC se encuentran entre
los microcontroladores ms usados por ingenieros, tcnicos, estudiantes
y aficionados a la electrnica. Estos microcontroladores se fabrican con
una amplia variedad de tamaos y de variantes de complejidad. Los
microcontroladores PIC poseen una arquitectura de tipo RISC
(computador con repertorio de instrucciones reducido), es decir, slo
tienen un pequeo conjunto de instrucciones que el usuario debe
conocer. Adems, su consumo de potencia es muy bajo y sta es una de
las razones que hacen que estos microcontroladores sean muy usados
en aplicaciones porttiles.

OBJETIVOS

General

Aprender el lenguaje de programacin c para el desarrollo e


implementacin de circuitos y programas con microcontroladores
pic.

Especficos

Realizar cdigos de programa en el entorno de programacin c con


el programa pic c compiler.
Realizar simulaciones de circuitos utilizando microcontroladores
pic 16f y LCD buscando una visualizacin de un cdigo de
programa en lenguaje c.
Entender la importancia del uso de los micro controladores en
mundo de la electrnica y en que me beneficia como ingeniero
electrnico.

El siguiente circuito lo desarrollaran en lenguaje C:


Debe sensar la temperatura ambiente y se est menor o igual de 25
grados el led verde se encender y dar un solo pitido cada 3 segundos,
si la temperatura supera los 25 grados hasta los 35 grados El led rojo se
prendera y debe dar una alarma constante y prenderse el ventilador
hasta que baje la temperatura menor o igual a 25 grados. En el display
se debe visualizar el valor de la temperatura y la activacin de motor
como MOTOR ON o MOTOR OFF.
Cdigos empelados:
CAMILO GONZALEZ PEREZ
#include <16f877a.h>
#device adc=10 //Usa resolucin de 10 bits
#use delay(clock=4000000)
#fuses xt,nowdt,noput,nobrownout,nolvp,noprotect
#include "lcd.c"
#use standard_io (D)
void main (void)
{
float temp,med;
lcd_init();

//Inicia LCD

lcd_putc(" control de temperatura\n"); //Saca texto


delay_ms(2000);
lcd_putc("\f");

//Limpia pantalla

lcd_putc("Temperatura\n"); //Saca texto


lcd_putc("ambiente");

//Saca texto

delay_ms(1000);
lcd_gotoxy(14,2);
lcd_putc("oC");
while (true)
{

//Acomoda cursor LCD

lcd_gotoxy(8,2); //Acomoda cursor LCD


lcd_putc(" "); //Limpia ese sector de pantalla
lcd_gotoxy(8,2); //Acomoda cursor LCD
setup_adc (adc_clock_internal);
setup_adc_ports (all_analog);
set_adc_channel (0); //Elige canal a medir RA0
delay_us (20);
med=read_adc (); //Hace conversin AD
setup_adc (adc_off); //Apaga ADC
temp=med*(0.48875); //Pasa binario a C
printf(lcd_putc,"%02.1f",temp); //xxx.x C
delay_ms (1000);
while (temp<=25.1)
{
printf(lcd_putc,"TEMPERATURA NORMAL");
delay_ms(500);
output_high(pin_A4);
output_high(pin_A5);
delay_ms(3000);
}
while (temp>25.1)
{
printf(lcd_putc,"ALTA TEMPERATURA");
delay_ms(500);
printf(lcd_putc,"MOTOR VENTILADOR ON");
delay_ms(500);
output_high(pin_A1);
output_high(pin_A2);

output_low(pin_A4);
output_low(pin_A5);
}
}
}

DIEGO DIAZ
#include "C:\Users\DIEGO\Documents\unad\MICROPROCESADORES Y
MICROCONTROLADORES\control de temperatura\control de temperatura
2.h"
#include <LCD.C>
void main()
{
char T;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_4);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_init();
// TODO: USER CODE!!
lcd_putc("CONTROL DE TEMPERATURA "); // MUESTRA EN LA LCD
delay_ms(1000); // ESPERA 1000 MS
lcd_gotoxy(6,1); // POSICIONA LA LCD
lcd_putc("\f DIEGO DIAZ"); // MUESTRA EN LA LCD

delay_ms(1000);
while(1){
T=read_adc()/2; // lee el valor del sensor
printf(lcd_putc,"\fTEMP = %u GRADOS",T); //muestra el dato en la lcd
if(T<=25){ //compara con valor de referencia
lcd_gotoxy(6,2);
lcd_putc("MOTOR OFF"); //muestra en la lcd
output_high (pin_b0); // PRENDE EL LED VERDE
output_low (pin_b1); // LED ROJO APAGADO
output_low (pin_b2); // MOTOR VENTILADOR APAGADO
output_high (pin_b3); // PRENDE LA ALARMA
delay_ms(300);

// ESPERA 300MS

output_low(pin_b3);
delay_ms(300);

// APAGA LA ALARMA
// ESPERA 300 MS

}
else{
lcd_gotoxy(6,2);
lcd_putc("MOTOR ON"); //muestra en la lcd
output_high (pin_b0); // PRENDE EL LED VERDE
output_high (pin_b1); // PRENDE EL LED ROJO
output_high (pin_b2); // PRENDE EL VETILADOR
output_high (pin_b3); // PRENDE LA ALARMA
}
}
}

WILLIAM SALCEDO
#include <16F877A.h>

#include <control paso 3.h>


#include <LCD.C>
void main()
{
char T;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_4);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_init();
// TODO: USER CODE!!
lcd_putc("CTRL TEMP P3 "); // MOSTRAR EN PANTALLA
delay_ms(1000); // ESPERA 1000 MS
lcd_gotoxy(6,1); //
lcd_putc("\f WILLIAM SALCEDO"); // MOSTRAR EN PANTALLA
delay_ms(1000);

while(1){
T=read_adc()/2; // lee el valor del sensor
printf(lcd_putc,"\fTEMP = %u GRADOS",T); //MOSTRAR DATO EN
PANTALLA

if(T<=25){ //compara con valor referencia


lcd_gotoxy(6,2);

lcd_putc("MOTOR OFF"); //muestra en la lcd


output_high (pin_b0); // ENCENDER LED VERDE
output_low (pin_b1); // LED ROJO APAGADO
output_low (pin_b2); // MOTOR VENTILADOR APAGADO
output_high (pin_b3); // PRENDE LA ALARMA
delay_ms(300);
output_low(pin_b3);
delay_ms(300);

// ESPERA 300MS
// APAGA LA ALARMA
// ESPERA 300 MS

}
}
}

IMGENES DE SIMULACION

El cual deber en un display 16X2 desplegar

El proceso de trabajo colaborativo se realizar en el foro de trabajo


colaborativo unidad 2
La entrega se realiza en el entorno de evaluacin y seguimiento.
Total, trabajo Fase 3 75/500 puntos. el nombre del curso, numero de
grupo y los nombres uno por uno de los integrantes del grupo seguido
del nmero de cedula los cuales cambiaran al presionar cada uno de los
5 pulsadores (1 al 5 igual nmero de integrantes)
#include <16f877a.h>
#fuses hs,nowdt
#use delay(clock=20M)
#define lcd_rs_pin pin_b0
#define lcd_rw_pin pin_b1
#define lcd_enable_pin pin_b2
#define lcd_data4 pin_b4
#define lcd_data5 pin_b5
#define lcd_data6 pin_b6
#define lcd_data7 pin_b7
#use standard_io (B)
#include <lcd.c>
void main()
{
set_tris_a(0b11111);
lcd_init();
while(true)
{
lcd_gotoxy(1,1);
printf(lcd_putc,"MICROCONTROLADORES Y MICROPROCESADORES");
delay_ms(50);
lcd_gotoxy(2,2);

printf(lcd_putc,"GRUPO:51");
delay_ms(50);
if(input(pin_a0)==1)
{
do{}
while(input(pin_a0)==1);
printf(lcd_putc,"CAMILO GONZALEZ PEREZ/h 1057587785");
}
if(input(pin_a1)==1)
{
do{}
while(input(pin_a1)==1);
printf(lcd_putc,"DIEGO DIAZ/h CODIGO?");
}
if(input(pin_a2)==1)
{
do{}
while(input(pin_a2)==1);
printf(lcd_putc,"DAVID MAURICIO /h CODIGO?");
}
if(input(pin_a3)==1)
{
do{}
while(input(pin_a3)==1);
printf(lcd_putc,"OSCAR EDUARDO PEDRAZA/h CODIGO?");
}
if(input(pin_a5)==1)
{

do{}
while(input(pin_a5)==1);
printf(lcd_putc,"WILLIAM SALCEDO/h CODIGO?");
}}
}

CONCLUSIONES

El desarrollo del trabajo nos permite estar preparados para el


desarrollo cualquier caso real y dar le solucin mediante la
programacin y los micro controladores

El desarrollo y el profundizar en la unidad dos nos brinda nuevos


conocimientos sobre los microcontroladores y sus lenguajes de
programacin

Resumiendo, el campo de microcontroladores ha evolucionado


desde su origen junto con las computadoras y otros aparatos
electrnicos. Este tema se relaciona con las reas de
Nanotecnologa, Robtica, Electrnica, Fsica, Informtica y
Computacin, teniendo como objetivo llevar a cabo procesos
lgicos o acciones programadas en lenguaje ensamblador, C, Basic
por un usuario o programador.

El campo de microcontroladores es un campo de estudio


importante en el estudio para las futuras generaciones debido a
que siempre existir la necesidad de que aparatos electrnicos
funcionen cada vez ms rpido y que su tecnologa en microchips
sea cada vez de tamao ms reducido sin disminuir la velocidad

BIBLIOGRAFA

Microcontroladores Pic; E. Martn Cuenca, J. M. Angulo Usategui, I.


Angulo Martinez; Paraninfo, 5 edicin, 2001.

Microcontroladores: Fundamentos y aplicaciones con PIC; F. E.


Valds Prez, R. Pallas Areny; Alfa omega; 2007.

Microcontroladores PIC: Diseo prctico de aplicaciones, 2 parte;


J.M. Angulo Usategui, S. Romero Yesa, I. Angulo Martnez; McGraw
Hill; 2 edicin; 2006.

ANGULO, Jos. MICROCONTROLADORES PIC. Diseo prctico de


aplicaciones. Primera parte: El PIC16F84. Lenguajes PBASIC y
Ensamblador, McGraw-Hill Interamericana de Espaa, Tercera
edicin, Espaa 2003.