Download - Interrupciones, Fuentes de Interrupción y El Registro INTCON

Transcript
  • ::PICParteIIICaptulo1

    INTERRUPCIONES:

    Unade las caractersticasms importantede losmicrocontroladores y quemencionamosal inicio ennuestroprimertutorial,esquetienenlaposibilidaddemanejarinterrupciones,yquesesto...???

    Muysencillo,setratadeunacontecimientoquehacequeelmicrodejedeladoloqueseencuentrarealizando,atiendaesesucesoyluegoregreseycontineconlosuyo.

    Puesesoson las interrupciones,peroveamos,haydos tiposde interrupcionesposibles,unaesmedianteunaaccinexterna(esdecirporlaactivacindeunodesuspines),laotraesinterna(porejemplocuandoocurreeldesbordamientodeunodesusregistros)

    EnelPIC16f84hay4fuentesdeinterrupciones,veamoscualesson...

    PorelpinRB0/INT,queregresaalPICdelmodoSLEEP(interrupcinexterna).PorlospinesRB4aRB7,configuradoscomoentradayencasodequealgunodeelloscambiedeestado(interrupcinexterna).PordesbordamientodelregistroTMR0,cuandoesteregistropasade255a0endecimal0xFFa0x00enhexa(interrupcininterna).AlcompletarlaescrituradelaEEPROMdedatos(interrupcininterna).

    Eltemaesque,debehaberalgoquenosindiquelafuentedeinterrupcinquesehaproducido,yestassonlasbanderas de interrupciones, cada interrupcin tiene su propia bandera y es un bit del registro INTCON, quecambiadeestadode0a1cuandoseproduce la interrupcin,salvo laltimaqueseencuentraenel registroEECON1

    Ahoraveamoscualessonesasbanderas...

    ParaRB0/INTlabanderaesINTF(Bit1)PararlospinesRB4aRB7,esRBIF(Bit0)ParaTMR0,esT0IF(Bit2)ParalaEEPROM,esEEIF(Bit4)enelregistroEECON1.

    Siprestasatencin,todasestasbanderasterminanenFesdecirFLAG's,aplausosparam...!!!:o))

    Bien,ahoraveremostodoestoenelregistroINTCON,aquva...

    REGISTROINTCONGIE EEIE T0IE INTE RBIE T0IF INTF RBIF

    El Bit GIE habilita todas las interrupciones, Los Bit's de fondo gris son las banderas, y los BIT's que secorrespondenconcadaflagsonlahabilitacindelafuentedeinterrupcinparaqueestacambie,recuerdaqueelflagdeEEIEseencuentraenelregistroEECON1.

    YahoralosdetallesdecadaBitdelregistroINTCON.

    BIT's LE Reset DescripcinBit7:GIEHabilitacinGeneral. L/E 0

    1=TodaslasInterrupcionesactivadas0=TodaslasInterrupcionesdesactivadas

    Bit6:EEIEInt.dePerifricos L/E 0

    1=Activada0=Desactivada

    Bit5:T0IEInt.delTMR0 L/E 0

    1=Activada0=Desactivada

    Bit4:INTEInt.Externa L/E 0

    1=Activada0=Desactivada

    Bit3:RBIE 1=Activada

  • Int.porPORTB L/E 0 0=Desactivada

    Bit2:T0IFBanderadelTMR0. L/E 0

    1=TMR0desbordado.0=Nosehadesbordado

    Bit1:INTFBanderaRB0/INT L/E 0

    1=Ocurriunainterrupcinexterna0=Nohaocurridointerrupcinexterna

    Bit0:RBIFBanderaRB4:RB7 L/E x

    1=Almenosunpincambiodeestado0=Ningnpinhacambiadodeestado.

    Enlatabla,losvaloresdeLEsonparaquesepassielbitesdelecturaoescritura,losvaloresdeResetsonelestadodecadaBitdespusdeproducirseunresetocuandoseiniciaelmicro.

    Porciertoyantesdequeloolvide,sibiencadaflagcambiaoseponea1alproducirseunainterrupcin,estareatuyaborrarlooponerloaceronuevamente,yaquesinolohaceselmicroestarsiempreinterrumpidooloqueeslomismo,creerquelainterrupcinseestproduciendocontinuamente.

    Recapitulemosunpoco...Yasabemoscomoycuandoseproduceunainterrupcin,conocemoslasbanderasquenos indican la fuentede interrupcinproducida,conocemosel registrodondeseencuentrany losvaloresquetomancadaunodesusBIT's.Puesbien,ahorahayqueatenderlas.

    Loprimeroquedebessaber,esquecuandounainterrupcinseproduce,seacualfuerelafuentedeinterrupcin,elmicrodejatodoysaltaaladireccin0x04,steeselvectordeinterrupcin,sirecuerdasdenuestroprimertutorial, siempre saltbamosporencimadeestadireccinpara iniciarnuestroprograma,enestadireccinesdonde escribiremos la rutina que d servicio a todas las interrupciones, o bien haremos un salto a donde seencuentreesetrozodecdigo,elcualseconocecomoISR(RutinadeServiciodeInterrupcin)

    ElTiempodeProcesamientodelaISRdebeserlomsbreveposible,paradarlugaraqueseejecutenlasotrasinterrupciones,yaquepuedeshaberhabilitadomsdeunadeellas.

    Loms crtico de una interrupcin es tener que guardar todos los registros importantes con sus respectivosvalores,para luegorestaurarlos,yaselmicropuedacontinuarconlatareaqueestabarealizandocuandofueinterrumpido.

    Esoesloqueveremosahora...