SlideShare una empresa de Scribd logo
1 de 25
UNIVERSIDAD POLITECNICA SALESIANA <br />INTEGRANTES<br />OSCAR AYALA<br />CHRISTIAN IBARRA<br />ANDRES VALDIVIESO<br />Tema: PROGRAMACION EN dsPIC 30F4013<br />Objetivo: Aprender a utilizar correctamente los puertos del microcontrolador dsPIC<br />Desarrollo<br />Para la practica utilizamos la placa programadora “PICTrainer” de dsPIC y el software  Microbasic ds.<br />ProcedimientO<br />EJERCICIO 1<br />Problema<br />Escribir en el puerto B el valor 55h<br />Algoritmo<br />Entrada: Ingresar el valor 55h<br />Proceso: Habilitar en el puerto B<br />Salida: Visualizar en los pines del puerto B el valor 55h en su equivalente binario.<br />Código<br />program practica1<br />main:<br />trisb=0         'habilita el puerto B como salida<br />portb= $55       'escribe en el puerto B el valor 55h<br />delay_ms(1000)   'retardo de 1 seg<br />end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida y escribir el valor 55h<br />Retardo de 1 seg<br />Salida de Datos en puerto B<br />Esquemático: <br />GRAFICO ANEXO<br />EJERCICIO 2<br />Problema<br />Escribir en el puerto B el valor AAh<br />Algoritmo<br />Entrada: Habilito en el puerto B.<br />Proceso: Ingresar el valor AAh en binario<br />Salida: Visualizar en el puerto B el valor binario.<br />Código<br />program practica1_2<br />main:<br />trisb=0<br />     portb= $AA<br />     delay_ms(100)<br />     portb= $55<br />  end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida y escribir el valor AAh<br />Retardo de 1 seg<br />Salida de Datos en puerto B<br />Esquemático: <br />GRAFICO ANEXO<br />EJERCICIO 3<br />Problema<br />Escribir en el puerto C el valor F0h<br />Algoritmo<br />Entrada: Habilitar en el puerto F<br />Proceso: Ingresar el valor F0h en binario.<br />Salida: Salida en el puerto F en valor binario.<br />Código<br />program practica1_3<br />main:<br />trisf=0<br />     portf= $F0<br />     delay_ms(1000)<br /> end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como salida y escribir el valor F0h<br />Retardo de 1 seg<br />Salida de Datos en puerto F<br />Esquemático:<br />GRAFICO ANEXO<br />EJERCICIO 4<br />Problema<br />Leer en el Puerto B y Escribir en el Puerto F<br />Algoritmo<br />Entrada: Habilitar el puerto F como entrada y el puerto b como salida.<br />Proceso: Utilizar una variable “valor” para guardar los datos del puerto F para luego escribir estos datos en el puerto B. <br />Salida: Salida en los pines del puerto B las entradas del puerto F.<br />Código<br />program practica1_4<br />dim valor as byte<br />main:<br /> lazo:<br /> trisf = $ff         'entrada<br />        trisb = 0            'salida<br />        valor = portf<br />        portb = valor<br />       goto lazo<br />        end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como entrada<br />Habilitar el puerto B como salida<br />Definir la variable valor para guardar datos<br />Salida en el puerto B los datos de entrada del puerto F<br />Esquemático: Simulación en proteus utilizando dspic30f4013<br />GRAFICO ANEXO<br />EJERCICIO 5<br />Problema<br />Leer en el Puerto F y Escribir en el Puerto D<br />Algoritmo<br />Entrada: Habilitar el puerto D como entrada y el puerto F como salida.<br />Proceso: Utilizar una variable “valor” para guardar los datos del puerto D para luego escribir estos datos en el puerto F. <br />Salida: Visualizar en los pines del puerto F las entradas del puerto D.<br />Código<br />program practica1_5<br />dim valor as byte<br />main:<br /> lazo:<br />         trisd = $ff         'entrada<br />        trisf = 0            'salida<br />        valor = portd<br />        portf = valor<br />   goto lazo<br /> end.<br />Diagrama de Flujos<br />Definir la variable valor para guardar datosHabilitar el puerto F como salidaHabilitar el puerto D como entradaINICIO<br />Salida en el puerto F los datos de entrada del puerto D<br />Esquemático: Simulación en proteus utilizando dspic30f4013<br />GRAFICO ANEXO<br />EJERCICIO 6<br />Problema<br />Escribir en un display de 7 segmentos sin utilizar decodificador, un valor ascendente entre 0 y F.<br />Algoritmo<br />Entrada: Habilito en el puerto B.<br />Proceso: Ingresar los valores que irán al puerto con un retardo para visualizar el cambio ascendente<br />Salida: Salida en el display los valores de 0 a F<br />Código<br />program practica1_6<br />main:<br />trisb = $0<br />'conectar a=portb0................e=portb.4.....<br />   lazo:<br />     portb = %00111111     ' formato para binario    0<br />     delay_ms(1000)<br />     portb = %00000110      ' 1<br />     delay_ms(1000)<br />     portb = %01011011      '2<br />     delay_ms(1000)<br />     portb = %01001111      '3<br />     delay_ms(1000)<br />     portb = %01100110      '4<br />     delay_ms(1000)<br />     portb = %01101101      '5<br />     delay_ms(1000)<br />     portb = %01111101      '6<br />     delay_ms(1000)<br />     portb = %00000111      '7<br />     delay_ms(1000)<br />     portb = %01111111      '8<br />     delay_ms(1000)<br />     portb = %01100111      '9<br />     delay_ms(1000)<br />     portb = %01110111      'A<br />     delay_ms(1000)<br />     portb = %01111100      'b<br />     delay_ms(1000)<br />     portb = %01011000      'C<br />     delay_ms(1000)<br />     portb = %01011110      'd<br />     delay_ms(1000)<br />     portb = %01111001      'E<br />     delay_ms(1000)<br />      portb = %01110001     'F<br />     delay_ms(1000)<br />     goto lazo<br />     end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida <br />Enviar los datos correspondientes al puerto B<br />Retardo entre cada envió <br />Visualización en Display<br />Esquemático: En Proteus utilizamos en DSPIC30F4013<br />GRAFICO ANEXO<br />EJERCICIO 7<br />Problema<br />Mediante un display visualizar mostrar en forma descendente todas letras del alfabeto de la Z a la A.<br />Algoritmo<br />Entrada: Habilitar los puertos B y F como salidas.<br />Proceso: Escribir el código binario para cada letra del alfabeto y declarar el respectivo retardo para cada letra.<br />Salida: Visualizar en el display alfa numérico las letras de la Z a la A en código binario de los puertos B y F.<br />Código<br />program practica1_7<br />main:<br />trisb = $0<br />trisf = $0<br />'conectar a=portb0................e=portb.4.....<br />   lazo:<br />     portb = %011001100      ' z<br />     portf = %00100010<br />     delay_ms(3000)<br />     portb = %100000000      'y<br />     portf = %00100100<br />     delay_ms(3000)<br />     portb = %100000000<br />     portf = %00101010       'x<br />     delay_ms(3000)<br />     portb = %000110011       'w<br />     portf = %0001010<br />     delay_ms(3000)<br />     portb = %000000011       'v<br />     portf = %00100010<br />     delay_ms(3000)<br />     portb = %000111111<br />     portf = %00000000        'u<br />     delay_ms(3000)<br />     portb = %011000000      't<br />     portf = %01000100<br />     delay_ms(3000)<br />     portb = %011011101      's<br />     portf = %00010001<br />     delay_ms(3000)<br />     portb = %011100011      'r<br />     portf = %00011000<br />     delay_ms(3000)<br />     portb = %011111111      'q<br />     portf = %00001000<br />     delay_ms(3000)<br />     portb = %011100011      'p<br />     portf = %00010001<br />     delay_ms(3000)<br />     portb = %011111111      '0<br />     portf = %00000000<br />     delay_ms(3000)<br />     portb = %100110011      'n<br />     portf = %00001000<br />     delay_ms(3000)<br />     portb = %100110011      'm<br />     portf = %00100000<br />     delay_ms(3000)<br />     portb = %000001111      'l<br />     portf = %00000000<br />     delay_ms(3000)<br />    portb = %000000011      'k<br />     portf = %00101001<br />     delay_ms(3000)<br />      portb = %011000100      'j<br />     portf = %01000100<br />     delay_ms(3000)<br />    portb = %000000000      'i<br />     portf = %01000100<br />     delay_ms(3000)<br />    portb = %000110011      'h<br />     portf = %00010001<br />     delay_ms(3000)<br />     portb = %011011111     'g<br />     portf = %00010000<br />     delay_ms(3000)<br />     portb = %011000011     'f<br />     portf = %00010001<br />     delay_ms(3000)<br />    portb = %011001111     'e<br />     portf = %00010001<br />     delay_ms(3000)<br />     portb = %000111110     'd<br />     portf = %00010001<br />     delay_ms(3000)<br />    portb = %011001111    'c<br />     portf = %0000000<br />     delay_ms(3000)<br />     portb = %000011111    'b<br />     portf = %00010001<br />     delay_ms(3000)<br />     portb = %011110011    'a<br />     portf = %00010001<br />     delay_ms(3000)<br />     goto lazo<br />     end.<br />Diagrama de Flujos<br />Habilitar el puerto B y F como salida INICIO<br />Enviar los datos para las letras al puerto B y F<br />Retardo respectivo para cada  dato<br />Visualizar<br />Esquemático: En Proteus utilizamos el DSPIC30F4013<br />GRAFICO ANEXO<br />EJERCICIO 8 <br />Problema<br />Utilizar el microcontrolador en la  lógica boleana.<br />Algoritmo<br />Entrada: Habilitar el puerto F como entrad y el puerto B como salida.<br />Proceso: Realizar las operaciones lógicas con AND (multiplicación) entre el puerto FO y puerto F1.<br />   El escribir el resultado de en el puerto BO  la operación lógica OR (suma) entre el puerto F2 y F3 y escribo el resultado en el puerto B1 y la operación XOR entre el puerto F4 y F5 y escribo en el puerto B2.<br />Salida: Visualizo en el puerto B0  el resultado de las entradas del puerto F0 y F1.<br />             Visualizo en el puerto B1  el resultado de las entradas del puerto F2 y F3.<br />                          Visualizo en el puerto B2  el resultado de las entradas del puerto F4 y F5.<br />Código<br />program practica1_8<br />   main:<br />trisf = $ff        'f como entrada<br />trisb = $0         ' b como salida<br />     portb.0= portf.0 and portf.1<br />     portb.1= portf.2 or portf.3<br />     portb.2= portf.4 xor portf.5<br />  goto main<br />end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como entrada<br />Habilitar el puerto B como salida<br />Realizar  la operación AND entre PF0 y PF1<br />Realizar la operación OR entre PF2 y PF3<br />Realizar la operación XOR entre PF4 y PF5<br />Visualizar en el puerto PB0, PB1, PB2<br />Esquemático: En Proteus utilizamos el DSPIC30F4013<br />GRAFICO ANEXO<br />CONCLUCIONES<br />Los ejercicios realizados en el laboratorio fueron de mucha ayuda porque nos permitieron tener conocimientos sobre el manejo de los puertos del PIC.<br />El cambio del PIC16F877A al dsPIC30F4013 no nos produjo muchos problemas al momento de utilizar los puertos para habilitar los LEDs y los Display respectivamente.<br />Podemos concluir que la primera práctica de laboratorio fue realizada con mucho éxito aprendimos un poco más sobre el mundo de la familia de los PICs y de su programación.<br />Bibliografía<br />Hojas de prácticas para Laboratorio Sistemas Microprocesados I.<br />http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf<br />http://www.mikroe.com/en/books/dspicbook/mikropascal/ch9/images/fig9-13a.gif<br />
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1
Informe De Laboratorio 1

