Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teclado Matrical Reporte de Practica
Teclado Matrical Reporte de Practica
Microcontroladores
Practica #14
Control de temperatura
ESTUDIANTE:
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
#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);
}
}