You are on page 1of 9

LABORATORIO SISTEMAS MICROPROCESADOS II

Fecha de realización de la práctica: 11-10-2018


Practica N 1 IB

Manejo de periféricos de entrada y salida


Jaime Fernando Quishpe Tutillo
jquishpet1@est.ups.edu.ec
Wilmer Ernesto Necpas Lechon
wnecpas@est.ups.edu.ec

RESUMEN: El siguiente informe se presenta el mejoras de diseño que hacen que estos
correcto manejo y funcionamiento de los microcontroladores sean la elección lógica para
periféricos de entrada y salida de un pic muchas aplicaciones de alto rendimiento y
18F4550. sensibles a la potencia.

Abstract: The following report presents the Los pines de entradas y salidas presentan las
correct operation and operation of the input and siguientes características en sus puertos IO
output peripherals of a pic 18F4550.
 3 registro independientes para
Configurar, Escribir y Leer cada
PALABRAS CLAVES: periféricos,
PUERTO (TRISx, LATx y PORTx).
pic18F4550.
 Selección de resistencia PULL-UP solo
1. OBJETIVOS
para el Puerto B.
GENERAL
En la siguiente imagen se detallarán los
 Establecer las forma de utilización del registros involucrados a las Entradas y
microcontrolador PIC18F4550 para el Salidas de cada PUERTO:
manejo de distintos periféricos de
entrada y salida..

ESPECÍFICOS

 Estudiar el funcionamiento de un
puerto como salida de datos discretos
para optimizar su uso.
 Estudiar el funcionamiento de un
puerto como entrada de datos para
optimizar su uso.
 Estudiar el funcionamiento de un
puerto como entrada y salida de datos
para optimizar su uso. A continuación, se explicará cómo configurar,
escribir o leer un Pin de cada PUERTO;

 TRISX: Escribiendo en cada bit (“1”


2. MARCO TEÓRICO
lógico = Entrada y “0” lógico = Salida).
2.1 PIC18F4550
 LATX: Escribiendo en cada bit la
El PIC18F4550-I/P ofrece un alto rendimiento salida tendrá un nivel de Voltaje (“1”
informático con agregado de memoria de lógico = 5v | “0” lógico = 0v).
programa flash de alta resistencia mejorada.
Además de estas características, presenta

1
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
 PORTX: Este registro es de solo
Lectura (5v =”1” lógico | 0v =“0” lógico). II. Diagrama de Flujo del programa
(Anexo 2)
1. Configuración de los pines IO de un
PUERTO III. Código (Anexo 3)

 TRISA = 0b11111111; Configura todos


5. ANÁLISIS DE RESULTADOS
los pines del Puerto A como Entrada.

 TRISA = 0b00000000; Configura todos Mediante una entrada analógica del pic
los pines del Puerto A como Salida. 18F4550(RA0/PIN2), se ingresaron valores de
voltaje entre 2 y 4 voltios que representan del 0
 TRISA = 0b00001111; Los pines Altos
al 100% de la velocidad de un motor DC de 12
como Salida y el resto como Entrada.
V conectado a una salida pwm(RC2/PIN17).
2. Escritura de pines en un PUERTO
Mediante el uso de pulsadores se tienen las
 LATA = 0b11111111; Todos los pines opciones de START, STOP, GIRO IZQUIERDO
del Puerto A con una salida de 5v. y GIRO DERECHO.

 LATA = 0b00000000; Todos los pines Con el pulsador START conectado empezará el
del Puerto A con una salida de 0v. proceso y con la ayuda de un potenciómetro se
variará la salida del pwm además de un LCD en
 LATA = 0b00001111; Los pines Altos a el cual se mostrará la acción y el porcentaje de
0v y los pines Bajos a 5v. velocidad del motor. (Anexo 4)

3. Lectura de un PUERTO Con el pulsador GIRO IZQUIERDO conectado


se cambiará de giro al motor además de un
 Valor = PORTA [ RA0 ] : El estado LCD en el cual se mostrará la acción y el
lógico del pin A0 se escribe en la porcentaje de velocidad del motor. (Anexo 5)
variable valor
Con el pulsador GIRO DERECHO conectado
 Valor = PORTA : El estado lógico del se cambiará de giro al motor además de un
todo el Puerto A se escribe en valor. LCD en el cual se mostrará la acción y el
porcentaje de velocidad del motor. (Anexo 6)

Con el pulsador STOP conectado el proceso se


3. MATERIALES Y EQUIPO detendrá y el motor se parará es decir el
porcentaje será 0% de igual manera en el LCD
 Fuente de alimentación 5VDC, se mostrará la acción. (Anexo 7)
 Protoboard,
 Microcontrolador PIC18F4550,
 cables de conexión,
2. CONCLUSIONES
 tarjeta programadora para
microcontroladores,
 Como se pudo observar en el código
 multímetro
del programa se declaran entradas y
 motor DC de 12V,
salidas las entradas se declaran con el
 módulo LCD,
código TRISX=1 O TRISX=0XFF Y las
 teclado matricial de 4x4,
salidas se declaran como TRISX=0 o
 potenciómetro,
