Académique Documents
Professionnel Documents
Culture Documents
Grupo: 6 J
Especialidad: Mecatrnica
Pgina 1
INDICE
INTRODUCCION.3
OBJETIVO.3
DESARROLLO.....3
CONCLUSION..7
BIBLIOGRAFIA..7
Pgina 2
INTRODUCCION
Un microcontrolador es solo un circuito integrado que contiene todos
los elementos electrnicos 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 perifricos
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, tambin 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 ningn 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 continuacin se
aprecia, el siguiente programa ya est modificado para que
realice el objetivo de la prctica:
#include <18F4550.h>
#device adc=10
#fuses HS,NOPROTECT,NOWDT,NOLVP
#use delay (clock=20000000)
Gonzlez Prez Juan Luis
Pgina 3
#use fast_io(A)
#use fast_io(d)
#INCLUDE <LCD.C>
#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<=29;i++){
suma+=read_adc();
}
temperatura=(signed int16)((suma/30)); //266//402//379
return temperatura;
}
void menu()
{
lcd_gotoxy(1,1);
delay_ms(1000);
printf(lcd_putc,"la temperatura:");
}
Gonzlez Prez Juan Luis
Pgina 4
void main()
{
int x;
inicializar();
while(true)
{
lcdon=0;
if(aux==0){
menu();
aux=1;
}
set_adc_channel(0);
//canal 0 A/D
delay_ms(5);
tempc=(signed int)(temp()/2);
lcd_gotoxy(8,2);
delay_ms(5);
printf(lcd_putc,"%d%cC",tempc,grados);
delay_ms(500);
aux=0;
}
}
Pgina 5
Pgina 6
5) Materiales de trabajo
Para poder armar el circuito anterior es necesario contar con los
siguientes componentes en el sistema minimo:
PIC 18F4550
2 Capacitores de 22pF, y 2 de 104pF
Un cristal de 20MHz
Ocho LEDs
Un switch push botn de reset
1 Resistencia de 10k y 1 de 330
Una fuente de voltaje de 5volts o cable USB tipo B conectado al
sistema mnimo.
Conclusin
La verdad esta prctica no fue muy complicada pues el programa ya se
nos haba otorgado y adems solo fue necesario agregar una sentencia
IF para poder realizar el encendido de los bits en el puerto b segn la
temperatura que detecte el sensor.
Bibliografa
Libros
Pgina 7