Você está na página 1de 4

Cancela de passagem de trem

Gabriel Viotto Dominguez

RA: 132270354

Pedro Vieira

RA:122271025

Rafael Monteiro Barroso

RA: 1110136

20/05/2015
ORG 00H

SJMP 30H

;SALTA PARA O ENDEREO ONDE SERO


;ESTABELECIDAS AS

CARACTERSTICAS DA
;INTERRUPO
ORG 03H
SETB P1.0
PRESENA
ACALL ATRASO
ATRASO(TEMPO QUE A
PERMANECE ABERTA)

;SETA A PORTA P1.0 (ABRE A CANCELA) NA


;DE CARRO
;CHAMA A SUB ROTINA DE
;CANCELA

CLR P1.0

;ZERA A PORTA P1.0(FECHA A CANCELA)

RETI

;RETORNA PARA O PROGRAMA PRINCIPAL


;SUB ROTINA DE INTERRUPO

CLR P1.0

;ZERA A PORTA P1.0 (FECHA A CANCELA)NA


;DE TREM

RETI

;RETORNA PARA O PROGRAMA PRINCIPAL


;SUB ROTINA DE INTERRUPO

SETB EA

;SETA O ENABLE ALL QUE PERMITE QUE


;INTERRUPES SEJAM

APS A
TERMINAR
ORG 0013H
PRESENA
APS A
TERMINAR
ORG 30H
TODAS AS
HABILITADAS
;INDIVIDUALMENTE
SETB IT0
BORDA DE
CLR IT1
PELO NVEL
PINO

FECHADA

;INTERRUPO EXTERNA ATIVADA NA


;DESCIDA (1 PARA 0) NO PINO
;INTERRUPAO EXTERNA ATIVADA
;BAIXO (0) PRESENTE NO

SETB EX0

;HABILITA A INTERRUPO EXTERNA 0 (P3.2)

SETB EX1

;HABILITA A INTERRUPO EXTERNA 1 (P3.3)

SETB PX1

;PRIORIDADE ALTA PARA A INTERRUPO


;EX1(PRESENA DE TREM) CANCELA

CLR PX0

;PRIORIDADE BAIXA PARA A INTERRUPO


;EX0(PRESENA DE CARRO) CANCELA

ABERTA

INICIO:
SJMP INICIO
PRINCIPAL AT UMA
SER IDENTIFICADA

;PERMANECE NO PROGRAMA
;INTERRUPO

ORG 50H
ATRASO:

MOV R1,#0AH

;MOVE O VALOR 0A PARA R1

DJNZ R1,$

;DECREMENTA R1 AT ZERO

RET

;TERMINA A ROTINA DE ATRASO

END

Diagrama de blocos

Você também pode gostar