ejemplo 1

7
;*********************************************************************** ;**** TRABAJO PRÁCTICO DE MICROPROCESADORES (316) LAPSO 2012‐1********* ; CONTROL DE TRANSPORTE INDUSTRIAL UTILIZANDO EL MICROPROCESADOR 8085 ;*******************UNIVERSIDAD NACIONAL ABIERTA*********************** ;********************CENTRO LOCAL : SUCRE****************************** ;ESTE TRABAJO FUE SIMULADO CON EL SOFTWARE DE SIMULACION PARA INTEL 8085 ;************DE LA UNIVERSIDAD DE GRANADA VERSION 01****************** ;====================================================================== ;***********************TABAJO REALIZADO POR:*************************** ;***************Elionor Herrera González CI: 15.883.546***************** ;====================================================================== ;‐‐‐‐DIRECCIONES DE MEMORIA DE LAS ENTRADAS Y SALIDAS DE CONTROL‐‐‐‐‐‐‐ .DEFINE P1 00h ;ENTRADA DE LA SEÑAL DEL PULSADOR 01 P2 01h ;ENTRADA DE LA SEÑAL DEL PULSADOR 01 A1 02h ;ENTRADA DE LA SEÑAL DEL SENSOR DE POSICION A1 A2 03h ;ENTRADA DE LA SEÑAL DEL SENSOR DE POSICION A2 B1 04h ;ENTRADA DE LA SEÑAL DEL SENSOR DE POSICION B1 C1 00h ;SALIDA DE CONTROL PARA EL CAMBIO DE VIAS DER 01h ;SALIDA DE CONTROL DE LA CARETILLA HACIA LA DERECHA IZD 02h ;SALIDA DE CONTROL DEL DE LA CARETILLA HACIA LA IZQUIERDA DTIMER1 03H ;DIRECCION DE LA VARIABLE DE TEMPORIZACION 1 DTIMER2 04H ;DIRECCION DE AL VARIABLE DE TEMPORIZACION 2 INV_TIME 05H ;VARIABLE QUE GUARDA TIME 06H ;VARIABLE QUE GUARDA C2 07h ;VARIABLE AUX PARA EL CAMBIO DE VIAS ;*********************************************************************** ;**************P R O G R A M A P R I N C I P A L********************** ;*********************************************************************** .org 050h ;Inicia en la posición de memoria 50h CALL RESET MAIN: NOP CALL CARRETILLA ;(DETECTA SI HAY TECLAS) JMP MAIN HLT ;*********************************************************************** ;*******F I N DEL PROGRAMA P R I N C I P A L************* ;*********************************************************************** EXCLUSION: ; Cuando la carretilla está en A1, la misma no puede estar en A2 ni en B1 ; a la vez IN A1 MOV d,a IN A2 ANA d JNZ SALIR IN A1 MOV d,a IN B1 ANA d JNZ SALIR ;Cuando LA CARRETILLA está en A2,no puede estar al mismo tiempo en A1 ni en ;B1. in A2 mov d,a

Upload: juan-carlos-marin

Post on 09-Sep-2015

216 views

Category:

Documents


2 download

DESCRIPTION

ejemplos

TRANSCRIPT

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 1/7

    ;***********************************************************************;****TRABAJOPRCTICODEMICROPROCESADORES(316)LAPSO20121*********;CONTROLDETRANSPORTEINDUSTRIALUTILIZANDOELMICROPROCESADOR8085;*******************UNIVERSIDADNACIONALABIERTA***********************;********************CENTROLOCAL:SUCRE******************************;ESTETRABAJOFUESIMULADOCONELSOFTWAREDESIMULACIONPARAINTEL8085;************DELAUNIVERSIDADDEGRANADAVERSION01******************;======================================================================;***********************TABAJOREALIZADOPOR:***************************;***************ElionorHerreraGonzlezCI:15.883.546*****************;======================================================================

    ;DIRECCIONESDEMEMORIADELASENTRADASYSALIDASDECONTROL.DEFINEP100h ;ENTRADADELASEALDELPULSADOR01P201h ;ENTRADADELASEALDELPULSADOR01A102h ;ENTRADADELASEALDELSENSORDEPOSICIONA1A203h ;ENTRADADELASEALDELSENSORDEPOSICIONA2B104h ;ENTRADADELASEALDELSENSORDEPOSICIONB1C100h ;SALIDADECONTROLPARAELCAMBIODEVIASDER01h ;SALIDADECONTROLDELACARETILLAHACIALADERECHAIZD02h ;SALIDADECONTROLDELDELACARETILLAHACIALAIZQUIERDADTIMER103H;DIRECCIONDELAVARIABLEDETEMPORIZACION1DTIMER204H;DIRECCIONDEALVARIABLEDETEMPORIZACION2INV_TIME05H;VARIABLEQUEGUARDATIME 06H ;VARIABLEQUEGUARDAC207h ;VARIABLEAUXPARAELCAMBIODEVIAS

    ;***********************************************************************;**************PROGRAMAPRINCIPAL**********************;***********************************************************************

    .org050h ;Iniciaenlaposicindememoria50hCALLRESETMAIN: NOP CALLCARRETILLA;(DETECTASIHAYTECLAS) JMPMAINHLT

    ;***********************************************************************;*******FINDELPROGRAMAPRINCIPAL*************;***********************************************************************

    EXCLUSION:;CuandolacarretillaestenA1,lamismanopuedeestarenA2nienB1;alavez INA1 MOVd,a INA2 ANAd JNZSALIR INA1 MOVd,a INB1 ANAd JNZSALIR;CuandoLACARRETILLAestenA2,nopuedeestaralmismotiempoenA1nien;B1. inA2 movd,a

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 2/7

    inA1 anad jnzSALIR inA2 movd,a inB1 anad jnzSALIR;CuandoLACARRETILLAestenB1,nopuedeestaralmismotiempoenA1nien;A2. inB1 movd,a inA1 anad jnzSALIR inB1 movd,a inA2 anad jnzSALIRRET;CARRETILLA: CALLEXCLUSION ;CuandoLaCARRETILLAestenlaposicinA1ysepulsaP1,LaCARRETILLA;comenzaradesplazarsehacialaDERECHA,rumboaB1ylasvasestarn;enlaposicinC=1. INA1 MOVD,A INP1 ANAD CNZVIAS_A1 INA1 MOVD,A INP1 ANAD CNZACTIVA_DER;CuandoLaCARRETILLAestenlaposicinA1ysepulsaP2,LaCARRETILLA;comenzaradesplazarsehacialaDERECHA,rumboaB1ylasvasestarn;enlaposicinC=1. INA1 MOVD,a INP2 ANAD CNZACTIVA_DER INA1 MOVD,a INP2 ANAD CNZVIAS_A1;CuandoLaCARRETILLAestenlaposicinA2ysepulsaP2,LaCARRETILLA;comenzaradesplazarsehacialaDERECHA,rumboaB1ylasvasestarn;enlaposicinC=0. INA2 MOVD,a INP2 ANAD CNZACTIVA_DER INA2 MOVD,a INP2 ANAD

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 3/7

    CNZVIAS_A2;CuandoLaCARRETILLAestenlaposicinA2ysepulsaP1,LaCARRETILLA;comenzaradesplazarsehacialaDERECHA,rumboaB1ylasvasestarn;enlaposicinC=0.. INA2 MOVD,a INP1 ANAD CNZACTIVA_DER INA2 MOVD,a INP1 ANAD CNZVIAS_A2;CuandoLACARRETILLAestenB1yvienedeA1separa5segundosy;cambiaelsentidodelmovimientohacialaIZQUIERDA. INB1 MOVB,A LXIH,C1 MOVA,M ANAB MOVB,A LXIH,TIME MOVA,M ANAB CNZSEG5;CuandoLACARRETILLAestenB1yvienedeA2separa5segundosy;cambiaelsentidodelmovimientohacialaIZQUIERDA. INB1 MOVB,A LXIH,C2 MOVA,M ANAB MOVB,A LXIH,TIME MOVA,M ANAB CNZSEG5;CuandoLACARRETILLALLEGAaA1debepararse. INA1 MOVB,A LXIH,IZD MOVA,M ANAB MOVB,A LXIH,INV_TIME MOVA,M ANAB CNZSTOP MVIA,00H ANAA;CuandoLACARRETILLALLEGAaA2debepararse. INA2 MOVB,A LXIH,IZD MOVA,M ANAB MOVB,A LXIH,INV_TIME MOVA,M ANAB

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 4/7

    CNZSTOP MVIA,00H ANAA

    RET;ACTIVA_DER: LXIH,IZDMVIM,00h MOVA,M OUTIZD;DESACTIVAMOTORDECARRETILLAHACIALAIZQUIERDAIZQ=0 LXIH,DERMVIM,01h MOVA,M OUTDER;ACTIVAMOTORDECARRETILLAHACIALADERECHADER=1MVIM,01h MOVA,M OUTTIME ;B1ENTONCESC1=0LOCUALCAMBIALARUTADEB1>A2; LXIH,C2MOVA,M ANAA CNZVIAS_A1S;SIVIENEDEA2>B1ENTONCESC1=1LOCUALCAMBIALARUTADEB1>A1;RET;VIAS_A1: LXIH,C1MVIM,01H MOVA,M OUTC1 ;CAMBIODEVIASC1=1(A1>B1) LXIH,C2MVIM,00H MOVA,M OUTC2 ;CAMBIODEVIASC2=0(A2>B1)RET;VIAS_A2: LXIH,C1 MVIM,00H MOVA,M OUTC1 ;CAMBIODEVIASC1=0(A2>B1)

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 5/7

    LXIH,C2MVIM,01H MOVA,M OUTC2 ;CAMBIODEVIASC2=1(A2>B1)RET;VIAS_A1S: LXIH,C1MVIM,01H MOVA,M OUTC1 ;CAMBIODEVIASC1=1(A1

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 6/7

    MVIM,00h MOVA,M OUTIZD;

  • 7/5/2015 www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm

    http://www.ciberesquina.una.edu.ve/Microprocesadores/Sistema/Manuales/ejemplo1.asm 7/7

    JNZLOOP2 ;SiesdiferentedeCEROsaltaaLOOPS2RET ;Cuandotranscurreunsegundoretorna;FINDELASUBRUTINASEGUNDOS