Más contenido relacionado

La actualidad más candente

Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010Jair BG
 
Ud1 7 puertos_es_pic
Ud1 7 puertos_es_picUd1 7 puertos_es_pic
Ud1 7 puertos_es_picarnadillo
 
Codigo adc
Codigo adcCodigo adc
Codigo adcmonimi
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010Jair BG
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)Pablo Haya
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucionJair BG
 
36 Php. Operadores De Incremento
36 Php. Operadores De Incremento36 Php. Operadores De Incremento
36 Php. Operadores De IncrementoJosé M. Padilla
 
Adquisición de la señal de un sensor imu
Adquisición de la señal de un sensor imuAdquisición de la señal de un sensor imu
Adquisición de la señal de un sensor imugmeneses23
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguajeg_torrealba
 

La actualidad más candente (14)

Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
 
Ud1 7 puertos_es_pic
Ud1 7 puertos_es_picUd1 7 puertos_es_pic
Ud1 7 puertos_es_pic
 
Introduccion Lenguaje C Blanca
Introduccion Lenguaje  C BlancaIntroduccion Lenguaje  C Blanca
Introduccion Lenguaje C Blanca
 
Codigo adc
Codigo adcCodigo adc
Codigo adc
 
Puerto Paralelo
Puerto ParaleloPuerto Paralelo
Puerto Paralelo
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
36 Php. Operadores De Incremento
36 Php. Operadores De Incremento36 Php. Operadores De Incremento
36 Php. Operadores De Incremento
 
