Informe De Laboratorio 1

  • Upload
    ceiv

  • View
    703

  • Download
    6

Embed Size (px)

Citation preview

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