Semaforo PIC16F887

Páginas: 2 (276 palabras) Publicado: 9 de diciembre de 2013
#INCLUDE "P16F887.INC"
__CONFIG _CONFIG1, _CP_OFF & _DEBUG_OFF & _CPD_OFF & _LVP_OFF & _BOR_OFF &_MCLRE_ON & _PWRTE_ON & _WDT_OFF & _XT_OSC ;_EXTRC_IO
__CONFIG _CONFIG2, _IESO_OFF &_FCMEN_ON

PDel0 EQU 0X20
PDel1 EQU 0X21
PDel2 EQU 0X22
PDel3 EQU 0X23
PDel4 EQU 0X24
PDel5 EQU 0X25
BKSEMA EQU 0X26

BANKSEL ANSEL
CLRF ANSEL
CLRF ANSELH

BANKSEL TRISCMOVLW B'11111000' ; ceros salidas, unos entradas
MOVWF TRISC

BANKSEL TMR1L
A
BSF PORTC,0
BCF PORTC,1
BCF PORTC,2
CALL DEMORA2
VUELTA
BSF PORTC,1BCF PORTC,0
BCF PORTC,2
CALL DEMORA2
BSF PORTC,2;
BCF PORTC,0
BCF PORTC,1
CALL DEMORA2
GOTO A

;Demora de 3 segundos
DEMORA movlw .67 ; 1 setnumero de repeticion (C)
movwf PDel0 ; 1 |
PLoop0 movlw .91 ; 1 set numero de repeticion (B)
movwf PDel1 ; 1 |
PLoop1 movlw .122 ; 1 setnumero de repeticion (A)
movwf PDel2 ; 1 |
PLoop2 clrwdt ; 1 clear watchdog
decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)
goto PLoop2 ; 2no, loop
decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B)
goto PLoop1 ; 2 no, loop
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C)
goto PLoop0; 2 no, loop
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.;-------------------------------------------------------------
;Demora de 7 segundos
DEMORA2 movlw .47 ; 1 set numero de repeticion (C)
movwf PDel3 ; 1 |
PLoop3 movlw .189 ; 1 set numero de repeticion (B)movwf PDel4 ; 1 |
PLoop4 movlw .196 ; 1 set numero de repeticion (A)
movwf PDel5 ; 1 |
PLoop5 clrwdt ; 1 clear watchdog
decfsz...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Semaforo
  • semaforo
  • SEMAFORO
  • Semáforo
  • Semaforo
  • Los Semaforos
  • semaforo
  • Semaforos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS