Está en la página 1de 5

TECNOLOGICO NACIONAL DE MEXICO

INSTITUTO TECNOLOGICO DE CD. CUAUHTÉMOC

Microcontroladores
Practica #14
Control de temperatura

ESTUDIANTE:

 Julián Caraveo Cornelio

CARRERA/GRUPO
Ingeniería Mecatrónica 7ª
DOCENTE
Ing. José Humberto González Reyna
Cd. Cuauhtémoc, Chih., 7 de diciembre de 2018

1
Simulación en Proteus

Codigo en CCS Compiler

#include <practica 14.h>


#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7

#include <lcd.c>
double temp, mv, grados;

2
void main()
{
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_DIV_2|ADC_TAD_MUL_0);
setup_timer_2(T2_DIV_BY_16,155,1); //499 us overflow, 499 us interrupt

setup_ccp1(CCP_PWM|CCP_SHUTDOWN_AC_L|CCP_SHUTDOWN_BD_
L);
set_pwm1_duty((int16)310);

lcd_init();

while(TRUE)
{
temp = read_adc();
set_pwm1_duty(temp);
delay_ms(1);
mv = (temp*5000)/1023;
grados = mv/10;
lcd_gotoxy(2,2);
printf(lcd_putc,"Temp=%3.2f", grados);
delay_ms(500);
if(grados<=30)
{
output_high(pin_b0);
}
else
{
output_low(pin_b0);
}

3
if(grados>=35)
{
output_high(pin_b1);
}
else
{
output_low(pin_b1);
}
if(grados<=34)
{
output_high(pin_b0);
}
else
{
output_low(pin_b0);
}
if(grados<=30)
{
output_high(pin_b2);
}
else
{
output_low(pin_b2);
}
if((grados>=30)&&(grados<=40))
{
output_high(pin_b3);
}
else
{
output_low(pin_b3);

4
}
if(grados>=40)
{
output_high(pin_b4);
}
else
{
output_low(pin_b4);
}
}

También podría gustarte