16F887 Rotación Led

Páginas: 3 (745 palabras) Publicado: 26 de septiembre de 2012
Programa que enciende un solo led de 8 colocados en el puerto B comenzando con el led en el pin RB7 y rotando el encendido hacia la derecha hasta llegar al led en el pin RB0 y rotándolo nuevamentehacia la izquierda. Con cuatro distintas velocidades de rotación que dependen de pulsos externos que el usuario envía hacia los pines RD5-RD7, siendo RD7 la velocidad más baja. Si no se envía pulsoalguno rota con velocidad predeterminada (más alta).

LIST P=16F887
INCLUDE

__CONFIG _CONFIG1, _INTOSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF & _CPD_OFF & _BOR_OFF & _IESO_ON &_FCMEN_ON & _LVP_OFF
__CONFIG _CONFIG2, _WRT_OFF & _BOR40V

REGISTRO0 EQU 0x20
REGISTRO1 EQU 0x21
REGISTRO2 EQU 0X22
REGISTRO3 EQU 0x23

ORG 0
GOTO INICIO
ORG 4;CONFIGURACIÓN DE LOS PUERTOS

INICIO: BANKSEL TRISA ;TRABAJAR EN BANK1
MOVLW 0xFF ;COLOCAR VALOR EN EL REGISTRO W
MOVWF TRISD ;PUERTO D COMO ENTRADA
CLRF TRISB ;PUERTO B COMO SALIDABANKSEL ANSEL ;TRABAJAR EN BANK3
CLRF ANSEL ;ENTRADA Y SALIDA DIGITAL
CLRF ANSELH ;ENTRADA Y SALIDA DIGITAL
BANKSEL CM1CON0 ;TRABAJAR EN BANK2
BCF CM1CON0,7 ;COMPARADOR C1DESHABILITADO
BCF CM2CON0,7 ;COMPARADOR C2 DESHABILITADO
;COMIENZA EL PROGRAMA PARA ROTAR EL VALOR QUE ENCIENDE CADA LED

BANKSEL PORTA ;TRABAJAR EN BANK0
CLRF PORTB ;LIMPIAR PUERTO B (APAGARLEDS)
MOVLW B'10000000' ;COLOCAR VALOR EN EL REGISTRO W
MOVWF PORTB ;ENCENDER LED EN PIN RB7
ROTR: CALL RETARDO ;LLAMAR RUTINA "RETARDO"
RRF PORTB,1 ;ROTAR VALOR (ENCENDIDO)A LADERECHA
BTFSS PORTB,0 ;REVISAR SI EL VALOR HA LLEGADO A RB0
GOTO ROTR ;SI NO HA LLEGADO A RB0 ROTAR A LA DERECHA
ROTL: CALL RETARDO ;SI HA LLEGADO A RB0 LLAMAR RUTINA "RETARDO"
RLFPORTB,1 ;ROTAR VALOR A LA IZQUIERDA
BTFSS PORTB,7 ;REVISAR SI EL VALOR HA LLEGADO A RB7
GOTO ROTL ;SI NO HA LLEGADO A RB7 ROTAR A LA IZQUIERDA
GOTO ROTR ;SI HA LLEGADO A RB7 ROTAR A LA...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Led intermitente pic 16f887
  • ¿Qué es un led?
  • que es un led
  • LED
  • Led
  • Que Son Los Led
  • rotacion
  • rotacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS