Академический Документы
Профессиональный Документы
Культура Документы
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;
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 = 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)
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
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:
if(INTCON.B1==1){ ADCON1=0b00111110;
stop=0; TRISB=0xff;
INTCON.B1=0; TRISD=0x00;
} PORTD=0;
if(INTCON.rbif==1){ TRISC=0;
PORTC=0;
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); }
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