Advertisement
Guest User

Untitled

a guest
May 29th, 2016
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2. ;*        TITULO: CONTROLE DE SAÍDA DE VEÍCULOS DE GARAGEM         *
  3. ;*                                                                 *
  4. ;*                                                                 *
  5. ;*      DESENVOLVIDO PELO GRUPO:                                   *
  6. ;*   => ALICE DUQUE BELFORT DE OLIVEIRA                            *
  7. ;*   => PEDRO JORGE AMÉRICO ISHIMARU                              *
  8. ;*                                                                 *
  9. ;*                                                                 *
  10. ;*      VERSÃO: ALFA                            DATA: 8/05/2016    *
  11. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  12. ;*                      DESCRIÇÃO DO ARQUIVO                       *
  13. ;*-----------------------------------------------------------------*
  14. ;* COMENTÁRIOS E DESCRIÇÃO DO PROBLEMA PROPOSTO:                   *
  15. ;* MODELO DE PROGRAMA PARA OS ALUNOS DE MICROCOMPUTADORES          *
  16. ;*                                                                 *
  17. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  18.  
  19. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  20. ;*                     ARQUIVOS DE DEFINIÇÕES                      *
  21. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  22.  
  23. #INCLUDE <P16F628A.INC>     ;ARQUIVO PADRÃO MICROCHIP PARA 16F628A
  24.  __CONFIG _BOREN_OFF & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON
  25. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  26. ;*                    PAGINAÇÃO DE MEMÓRIA                         *
  27. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  28. ;DEFINIÇÃO DE COMANDOS DE USUÁRIO PARA ALTERAÇÃO DA PÁGINA DE MEMÓRIA
  29.  
  30. #DEFINE BANK0   BCF STATUS,RP0  ;SETA BANK 0 DE MEMÓRIA
  31. #DEFINE BANK1   BSF STATUS,RP0  ;SETA BANK 1 DE MEMÓRIA
  32. ;*************************************************************************
  33. ;*                          DEFINIÇÕES GERAIS                              *
  34. ;*************************************************************************
  35. ;DEFINIÇÃO DE MNEMÔNICOS PARA ACESSO A BITS DE REGISTRADORES ESPECIAIS
  36. #DEFINE GENHAB      INTCON, GIE         ;HABILITA A INTERRUPÇÃO GERAL
  37. #DEFINE TIMHAB      INTCON, T0IE        ;HABILITA A INTERRUPÇÃO POR TIMER0
  38. #DEFINE RB47FLAG    INTCON, RBIF        ;FLAG SINALIZADOR DE INTERRUPÇÃO EM RB4-7
  39. #DEFINE TFLAG       INTCON, T0IF        ;FLAG SINALIZADOR DE ESTOURO DO TIMER
  40. #DEFINE RB0FLAG     INTCON, INTF        ;FLAG SINALIZADOR DE INTERRUPÇÃO EM RB0
  41. #DEFINE ANFLAG      PIR1,   CMIF        ;FLAG SINALIZADOR DE MUDANÇA NO COMPARADOR
  42.                                        ;ANALOGICO
  43. #DEFINE RB47HAB     INTCON, RBIE        ;HABILITA A INTERRUPÇAO POR RB4-7
  44. #DEFINE RB0HAB      INTCON, INTE        ;HABILITA A INTERRUPÇÃO POR RB0
  45. #DEFINE C2          CMCON,  C2OUT
  46. #DEFINE C1          CMCON,  C1OUT
  47.  
  48. ;************************************************************************
  49. ;*                             VARIÁVEIS                               *
  50. ;************************************************************************
  51. ;DEFINIÇÃO DO BLOCO DE VARIÁVEIS
  52.     CBLOCK 0x20                 ;ENDEREÇO INICIAL DA MÉMORIA DO USUÁRIO
  53.         CRACHA                  ;VARIÁVEL DE ARMAZENAR NUMERO DE CRACHAS
  54.         COUNT
  55.         W_TEMP
  56.         STATUS_TEMP
  57.         ESTADO
  58.         COUNTTIMER              ;VARIÁVEL PARA CONTAR ESTOUROS DO TIMER -PJ
  59.     ENDC                        ;FIM DE BLOCO DE VARIÁVEIS
  60. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  61. ;*                        FLAGS                                    *
  62. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  63. ; DEFINIÇÃO DE TODOS OS FLAGS UTILIZADOS PELO SISTEMA
  64.  
  65. #DEFINE    ZERO   STATUS,Z      ;FLAG Z DO REGISTRADOR STATUS
  66.                                ;PARA IDENFICAR SE O RESULTADO DA
  67.                                ;ULTIMA OPERAÇÃO FOI ZERO
  68.                                ;(NÃO => Z=0, SIM => Z=1 )
  69.                  
  70. ;************************************************************************
  71. ;*                              CONSTANTES                              *
  72. ;************************************************************************
  73. ;DEFINIÇÃO DAS CONSTANTES UTILIZADAS NO PROGRAMA
  74. ;BASE DE TEMPO DO TIMER SERÁ DE 10HZ. O DELAY PODE SER CALCULADO USANDO A
  75. ;EXPRESSÃO: D=((CONTMAX - N)*PRESCALER)/F;
  76. ;ONDE D= DELAY DESEJADO EM SEGUNDO, N= CONSTANTE A SER COLOCADO NO REGISTRO TIMER
  77. ;     F= FREQUENCIA DO OSCILADOR EXERNO EM HERTZ , CONTMAX = 256 PARA TMR0
  78.  
  79. CICLO_DELAY EQU     .36 ;DELAY DE 10MS PARA CLOCK INTERNO DE 48KHZ
  80.                        ; A RELAÇAO É: CICLO_TOTAL = 3*4x + 10*4
  81.                        ; LOGO PARA F = 48000, CICLO_TOTAL = 480
  82.                        ; ENTAO CICLOS_DELAY = (480-40)/12 = 36.
  83. CRACHAMAX   EQU     .2 ;NUMERO MAX DE CRACHAS ACEITOS
  84.  
  85. LIMTIMER   EQU     .15 ;NUMERO DE VEZES QUE O TIMER VAI ESTORAR PARA PASSAR 10mS -PJ
  86. ;************************************************************************
  87.  
  88.     ;PARA ESCREVER EM HEXA: 0x1F
  89.    ;PARA ESCREVER EM DECIMAL: .132
  90.    ;PARA ESCREVER EM BINÁRIO: B'10010000'
  91.  
  92. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  93. ;*                           ENTRADAS                              *
  94. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  95. ; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO ENTRADA
  96.  
  97. #DEFINE     START       PORTB,5  ;BOTÃO DE PARTIDA
  98. #DEFINE     L1          PORTB,4  ;LAÇO 1 (1: carro detectado)
  99. #DEFINE     L2          PORTB,0  ;LAÇO 2
  100. #DEFINE     SLUZ        PORTA,2  ;SENSOR DE LUMINOSIDADE
  101. #DEFINE     REFLUZ1     PORTA,0  ;REFERENCIA 1 PARA LUZ
  102. #DEFINE     REFLUZ2     PORTA,1  ;REFERENCIA 2 PARA LUZ
  103. #DEFINE     PRESENCA    PORTB,6  ;DETECTA PRESENÇA (1: SER detectado)
  104. #DEFINE     CIN         PORTB,7  ;ENTRADA DE CRACHÁ
  105.  
  106. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  107. ;*                           SAÍDAS                                *
  108. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  109. ; DEFINIÇÃO DE TODOS OS PINOS QUE SERÃO UTILIZADOS COMO SAÍDA
  110. ; RECOMENDAMOS TAMBÉM COMENTAR O SIGNIFICADO DE SEUS ESTADOS (0 E 1)
  111.  
  112. #DEFINE     RED         PORTA,7  ;LED VERMELHO
  113. #DEFINE     YELLOW      PORTB,2  ;LED AMARELO
  114. #DEFINE     GREEN       PORTB,1  ;LED VERDE
  115. #DEFINE     GATE        PORTB,3  ;ABRE E FECHA A CANCELA
  116. #DEFINE     LUZ1        PORTA,4  ;ACENDE LUZ 1
  117. #DEFINE     LUZ2        PORTA,3  ;ACENDE LUZ 2
  118.  
  119. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  120. ;*                       VETOR DE RESET                            *
  121. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  122.  
  123.     ORG 0x00            ;ENDEREÇO INICIAL DE PROCESSAMENTO
  124.     GOTO    INICIO
  125.              
  126.  
  127. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  128. ;*                       INICIO DA INTERRUPÇÃO                                      *
  129. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  130.     ORG     0x04            ;ENDEREÇO INICIAL DA INTERRUPÇÃO
  131.     MOVWF   W_TEMP          ;COPIA W PARA W_TEMP
  132.     SWAPF   STATUS,W  
  133.     MOVWF   STATUS_TEMP     ;COPIA STATUS PARA STATUS_TEMP
  134.  
  135. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  136. ;*                  ROTINA DE ATENDIMENTO DA INTERRUPÇÃO            *
  137. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  138.     BCF     GENHAB          ;DESABILITA INTERRUPÇÃO
  139.     BTFSC   TFLAG           ;OCORREU UMA INTERRUPCAO DO TIMER? -PJ
  140.     GOTO    INT_TIMER       ;SIM, VA PARA ROTINA DE ESTOURO DO TIMER -PJ
  141.     BTFSC   ANFLAG          ;NAO, OCORREU INTERRUPÇAO DO COMPARADOR ANALOGICO?
  142.     GOTO    INT_LUZ         ;SIM, VA TRATAR A ILUMINAÇAO
  143.     BTFSC   RB0FLAG         ;NAO, OCORREU UMA INTERRUPÇÃO DE RB0 (L2)?
  144.     GOTO    INT_L2          ;SIM, VA PARA ROTINA DE L2
  145.     BTFSC   RB47FLAG        ;NAO, OCORREU UMA INTERRUPCAO EM RB4-7?
  146.     GOTO    INT_RB47        ;SIM, VA PARA ROTINA DE RB4-7
  147.     GOTO    SAI_INT         ;NAO, SAI DA INTERRUPCAO
  148.  
  149. INT_L2                      ;DETECTA BORDA DE DESCIDA DO LAÇO 2
  150.     BCF     RB0FLAG         ;LIMPAR O FLAG
  151.     MOVLW   .3
  152.     XORWF   ESTADO,0
  153.     BTFSC   ZERO
  154.     GOTO    $+2
  155.     GOTO    SAI_INT
  156.     BSF     GATE            ;ENVIA SINAL DE PULSO PARA FECHAR A CANCELA
  157. ;****;ENVIANDO PULSO;****** -PJ
  158.     BCF     RB0HAB          ;DESABILITA INTERRUPÇÃO DE RB0
  159.     BCF     RB47HAB         ;DESABILITA INTERRUPÇÃO DE RB4-7
  160.     BSF     TIMHAB          ;HABILITA INTERRUPÇÃO POR TEMPO (ELE VAI DESABILITAR UMA VEZ QUE TIVER ENVIADO O PULSO)
  161. ;**************************
  162.     BCF     GATE
  163.     BCF     YELLOW
  164.     BSF     GREEN
  165.     MOVLW   .1
  166.     MOVWF   ESTADO
  167.     BCF     RB0HAB
  168.     BSF     RB47HAB
  169.     GOTO    SAI_INT        
  170.  
  171. INT_RB47
  172.     BTFSC   L1              ;L1 FOI ACIONADO?
  173.     GOTO    INT_L1          ;SIM, TRATA L1
  174.     BTFSC   START           ;NAO, START FOI ACIONADO?
  175.     GOTO    INT_START       ;SIM, TRATA START
  176.     BTFSC   CIN             ;NAO, ENTROU CRACHA?
  177.     GOTO    INT_CIN         ;SIM, TRATA CRACHA
  178.     GOTO    INT_PRESENCA    ;NAO, SO SOBROU PRESENÇA, TRATA PRESENÇA
  179.  
  180. INT_L1
  181.     BCF     RB47FLAG
  182.     MOVLW   .1
  183.     XORWF   ESTADO,0
  184.     BTFSC   ZERO
  185.     GOTO    $+2
  186.     GOTO    SAI_INT
  187.     BCF     GREEN
  188.     BSF     YELLOW
  189.     MOVLW   .2
  190.     MOVWF   ESTADO
  191. ;****;ENVIANDO PULSO;****** -PJ
  192.     BCF     RB0HAB          ;DESABILITA INTERRUPÇÃO DE RB0
  193.     BCF     RB47HAB         ;DESABILITA INTERRUPÇÃO DE RB4-7
  194.     BSF     TIMHAB          ;HABILITA INTERRUPÇÃO POR TEMPO (ELE VAI DESABILITAR UMA VEZ QUE TIVER ENVIADO O PULSO)
  195. ;**************************
  196.     BCF     RB0HAB
  197.     BSF     RB47HAB
  198.     GOTO    SAI_INT
  199.  
  200. INT_START
  201.     BCF     RB47FLAG
  202.     MOVLW   .1
  203.     MOVWF   ESTADO
  204.     BSF     GREEN
  205.     BCF     RB0HAB
  206.     BSF     RB47HAB
  207.     GOTO    SAI_INT
  208.  
  209. INT_CIN
  210.     BCF     RB47FLAG
  211.     MOVLW   .2
  212.     XORWF   ESTADO,0
  213.     BTFSC   ZERO
  214.     GOTO    $+2
  215.     GOTO    SAI_INT
  216.     DECF    CRACHA
  217.     BSF     GATE
  218.     CALL    SET_DELAY10
  219.     BCF     GATE
  220.     MOVLW   .3
  221.     MOVWF   ESTADO
  222.     BSF     RB0HAB
  223.     BCF     RB47HAB
  224.     GOTO    SAI_INT
  225.  
  226. INT_PRESENCA
  227.     BCF     RB47FLAG
  228.     BTFSS   PRESENCA
  229.     GOTO    APAGA_LUZ
  230.     GOTO    SAI_INT
  231.  
  232. APAGA_LUZ
  233.     BCF     LUZ1
  234.     BCF     LUZ2
  235.     GOTO    SAI_INT
  236.  
  237. INT_LUZ
  238.     BCF     ANFLAG
  239.     BTFSC   C2              ;Vin > Vref2?
  240.     GOTO    LUZ_ACESA       ;SIM? ACENDE TUDO
  241.     BTFSC   C1              ;NAO? VIN > Vref1?
  242.     GOTO    MEIA_LUZ        ;SIM? ACENDE METADE
  243.     GOTO    APAGA_LUZ       ;NAO? APAGA LUZ
  244.    
  245. LUZ_ACESA
  246.     BSF LUZ1
  247.     BSF LUZ2
  248.     GOTO SAI_INT
  249.  
  250. MEIA_LUZ
  251.     BSF LUZ1
  252.     BCF LUZ2
  253.     GOTO SAI_INT
  254.  
  255. INT_TIMER ;-PJ
  256.     XORWF  COUNTTIMER,0     ;VERIFICA SE O CONTADOR ESTÁ EM ZERO
  257.     BTFSC  ZERO             ;VERIFICA O FLAG ZERO NA SAÍDA
  258.     GOTO   REINICIATIMER    ;VAI PARA REINICIAR O DELAY
  259.     DECFSZ COUNTTIMER       ;NÃO? DECREMENTA O CONTADOR DO TEMPO
  260.     GOTO  SAI_INT
  261.  
  262. REINICIATIMER ;-PJ
  263.     BCF  TIMHAB             ;DESABILITA INTERRUPÇÃO POR TIMER.
  264.     MOVLW LIMTIMER          ;REINICIA O VALOR DO CONTADOR
  265.     MOVWF COUNTTIMER        ;REINICIA O VALOR DO CONTADOR
  266.     GOTO SAI_INT            ;SAI DA INTERRUPÇÃO
  267.  
  268. ;*************************************************************************
  269. ;*                          SAÍDA DA INTERRUPÇÃO                      *
  270. ;*************************************************************************
  271. SAI_INT
  272.     SWAPF   STATUS_TEMP,W
  273.     MOVWF   STATUS      ;MOVE STATUS_TEMP PARA STATUS
  274.     SWAPF   W_TEMP,W    ;MOVE W_TEMP PARA W
  275.     RETFIE
  276. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  277. ;*    DEFINIÇÃO DE ROTINAS E SUB-ROTINAS:                         *
  278. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  279. ;LIMPA_TUDO             ;CONDIÇÕES INICIAIS
  280. ;   CLRF    CONTADOR    ;ZERAR CONTADOR DE NUMERO DE CICLOS DE ATIVAÇÃO
  281. ;    CLRF    PORTA      ;ZERAR PORTA A
  282. ;   CLRF    PORTB       ;ZERAR PORTA B
  283. ;   RETURN
  284. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  285. ;DELAY                      ;ROTINA DE 1 SEGUNDOS
  286. ;   CLRF    TMR0            ;
  287. ;   BCF     TFLAG           ;LIMPA O FLAG DE ESTOURO DE CONTAGEM DO TMR0
  288. ;   MOVLW   DELAY_1S        ;MOVE O VALOR DE DELAY DE 1 SEG PARA W
  289. ;   MOVWF   TMR0            ;MOVE O VALOR DE DELAY DE 1 SEG PARA TMR0
  290. ;DELAY1
  291. ;   BTFSS   TFLAG           ;A CONTAGEM DE 1 SEGUNDO TERMINOU?
  292. ;   GOTO    DELAY1          ;NÃO, VOLTA PARA TESTAR
  293. ;   RETURN
  294. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  295.  
  296. SET_DELAY10         ;SETA O DELAY
  297.                    ;A ROTINA LEVA 6 CICLOS PARA CHEGAR NO DECREMENTAL
  298.                    ;O DECREMENTAL (DELAY10) LEVA 3 CICLOS POR DECREMENTO
  299.                    ;(EM MEDIA, CONSIDERANDO O CICLO DE RETURN NO FINAL)
  300.                    ;LEVA 3 CICLO PRA VOLTAR AO PROGRAMA PRINCIPAL
  301.                    ;DEPOIS QUE ELE VOLTA PRO PROGRAMA, AINDA TEM UM CICLO
  302.                    ;PRA DESLIGAR O BIT. LOGO SAO 4 CICLOS NO TOTAL.
  303.     MOVLW   CICLO_DELAY
  304.     MOVWF   COUNT
  305.     CALL    DELAY10
  306.     RETURN
  307.  
  308. DELAY10
  309.     DECFSZ  COUNT
  310.     GOTO    $-1
  311.     RETURN
  312.  
  313.  
  314.  
  315.  
  316. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  317. ;*                     INICIO DO PROGRAMA                          *
  318. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  319.    
  320. INICIO
  321.     BANK1                    ;ALTERA PARA O BANCO 1
  322.     MOVLW   B'00100111'      ;IN: RA0,RA1,RA2,RA5 / OUT: RA3,RA4,RA6,RA7
  323.     MOVWF   TRISA            ;CONFIGURA ENTRADAS E SAÍDAS DA PORTA A
  324.     MOVLW   B'11110001'      ;IN:RB0,RB4,RB5,RB6,RB7 / OUT:RB1,RB3
  325.     MOVWF   TRISB            ;CONFIGURA ENTRADAS E SAÍDAS DA PORTA B
  326.     MOVLW   B'10000100'      ;PULL-UPS DESABILITADOS E PRESCALER NO TMR0 DIVDINDO A FREQUENCIA PARA 1500HZ -PJ 
  327.     MOVWF   OPTION_REG       ;DEFINE OPÇÕES DE OPERAÇÃO
  328.     MOVLW   B'00000000'     ;UTILIZAR CRISTAL INTERNO DE 48KHz
  329.     MOVWF   PCON
  330.     MOVLW   B'01000000'     ;ATIVAR INTERRUPÇAO DO COMPARADOR ANALOGICO  
  331.     MOVWF   PIE1  
  332.     BANK0                   ;ALTERA PARA O BANCO 0
  333.     MOVLW   B'00000011'     ;ENTRADAS ANALOGICAS NA CONFIGURAÇAO DESEJADA
  334.     MOVWF   CMCON          
  335.     MOVLW   B'11011000'
  336.     MOVWF   INTCON          ;DEFINE OPÇÕES DE INTERRUPÇÃO
  337.  
  338.  
  339. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  340. ;*                     ROTINA PRINCIPAL                            *
  341. ;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  342.  
  343. MAIN
  344.     MOVLW   .0
  345.     MOVWF   ESTADO
  346.     BCF     RB0HAB
  347.     BCF     RED
  348.     BCF     YELLOW
  349.     BCF     GREEN
  350.     BCF     GATE
  351.     BSF     LUZ1
  352.     BCF     LUZ2
  353.     MOVLW   CRACHAMAX       ;SETAR O VALOR MAXIMO DE CRACHAS PERMITIDO
  354.     MOVWF   CRACHA
  355.     BSF     GENHAB
  356.     GOTO    TESTAR_PARTIDA
  357.      
  358. TESTAR_PARTIDA
  359.     SLEEP
  360.     MOVLW   .1              ;VERIFICA SE A INTERRUPÇÃO QUE ACORDOU FOI O START
  361.     XORWF   ESTADO,0
  362.     BTFSC   ZERO
  363.     GOTO    STANDBY         ;SE SIM, VAI PARA STANDBY
  364.     GOTO    TESTAR_PARTIDA  ;SE NAO, ESPERA A PARTIDA NOVAMENTE
  365.  
  366. STANDBY                     ;AQUI SE STÁ SEMPRE TESTANDO A LOTAÇAO DE CRACHAS:
  367.     SLEEP
  368.     MOVLW   B'00000000'     ;OPERAÇAO XOR COM O BYTE 0
  369.     XORWF   CRACHA,0
  370.     BTFSC   ZERO            ;TESTA O FLAG ZERO DA SAIDA
  371.     GOTO    CRACHAFULL      ;CASO ESTEJA ACIONADO, O TOTEM ESTA CHEIO DE CRACHAS
  372.     GOTO    STANDBY         ;CASO CONTRARIO, AGUARDAR CARRO SE APROXIMAR
  373.  
  374. CRACHAFULL                  ;NAO CABE MAIS CRACHA NO TOTEM
  375.     BCF     GENHAB
  376.     BCF     GREEN           ;DESLIGAR LUZ VERDE
  377.     BSF     RED             ;LIGAR LUZ VERMELHA
  378.     GOTO    CRACHAFULL      ;AGUARDA O OPERADOR DAR RESET
  379.  
  380. ;STANDBY                     ;TESTA PRIMEIRO LAÇO MAGNETICO
  381.    
  382. ;   BSF     GREEN;
  383. ;   BCF     RED;
  384. ;   BCF     YELLOW;
  385.  
  386. ;   SLEEP                   ;L1 ACORDA
  387. ;   NOP
  388. ;    SLEEP                   ;CIN ACORDA
  389. ;    NOP
  390. ;    SLEEP                   ;QUEDA DE L2 ACORDA
  391. ;    NOP
  392. ;    GOTO    TESTAR_CRACHA
  393.  
  394.     END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement