Sensor de Temperatura LM35 con PIC18F4550

CENTRO DE BACHILLERATO TECNOLÓGICO Industrial y de Servicios Profesor: Mc. Gerardo Leyva Soto Alumno: González Pérez J

Views 155 Downloads 5 File size 315KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CENTRO DE BACHILLERATO TECNOLÓGICO Industrial y de Servicios

Profesor: Mc. Gerardo Leyva Soto

Alumno: González Pérez Juan Luis

Grupo: 6° J

Especialidad: Mecatrónica

Submódulo: “Proyectar un prototipo de un sistema Mecatrónico”.

Nombre de la práctica: Termómetro

Fecha de entrega: 25 de Mayo de 2012

González Pérez Juan Luis

Página 1

INDICE INTRODUCCION……………………………………………………….3 OBJETIVO……………………………………………………………….3 DESARROLLO……………………………………………………...…..3 CONCLUSION…………………………………………………………..7 BIBLIOGRAFIA………………………………………………………..7

González Pérez Juan Luis

Página 2

INTRODUCCION Un microcontrolador es solo un circuito integrado que contiene todos los elementos electrónicos que se utilizaban para hacer un sistema basado con un microprocesador; es decir contiene en un solo integrado la Unidad de Proceso, la memoria RAM, memoria ROM, puertos de entrada salida y otros periféricos

OBJETIVO Modificar el programa proporcionado por el MC Gerardo Leyva Soto para que cuando el sensor marque una temperatura mayor a 29 grados encienda un led del puerto b en este caso será el bit 0 o b0, también cuando marque una temperatura menor a 27 grados encienda otro led en este caso será el del b7 y cuando no marque ninguna temperatura dentro de este rango no encienda ningún led.

DESARROLLO 1) Como se mencionó anteriormente nuestro objetivo es programar nuestra PIC 18F4550 usando un clock (cristal de 20MHz). Para ello en el software PIC C Compiler, como a continuación se aprecia, el siguiente programa ya está modificado para que realice el objetivo de la práctica: #include #device adc=10 #fuses HS,NOPROTECT,NOWDT,NOLVP #use delay (clock=20000000) González Pérez Juan Luis

Página 3

#use fast_io(A) #use fast_io(d) #INCLUDE #BIT LCDON=0XF83.3 #byte portb=0xF81 char grados; signed int tempc; int1 aux; void inicializar() { set_tris_b(0x00); set_tris_a(0x0e); setup_adc(ADC_CLOCK_internal); setup_adc_ports(AN0); set_adc_channel(0); lcd_init( ); delay_ms(10); printf(lcd_putc,"\f"); grados=0xdf; aux=0; lcdon=1; } signed int16 temp(){ signed int16 temperatura; int i; signed int16 suma=0; for(i=0;i