Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Micros - Infotrabajo Grupal02
Micros - Infotrabajo Grupal02
Fecha: 06/11/2018
1
UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS II
Fecha: 06/11/2018
lo que permite programar el PIC directamente en el Los interruptores DIP son una alternativa a los bloques de
circuito destino. Para la ICSP se usan los pines RB6 y puentes. Sus principales ventajas son que son más
RB7 (En algunos modelos pueden usarse otros pines rápidos de cambiar y no hay partes que perder.
como el GP0 y GP1 o el RA0 y RA1) como reloj y datos y
el MCLR para activar el modo programación. Existen
muchos programadores de PICs, desde los más simples
que dejan al software los detalles de comunicaciones, a
los más complejos, que pueden verificar el dispositivo a
diversas tensiones de alimentación e implementan en
hardware casi todas las funcionalidades.
2
UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS II
Fecha: 06/11/2018
T-Top (Arriba)
R-Right (Derecha)
B-Bottom (Abajo)
L-Left (Izquierda)
Los pines R-L conforman lo que se llama superficie X, y
permiten determinar la coordenada x del panel táctil.
Los pines T-B conforman lo que se llama superficie Y, y
permiten determinar la coordenada y del panel táctil.
Fig. [6]. Fuente Fija de 5V
3. MATERIALES Y EQUIPO
Fig. [7]. Programando en el microcontrolador
3.1. LISTA DE MATERIALES El circuito consistía en desarrollar un programa que
sea capaz de realizar las opciones que tiene el software
leds “Paint “ en el glcd touch [6]
microcontrolador 18F4550
Cristal 4 MHz
Capacitores 20nF
3
UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS II
Fecha: 06/11/2018
char texto[16];
int control=3;
long ejex(){
porte.f0=1;
porte.f1=0;
delay_ms(5);
lectura=adc_read(0);
return lectura;
}
long ejey(){
porte.f0=0;
porte.f1=1;
delay_ms(5);
lectura=adc_read(1);
return lectura;
}
Fig. [8]. Simulación
void main()
{
5. ANÁLISIS Y RESULTADOS adcon0.f0=1;
adcon1=0b00001100;
trisa.f0=1;
Las simulaciones realizadas para el circuito y l trisa.f1=1;
programación son las siguientes: trise.f2=1;
trise.f0=0;
Circuito porte.f2=0;
trise.f1=0;
En la Fig. [9] se simulo el circuito trisc.f7=1;
portc.f7=0;
trisc.f6=1;
portc.f6=0;
glcd_init();
glcd_fill(0);
adc_init();
glcd_rectangle(3,1,26,13,1);
glcd_write_text_adv("Lapiz",5,2);
glcd_rectangle(28,1,60,13,1);
glcd_write_text_adv("Circulo",30,2);
glcd_rectangle(62,1,94,13,1);
glcd_write_text_adv("Borrar",64,2);
glcd_rectangle(96,1,127,13,1);
glcd_write_text_adv("Cuadr",98,2);
Glcd_Line(0, 15, 127, 15, 1);
while(1)
{
Fig. [9]. Simulación primer circuito valorx=ejex();
escx=((valorx*127)/700)-18;
valory=ejey();
escy=63-(((valory*63)/550)-23);
char GLCD_DataPort at PORTD;
if(escx>=3 && escx<=26 && escy>=1 && escy<=13)
sbit GLCD_CS1 at RB0_bit; {
sbit GLCD_CS2 at RB1_bit; control=0;
sbit GLCD_RS at RB2_bit; delay_ms(200);
sbit GLCD_RW at RB3_bit; }
sbit GLCD_EN at RB4_bit; if(escx>=28 && escx<=60 && escy>=1 && escy<=13)
sbit GLCD_RST at RB5_bit; {
control=1;
sbit GLCD_CS1_Direction at TRISB0_bit; delay_ms(200);
sbit GLCD_CS2_Direction at TRISB1_bit; }
sbit GLCD_RS_Direction at TRISB2_bit;
sbit GLCD_RW_Direction at TRISB3_bit; if(escx>=62 && escx<=94 && escy>=1 && escy<=13)
sbit GLCD_EN_Direction at TRISB4_bit; {
sbit GLCD_RST_Direction at TRISB5_bit; control=2;
delay_ms(200);
long lectura,valorx,valory,escx,escy,escx1,escy1,velocidad,vel1; }
if(escx>=96 && escx<=127 && escy>=1 && escy<=13)
4
UNIVERSIDAD POLITÉCNICA SALESIANA SISTEMAS MICROPROCESADOS II
Fecha: 06/11/2018
{
control=3;
delay_ms(200);
} 7. RECOMENDACIONES
switch(control)
Par la manipulación del microcontrolador liberarse de
{ la estática para evitar que se queme el mismo.
case 0:
valorx=ejex(); Tener mucho cuidado con la numeración de los pines
escx=((valorx*127)/700)-18;
conocer perfectamente la polarización del mismo.
valory=ejey();
escy=63-(((valory*63)/420)-30);
Glcd_Circle_Fill(escx, escy, 1, 1); No alimentar con más de 5V el circuito porque se
podría quemar el PIC, ya que su voltaje máximo q soporta
el microcontrolador es 5v.
break;
case 1:
valorx=ejex(); 8. REFERENCIAS
escx=((valorx*127)/700)-18;
valory=ejey(); [1] Programadora de Pic, (2013) desde internet:
escy=63-(((valory*63)/420)-30); [http://www2.ing.puc.cl/~iee2782/Manual_Programador_
glcd_circle(escx,escy,10,1); PICs.pdf]
[2] J.R. Clavijo, 1era edicion,”Diseño y Simulación de
sistemas microcontrolados en lenguaje C”, (2011)
break;
case 2: [3] J. Penagos, 2da edicion, “Como programar en
lenguaje C a los microcontroladores”, (2010)
valorx=ejex();
escx=((valorx*127)/700)-18;
valory=ejey();
escy=63-(((valory*63)/420)-30);
Glcd_Circle_Fill(escx, escy, 3, 0);
break;
case 3:
valorx=ejex();
escx=((valorx*127)/700)-18;
valory=ejey();
escy=63-(((valory*63)/420)-30);
Glcd_Box(escx, escy, escx+10, escy+10, 1);
break;
}
}
}
6. CONCLUSIONES
Con la realización de este trabajo pudimos
familiarizarnos con el microcontrolador 18F4550, conocer
sus diferentes utilitarios, funcionamiento, constitución, y
que usos le podemos dar.