Tema 4 iterativas
Tema 4   iterativasTema 4   iterativas
Tema 4 iterativas
 
Taype
TaypeTaype
Taype
 
!Prograc5
!Prograc5!Prograc5
!Prograc5
 
Adquisición de la señal de un sensor imu
Adquisición de la señal de un sensor imuAdquisición de la señal de un sensor imu
Adquisición de la señal de un sensor imu
 
Repaso del lenguaje
Repaso del lenguajeRepaso del lenguaje
Repaso del lenguaje
 

Similar a Informe De Laboratorio 1

Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicLuis Alejandro Hernandez
 
E N T R A D A Y S A L I D A E N E L M I C R O C O N T R O L A D O R P I C
E N T R A D A  Y  S A L I D A  E N  E L  M I C R O C O N T R O L A D O R  P I CE N T R A D A  Y  S A L I D A  E N  E L  M I C R O C O N T R O L A D O R  P I C
E N T R A D A Y S A L I D A E N E L M I C R O C O N T R O L A D O R P I CLuis Alejandro Hernandez
 
Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador Picguest6ec450
 
Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicLuis Alejandro Hernandez
 
Practica1 1
Practica1 1Practica1 1
Practica1 1carlos
 
Practica1 1
Practica1 1Practica1 1
Practica1 1carlos
 
