Examen Control de Un Horno

download Examen Control de Un Horno

If you can't read please download the document

description

Control de un horno

Transcript of Examen Control de Un Horno

/* Aplicacion de Microcontroladores Examen realizado por Bryan Peralta Vargas Profesor German Vasquez Araya Explicacion del funcionamiento del programa realizado Mostrar en la terminal virtual RS232 el setpoin y el sensor, los cuales son comandados por potenciometros y segun la tabla lo realice de esta manera Cuando el sensor marca entre 0 y 100, se encienden todas las salidas del puerto B (B0-B7) todos los quemadores ON Cuando el sensor marca entre 100 y 200, se enciende solo 7 salidas (B1-B7) Cuando el sensor marca entre 200 y 300, se enciende solo 6 salidas (B2-B7) Cuando el sensor marca entre 300 y 400, se enciende solo 5 salidas (B3-B7) Cuando el sensor marca entre 400 y 500, se enciende solo 4 salidas (B4-B7) Cuando el sensor marca entre 500 y 600, se enciende solo 3 salidas (B5-B7) Cuando el sensor marca entre 600 y 700, se enciende solo 2 salidas (B6-B7) Cuando el sensor marca entre 800 y ,900 se enciende solo 1 salida (B7) Cuando el sensor marca 995, se apagan todas las salidas (B1-B7)*/#include "C:\Users\User\Documents\UTN\CURSOS UTN\microcontroladores\microcontroladores la 3era vez 2015\2 examen\Examen Control horno\Examen Control horno.h"#include float valoranalogico1=0; // se utilizan float para numeros realesfloat valoranalogico2=0;int16 valor1=0; // se utilizan int para numeros enterosint16 valor2=0;void main(){ setup_adc_ports(AN0_AN1_AN3); setup_adc(ADC_CLOCK_INTERNAL); setup_spi(SPI_SS_DISABLED); 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); set_tris_a ( 0x07 ); //Se configura puerto a con 3 entradas set_tris_b ( 0x00 ); //Se configura puerto b con 8 salidas set_tris_c ( 0x00 ); //Se configura puerto c con 8 salidas output_a(0x00); // se colocan las salidas en cero output_b(0x00); output_c(0x00); printf(" Bryan Peralta Vargas\r"); //dato a imprimir printf(" Control de un horno\r"); //dato a imprimir delay_ms(1000); while(true) { delay_ms ( 1 ); set_adc_channel ( 0 ); //Se selecciona entrada analogica 0 ( AN0 ) delay_ms ( 1 ); //Retardo necesario valoranalogico1 = read_adc(); //leer valor analogico en la entrada delay_us(5); // tiempo de espera para el adc valor1=valoranalogico1*1000/1023; // conversion para obtener voltaje1 de 0-1000 grados printf("Sensor=\n"); printf("%4Lu\r",valor1); delay_ms(1000); delay_ms ( 1 ); set_adc_channel ( 1 ); //Se selecciona entrada analogica 1 ( AN1 ) delay_ms ( 1 ); //Retardo necesario valoranalogico2 = read_adc(); //leer valor analogico2 en la entrada delay_us(5); // tiempo de espera para el adc valor2=valoranalogico2*1000/1023; // conversion para obtener voltaje2 de 0- 1000 grados printf("Setpoint=\n"); printf("%4Lu\r",valor2); delay_ms(1000); if((valor1>=0)&(valor1=100)&(valor1=200)&(valor1=300)&(valor1=400)&(valor1=500)&(valor1=600)&(valor1800)&(valor1=995)){ // todos los quemadores OFF output_low ( Pin_B0 ) ; output_low ( Pin_B1 ) ; output_low ( Pin_B2 ) ; output_low ( Pin_B3 ) ; output_low ( Pin_B4 ) ; output_low ( Pin_B5 ) ; output_low ( Pin_B6 ) ; output_low ( Pin_B7 ) ; } }}