TRISX=0X00.
 elementos electrónicos varios.
 Para poder Habilitar la resistencia
4. DESARROLLO Y PROCEDIMIENTO
PULL-UP en un pin determinado, es
necesario que dicho pin este
I. Circuito por implementar (Anexo 1)

2
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
configurado como entrada y luego
escribir “0” lógico en el bit RBPU del
registro INTCON2.

3. RECOMENDACIONES

_identar el código
_Al momento de realizar el circuito hacerlo
de manera ordenada y alimentar el circuito
con una fuente dc fija.

4. BIBLIOGRAFÍA

[1] Angulo, J. (2008). Diseño práctico de


aplicaciones segunda parte. McGraw Hill. Barra
Zapata, O. (2011). Microcontroladores PIC con
programación PBC. México. Vergara Díaz, J.
M. (2009). Microcontroladores PIC principios y
aplicaciones. . Medellín.

[2]Maker Electrónico,” IO puertos digitales


TRIS, PORT, LAT con pic18F4550” recuperado
de: https://www.makerelectronico.com/io-
puertos-digitales-tris-port-lat-con-pic18f4550/

3
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
ANEXOS:
ANEXO1:

ANEXO2:

4
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB

ANEXO3:

// LCD module connections stop=1;

sbit LCD_RS at RD4_bit; goo=0;

sbit LCD_EN at RD5_bit; INTCON3.B0=0;

sbit LCD_D4 at RD0_bit; }

sbit LCD_D5 at RD1_bit; if(INTCON3.B1==1){

sbit LCD_D6 at RD2_bit; izq=1;

sbit LCD_D7 at RD3_bit; der=0;

sbit LCD_RS_Direction at TRISD4_bit; INTCON3.B1=0;

sbit LCD_EN_Direction at TRISD5_bit; }

sbit LCD_D4_Direction at TRISD0_bit; }

sbit LCD_D5_Direction at TRISD1_bit; char txt[16];

sbit LCD_D6_Direction at TRISD2_bit; int lec,lec1,pwm;

sbit LCD_D7_Direction at TRISD3_bit; void main() {

// End LCD module connections char valor_real[15];

unsigned goo,stop,izq,der; INTCON=0b11011000;

void interrupt(){ INTCON3=0b11011000;

if(INTCON.B1==1){ ADCON1=0b00111110;

goo=1; TRISA =0xFF; // PORTA is input

stop=0; TRISB=0xff;

INTCON.B1=0; TRISD=0x00;

} PORTD=0;

if(INTCON.rbif==1){ TRISC=0;

PORTC=0;

if(portb.f6==1){ Lcd_Init(); // Initialize


Lcd
der=1;
Lcd_Cmd(_LCD_CURSOR_OFF);
izq=0; // Cursor off
} Lcd_Out(1, 1,"adc_monti_" ); //
Write message text on Lcd
INTCON.rbif=0;
Delay_ms(500);
}
PWM1_Init(600);
if(INTCON3.B0==1){
do {

5
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
PWM1_Start(); }

lec=ADC_Read(0); if(der==1){

IntToStr(lec,txt); portc=0b00000010;

lec1=lec*0.099; Lcd_Cmd(_LCD_CLEAR);
// Clear display
pwm=lec*0.25;
Lcd_Cmd(_LCD_CURSOR_OFF);
FloatToStr(lec1,valor_real); // Cursor off
if(goo==1){ Lcd_Out(1, 1,"VALOR DE % DER" );
// Write message text on Lcd
if(izq==0 && der==0){

portc=0b00000001;
Lcd_Out(2, 2, valor_real);
Lcd_Cmd(_LCD_CLEAR);
// Clear display Lcd_Out(2, 14,"%" );

Lcd_Cmd(_LCD_CURSOR_OFF); delay_ms(200);
// Cursor off
PWM1_Set_Duty(pwm);
Lcd_Out(1, 1,"VALOR DE % PRO" );
// Write message text on Lcd }

Lcd_Out(2, 2, valor_real); }

Lcd_Out(2, 14,"%" ); if(stop==1){

delay_ms(200); Lcd_Cmd(_LCD_CLEAR);

PWM1_Set_Duty(pwm); Lcd_Cmd(_LCD_CURSOR_OFF);

} Lcd_Out(1, 1,"VALOR D %
ENSTOP" );
if(izq==1){
Lcd_Out(2, 2,"0" );
portc=0b00000001;
Lcd_Out(2, 4,"%" );
Lcd_Cmd(_LCD_CLEAR);
delay_ms(200);
Lcd_Cmd(_LCD_CURSOR_OFF);
PWM1_Set_Duty(0);
Lcd_Out(1, 1,"VALOR DE % IZQ" );
} while(1);}
Lcd_Out(2, 2, valor_real);

Lcd_Out(2, 14,"%" );
}
delay_ms(200);

PWM1_Set_Duty(pwm);

6
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
ANEXO 4:

ANEXO 5:

7
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB
ANEXO6:

ANEXO7:

8
LABORATORIO SISTEMAS MICROPROCESADOS II
Fecha de realización de la práctica: 11-10-2018
Practica N 1 IB

You might also like