Practica1 1
Practica1 1Practica1 1
Practica1 1carlos
 
28812521 Practica1 1
28812521 Practica1 128812521 Practica1 1
28812521 Practica1 1carlos
 
28683892 Practica1 1
28683892 Practica1 128683892 Practica1 1
28683892 Practica1 1carlos
 
Laboratorio de Microcomputadoras - Práctica 03
 Laboratorio de Microcomputadoras - Práctica 03 Laboratorio de Microcomputadoras - Práctica 03
Laboratorio de Microcomputadoras - Práctica 03Cristian Ortiz Gómez
 
Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOLeida Zuñiga
 
Laboratorio de Microcomputadoras - Práctica 04
 Laboratorio de Microcomputadoras - Práctica 04 Laboratorio de Microcomputadoras - Práctica 04
Laboratorio de Microcomputadoras - Práctica 04Cristian Ortiz Gómez
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05Cristian Ortiz Gómez
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Anllel Cardenas Yllanes
 
Practica CON AVR
Practica CON  AVRPractica CON  AVR
Practica CON AVRguest6ec450
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Franz Amaya
 
El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC SANTIAGO PABLO ALBERTO
 

Similar a Informe De Laboratorio 1 (20)

Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador Pic
 
E N T R A D A Y S A L I D A E N E L M I C R O C O N T R O L A D O R P I C
E N T R A D A  Y  S A L I D A  E N  E L  M I C R O C O N T R O L A D O R  P I CE N T R A D A  Y  S A L I D A  E N  E L  M I C R O C O N T R O L A D O R  P I C
E N T R A D A Y S A L I D A E N E L M I C R O C O N T R O L A D O R P I C
 
Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador Pic
 
Entrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador PicEntrada Y Salida En El Microcontrolador Pic
Entrada Y Salida En El Microcontrolador Pic
 
Practica1 1
Practica1 1Practica1 1
Practica1 1
 
Practica1 1
Practica1 1Practica1 1
Practica1 1
 
Practica1 1
Practica1 1Practica1 1
Practica1 1
 
28812521 Practica1 1
28812521 Practica1 128812521 Practica1 1
28812521 Practica1 1
 
28683892 Practica1 1
28683892 Practica1 128683892 Practica1 1
28683892 Practica1 1
 
Laboratorio de Microcomputadoras - Práctica 03
 Laboratorio de Microcomputadoras - Práctica 03 Laboratorio de Microcomputadoras - Práctica 03
