in for me 7

Upload: juan-suasnavas

Post on 09-Apr-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 In for Me 7

    1/20

    U N I V E R S I D A D P O L I T C N I C A S A L E S I A N A

    SISTEMAS MICROPROCESADOS I

    INFORME 7

    Septiembre-Febrero 11

    DOCENTE:

    Ing. Electrnico.

    Luis Oate

    ESTUDIANTES:

    Fernando PazmioJuan SuasnavasGustavo Caiza

  • 8/8/2019 In for Me 7

    2/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    OBJETIVO: Elaborar programas para comprender el uso de lasinterrupciones.

    1. EJERC IC IO 1

    PROBLEMA: Uso de la int err upcin externa cero.

    ALGORITMO:

    Entradas:Datos ingresados por el puerto B..

    Procesos: Configuro el LCD en el puerto C. Configuro el puerto D como salida hacia le ds. Habilito interrupciones e interrupcin externa. Leo el puerto B y envo datos hacia el lcd y hacia los leds

    Salidas:La salida del puerto C hacia el LCD y el puerto D hacia los leds.

    CDIGO:

    program INT0dim L as byte

    dim A,B as bytedim valor as strin g[6]sub procedure inittrisc=$0

    trisd=$0trisb=$FF 'puertob como ent radasoption_reg=%10000000 'habilita todas las interrupcion es por f lancodescendente

    'prescaler no habilitadointcon=%10010000 'habilita interrupciones e interr upcion externa RB0L=0A=0B=0

    Lcd_config(portc,7,6,5,4, portc,0,1,2) 'confi guro L CD

  • 8/8/2019 In for Me 7

    3/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    lcd_cmd(lcd_cursor_off)end sub

    sub procedure interr uptportd=inc(B)

    intcon.intF=0A=A+1end sub

    main:initLOOP:

    byteTOST R(A,v alor)

    lcd_cmd(lcd_clear)lcd_out(1,1,valor)delay_ms(500)goto LOOPend.

  • 8/8/2019 In for Me 7

    4/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    DIAGRAMA DE FLUJO:

    DIAGRAMA ESQUEMATICO :

  • 8/8/2019 In for Me 7

    5/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    SIMULAC IO ES

    FO TOGRAFIAS TO MADAS E LA PRAC TIC A:

  • 8/8/2019 In for Me 7

    6/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    2. EJERC ICIO 2PROBLEMA: Interrupcin temporizadores.

    ALGO RITMO:

    Entradas:Las variables que se guardan en el microcontrolador.Procesos: Configuro el LCD en el puerto C y el puerto B.0 como salida. Habilito int errupciones e interrupciones del timer 0. Realizo el lazo y envo los datos al lcd y al puert o B.0.

    Salidas:La salida del puerto C hacia el LCD y el puerto B.0 hacia elosc iloscopio.

    C DIGO:

    program intTimerdim L as byte

    Dim A,B as bytedim valor as string[6]sub procedure inittrisc=$0

    trisd=$0

  • 8/8/2019 In for Me 7

    7/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    trisb=$0option_reg=%10000011

    intcon=%10100000L=0

    TMR0=92A=0B=0

    Lcd_config(portc,7,6,5,4, portc,0,1,2)lcd_cmd(lcd_cursor_off)end subsub procedure interr upt

    intcon.t0if=0if L=0 thentmr0=92

    portb.0=0L=1

    elseportb.0=1L=0tmr0=92end ifend submain:init

    LOOP:Lcd_cmd(lcd_clear)lcd_out(1,1,"UPS QUITO")delay_ms(500)

    goto LOOPend.

    DIAGRAMA DE FLUJO

  • 8/8/2019 In for Me 7

    8/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    DIAGRAMA ESQUEMATICO :

  • 8/8/2019 In for Me 7

    9/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    SIMULAC IO ES

  • 8/8/2019 In for Me 7

    10/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    FO TOGRAFIAS TO MADAS E LA PRAC TIC A:

    3. EJERC ICIO 3

    PROBLEMA: Mediante el uso de la int errupcin del timer 1 realiz ar un generadorde onda cuadrada de perio do 1ms..

    ALGO RITMO:

    Entradas:El p uerto A que ingresa la seal del potencimet ro.Procesos: Configurar portB como salida.

  • 8/8/2019 In for Me 7

    11/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    Configurar e inicializar T IMER1 Contador de TIMER 1

    Salidas:La salida del port b.0 o pin 33 en el cual se debe observar la forma de onda de periodo de1ms.

    CDIGO

    program T imer1dim cnt as worddim B as bytesub procedure interr upt

    Inc(cnt)PIR1.TMR1IF = 0 ' clear TMR1IFTMR1H = $FFTMR1L = $00

    end submain:PORT B = $00 ' initialize PORTBTRISB = 0 ' PORTB is outputT1CON = 1 ' timer1 settingsPIR1.TMR1IF = 0 ' clear TMR1IFTMR1H = $80 ' initialize Timer1 registerTMR1L = $00PIE1.TMR1IE = 1 ' enable Timer1 interruptcnt = 0 ' initialize cntINTCON = $C0 ' set GIE, PEIEwhile TRUEif (cnt = 3) then ' if cnt i s 76

    PORT B = inc(B) ' then toggle PORTB leds andcnt = 0 ' re set cntend ifwend

    end.

    DIAGRAMA DE FLUJO

  • 8/8/2019 In for Me 7

    12/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    DIAGRAMA ESQUEMATICO :

  • 8/8/2019 In for Me 7

    13/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    SIMULAC IO ES

  • 8/8/2019 In for Me 7

    14/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    FO TOGRAFIAS TO MADAS E LA PRAC TIC A:

    4. EJERC ICIO 4

    PROBLEMA:Conteo del timer 0 en un periodo de tiempo

    ALGO RITMO:

    Entradas:Habilito puerto B como entrada para conectar la seal delgenerador de fr ecuencias.

    Procesos:

  • 8/8/2019 In for Me 7

    15/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    Habilito Puerto C y Puerto D como salida Configuro TMR0 Habilito todas las interrupciones por flanco descendente Habilito interrupciones e interrupcin externa Configuro L CD

    Salidas:La salida hacia el LCD en el cual se observara el nmero de pulsos en el valor de lafrecuencia.

    CDIGO

    program medidordim L as bytedim A,B as byte

    dim valor as strin g[6]sub procedure inittrisc=$0

    trisd=$0trisb=$FFoption_reg=%10000011intcon=%10010000

    L=0A=0B=0lcd_config(portc,7,6,5,4,portc,0,1,2)lcd_cmd(lcd_cursor_off)

    end subsub procedure interr upt

    portd=inc(B)intcon.intF=0

    if L=0 thentmr0=0L=1else

    L=0A=tmr0end ifend submain:initLOOP:

    byteTOST R(A,v alor)lcd_cmd(lcd_clear)lcd_out(1,1,valor)delay_ms(500)goto LOOP

  • 8/8/2019 In for Me 7

    16/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    end.

    DIAGRAMA DE FLUJO

  • 8/8/2019 In for Me 7

    17/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    DIAGRAMA ESQUEMATICO :

  • 8/8/2019 In for Me 7

    18/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    FO TOGRAFIAS TO MADAS E LA PRAC TIC A:

  • 8/8/2019 In for Me 7

    19/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. Electrnica

    CO C LUSIO ES:

    Se debe utilizar el cristal correcto para obtener la frecuencia requerida para elproblema.

    Se entendi la manera de mostrar las diferentes funciones del PIC en la pantallaLCD.

    Se obtuvo ms informacin so bre el uso de las interrupciones como el timer 0.

    RECO MEDAC IOES:

    Si se tiene alguna duda se puede verificar en los manuales o data-sh eet de loselementos a utilizar.

  • 8/8/2019 In for Me 7

    20/20

    UIVERSIDAD POLITCICA SALESIAA

    Ing. ElectrnicaSistemas Microprocesados I

    Polarizar correctamente el PIC y declarar correctam ente que puertos van afuncionar tanto como entradas y salidas de nuestro programa.

    Bibliografa:

    Ayuda del Programa Microbasic. Ayuda del Programa Proteus 7.6. Para las simulaciones. Hojas de

    Practicas

    Hojas guas de Prcticas de Laboratorio, Ing. Luis Oate, UPS 2010-2011

    Inte rnet: Autor: Ariel Palazzesi, MikroBasic - Primera Parte, enlace:

    http://www.neoteo.com/mikrobasic-primera-parte.neo, fecha de

    consulta: lunes, 18 de noviembre de 2010

    Microchip, Datasheet PIC16F877A, enlace:http://ww1.microchip.com/downloads/en/devicedoc/3092c.pdf ,

    fecha de consulta: lunes, 18 de octubre de 2010

    Microchip, Datasheet PIC18f452, enlace:http://ww1.microchip.com/downloads/en/devicedoc/3092c.pdf ,

    fecha de consulta: lunes, 18 de octubre de 2010