Laboratorio de Microcomputadoras - Práctica 03
 
Puerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGOPuerto d825 CU ZUMPANGO
Puerto d825 CU ZUMPANGO
 
Laboratorio de Microcomputadoras - Práctica 04
 Laboratorio de Microcomputadoras - Práctica 04 Laboratorio de Microcomputadoras - Práctica 04
Laboratorio de Microcomputadoras - Práctica 04
 
Laboratorio de Microcomputadoras - Práctica 05
 Laboratorio de Microcomputadoras - Práctica 05 Laboratorio de Microcomputadoras - Práctica 05
Laboratorio de Microcomputadoras - Práctica 05
 
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
Técnicas de programación en ensamblador pic16f877a repertorio 35 instrucciones
 
Practica Infor Avr
Practica Infor AvrPractica Infor Avr
Practica Infor Avr
 
Practica CON AVR
Practica CON  AVRPractica CON  AVR
Practica CON AVR
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
 
10 entrada y salida
10 entrada y salida10 entrada y salida
10 entrada y salida
 
El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC El club de Programación de microcontroladores PIC
El club de Programación de microcontroladores PIC
 
Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84Aplicaciones con el pic 16f84
Aplicaciones con el pic 16f84
 

Informe De Laboratorio 1

  • 1. UNIVERSIDAD POLITECNICA SALESIANA <br />INTEGRANTES<br />OSCAR AYALA<br />CHRISTIAN IBARRA<br />ANDRES VALDIVIESO<br />Tema: PROGRAMACION EN dsPIC 30F4013<br />Objetivo: Aprender a utilizar correctamente los puertos del microcontrolador dsPIC<br />Desarrollo<br />Para la practica utilizamos la placa programadora “PICTrainer” de dsPIC y el software Microbasic ds.<br />ProcedimientO<br />EJERCICIO 1<br />Problema<br />Escribir en el puerto B el valor 55h<br />Algoritmo<br />Entrada: Ingresar el valor 55h<br />Proceso: Habilitar en el puerto B<br />Salida: Visualizar en los pines del puerto B el valor 55h en su equivalente binario.<br />Código<br />program practica1<br />main:<br />trisb=0 'habilita el puerto B como salida<br />portb= $55 'escribe en el puerto B el valor 55h<br />delay_ms(1000) 'retardo de 1 seg<br />end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida y escribir el valor 55h<br />Retardo de 1 seg<br />Salida de Datos en puerto B<br />Esquemático: <br />GRAFICO ANEXO<br />EJERCICIO 2<br />Problema<br />Escribir en el puerto B el valor AAh<br />Algoritmo<br />Entrada: Habilito en el puerto B.<br />Proceso: Ingresar el valor AAh en binario<br />Salida: Visualizar en el puerto B el valor binario.<br />Código<br />program practica1_2<br />main:<br />trisb=0<br /> portb= $AA<br /> delay_ms(100)<br /> portb= $55<br /> end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida y escribir el valor AAh<br />Retardo de 1 seg<br />Salida de Datos en puerto B<br />Esquemático: <br />GRAFICO ANEXO<br />EJERCICIO 3<br />Problema<br />Escribir en el puerto C el valor F0h<br />Algoritmo<br />Entrada: Habilitar en el puerto F<br />Proceso: Ingresar el valor F0h en binario.<br />Salida: Salida en el puerto F en valor binario.<br />Código<br />program practica1_3<br />main:<br />trisf=0<br /> portf= $F0<br /> delay_ms(1000)<br /> end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como salida y escribir el valor F0h<br />Retardo de 1 seg<br />Salida de Datos en puerto F<br />Esquemático:<br />GRAFICO ANEXO<br />EJERCICIO 4<br />Problema<br />Leer en el Puerto B y Escribir en el Puerto F<br />Algoritmo<br />Entrada: Habilitar el puerto F como entrada y el puerto b como salida.<br />Proceso: Utilizar una variable “valor” para guardar los datos del puerto F para luego escribir estos datos en el puerto B. <br />Salida: Salida en los pines del puerto B las entradas del puerto F.<br />Código<br />program practica1_4<br />dim valor as byte<br />main:<br /> lazo:<br /> trisf = $ff 'entrada<br /> trisb = 0 'salida<br /> valor = portf<br /> portb = valor<br /> goto lazo<br /> end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como entrada<br />Habilitar el puerto B como salida<br />Definir la variable valor para guardar datos<br />Salida en el puerto B los datos de entrada del puerto F<br />Esquemático: Simulación en proteus utilizando dspic30f4013<br />GRAFICO ANEXO<br />EJERCICIO 5<br />Problema<br />Leer en el Puerto F y Escribir en el Puerto D<br />Algoritmo<br />Entrada: Habilitar el puerto D como entrada y el puerto F como salida.<br />Proceso: Utilizar una variable “valor” para guardar los datos del puerto D para luego escribir estos datos en el puerto F. <br />Salida: Visualizar en los pines del puerto F las entradas del puerto D.<br />Código<br />program practica1_5<br />dim valor as byte<br />main:<br /> lazo:<br /> trisd = $ff 'entrada<br /> trisf = 0 'salida<br /> valor = portd<br /> portf = valor<br /> goto lazo<br /> end.<br />Diagrama de Flujos<br />Definir la variable valor para guardar datosHabilitar el puerto F como salidaHabilitar el puerto D como entradaINICIO<br />Salida en el puerto F los datos de entrada del puerto D<br />Esquemático: Simulación en proteus utilizando dspic30f4013<br />GRAFICO ANEXO<br />EJERCICIO 6<br />Problema<br />Escribir en un display de 7 segmentos sin utilizar decodificador, un valor ascendente entre 0 y F.<br />Algoritmo<br />Entrada: Habilito en el puerto B.<br />Proceso: Ingresar los valores que irán al puerto con un retardo para visualizar el cambio ascendente<br />Salida: Salida en el display los valores de 0 a F<br />Código<br />program practica1_6<br />main:<br />trisb = $0<br />'conectar a=portb0................e=portb.4.....<br /> lazo:<br /> portb = %00111111 ' formato para binario 0<br /> delay_ms(1000)<br /> portb = %00000110 ' 1<br /> delay_ms(1000)<br /> portb = %01011011 '2<br /> delay_ms(1000)<br /> portb = %01001111 '3<br /> delay_ms(1000)<br /> portb = %01100110 '4<br /> delay_ms(1000)<br /> portb = %01101101 '5<br /> delay_ms(1000)<br /> portb = %01111101 '6<br /> delay_ms(1000)<br /> portb = %00000111 '7<br /> delay_ms(1000)<br /> portb = %01111111 '8<br /> delay_ms(1000)<br /> portb = %01100111 '9<br /> delay_ms(1000)<br /> portb = %01110111 'A<br /> delay_ms(1000)<br /> portb = %01111100 'b<br /> delay_ms(1000)<br /> portb = %01011000 'C<br /> delay_ms(1000)<br /> portb = %01011110 'd<br /> delay_ms(1000)<br /> portb = %01111001 'E<br /> delay_ms(1000)<br /> portb = %01110001 'F<br /> delay_ms(1000)<br /> goto lazo<br /> end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto B como salida <br />Enviar los datos correspondientes al puerto B<br />Retardo entre cada envió <br />Visualización en Display<br />Esquemático: En Proteus utilizamos en DSPIC30F4013<br />GRAFICO ANEXO<br />EJERCICIO 7<br />Problema<br />Mediante un display visualizar mostrar en forma descendente todas letras del alfabeto de la Z a la A.<br />Algoritmo<br />Entrada: Habilitar los puertos B y F como salidas.<br />Proceso: Escribir el código binario para cada letra del alfabeto y declarar el respectivo retardo para cada letra.<br />Salida: Visualizar en el display alfa numérico las letras de la Z a la A en código binario de los puertos B y F.<br />Código<br />program practica1_7<br />main:<br />trisb = $0<br />trisf = $0<br />'conectar a=portb0................e=portb.4.....<br /> lazo:<br /> portb = %011001100 ' z<br /> portf = %00100010<br /> delay_ms(3000)<br /> portb = %100000000 'y<br /> portf = %00100100<br /> delay_ms(3000)<br /> portb = %100000000<br /> portf = %00101010 'x<br /> delay_ms(3000)<br /> portb = %000110011 'w<br /> portf = %0001010<br /> delay_ms(3000)<br /> portb = %000000011 'v<br /> portf = %00100010<br /> delay_ms(3000)<br /> portb = %000111111<br /> portf = %00000000 'u<br /> delay_ms(3000)<br /> portb = %011000000 't<br /> portf = %01000100<br /> delay_ms(3000)<br /> portb = %011011101 's<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011100011 'r<br /> portf = %00011000<br /> delay_ms(3000)<br /> portb = %011111111 'q<br /> portf = %00001000<br /> delay_ms(3000)<br /> portb = %011100011 'p<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011111111 '0<br /> portf = %00000000<br /> delay_ms(3000)<br /> portb = %100110011 'n<br /> portf = %00001000<br /> delay_ms(3000)<br /> portb = %100110011 'm<br /> portf = %00100000<br /> delay_ms(3000)<br /> portb = %000001111 'l<br /> portf = %00000000<br /> delay_ms(3000)<br /> portb = %000000011 'k<br /> portf = %00101001<br /> delay_ms(3000)<br /> portb = %011000100 'j<br /> portf = %01000100<br /> delay_ms(3000)<br /> portb = %000000000 'i<br /> portf = %01000100<br /> delay_ms(3000)<br /> portb = %000110011 'h<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011011111 'g<br /> portf = %00010000<br /> delay_ms(3000)<br /> portb = %011000011 'f<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011001111 'e<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %000111110 'd<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011001111 'c<br /> portf = %0000000<br /> delay_ms(3000)<br /> portb = %000011111 'b<br /> portf = %00010001<br /> delay_ms(3000)<br /> portb = %011110011 'a<br /> portf = %00010001<br /> delay_ms(3000)<br /> goto lazo<br /> end.<br />Diagrama de Flujos<br />Habilitar el puerto B y F como salida INICIO<br />Enviar los datos para las letras al puerto B y F<br />Retardo respectivo para cada dato<br />Visualizar<br />Esquemático: En Proteus utilizamos el DSPIC30F4013<br />GRAFICO ANEXO<br />EJERCICIO 8 <br />Problema<br />Utilizar el microcontrolador en la lógica boleana.<br />Algoritmo<br />Entrada: Habilitar el puerto F como entrad y el puerto B como salida.<br />Proceso: Realizar las operaciones lógicas con AND (multiplicación) entre el puerto FO y puerto F1.<br /> El escribir el resultado de en el puerto BO la operación lógica OR (suma) entre el puerto F2 y F3 y escribo el resultado en el puerto B1 y la operación XOR entre el puerto F4 y F5 y escribo en el puerto B2.<br />Salida: Visualizo en el puerto B0 el resultado de las entradas del puerto F0 y F1.<br /> Visualizo en el puerto B1 el resultado de las entradas del puerto F2 y F3.<br /> Visualizo en el puerto B2 el resultado de las entradas del puerto F4 y F5.<br />Código<br />program practica1_8<br /> main:<br />trisf = $ff 'f como entrada<br />trisb = $0 ' b como salida<br /> portb.0= portf.0 and portf.1<br /> portb.1= portf.2 or portf.3<br /> portb.2= portf.4 xor portf.5<br /> goto main<br />end.<br />Diagrama de Flujos<br />INICIO<br />Habilitar el puerto F como entrada<br />Habilitar el puerto B como salida<br />Realizar la operación AND entre PF0 y PF1<br />Realizar la operación OR entre PF2 y PF3<br />Realizar la operación XOR entre PF4 y PF5<br />Visualizar en el puerto PB0, PB1, PB2<br />Esquemático: En Proteus utilizamos el DSPIC30F4013<br />GRAFICO ANEXO<br />CONCLUCIONES<br />Los ejercicios realizados en el laboratorio fueron de mucha ayuda porque nos permitieron tener conocimientos sobre el manejo de los puertos del PIC.<br />El cambio del PIC16F877A al dsPIC30F4013 no nos produjo muchos problemas al momento de utilizar los puertos para habilitar los LEDs y los Display respectivamente.<br />Podemos concluir que la primera práctica de laboratorio fue realizada con mucho éxito aprendimos un poco más sobre el mundo de la familia de los PICs y de su programación.<br />Bibliografía<br />Hojas de prácticas para Laboratorio Sistemas Microprocesados I.<br />http://ww1.microchip.com/downloads/en/devicedoc/70138c.pdf<br />http://www.mikroe.com/en/books/dspicbook/mikropascal/ch9/images/fig9-13a.gif<br />