Elevador con PIC16F84A

Páginas: 10 (2270 palabras) Publicado: 4 de noviembre de 2014
; PIC16F84A Configuration Bit Settings

; ASM source line config statements

#include "p16F84A.inc"

; CONFIG
; __config 0xFFF1
__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_ON & _CP_OFF

LIST P=16f84a ;Procesador utilizado.
RADIX hex ;trabajo en numeracion hexadecimal

status equ 0x03
trisa equ 0x05
porta equ 0x05
trisb equ 0x06
portb equ 0x06reg1 equ 0x0c
reg2 equ 0x0d
reg3 equ 0x0e
reg4 equ 0x0f

reset org 0x00 ;El programa comienza en la dirección 0.
goto inicio ;pasa a la posicion de inicio para evitar la int.
;que se encuentra en la posicion 4


inicio bsf status,5 ;Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.

movlwb'11001' ;3 entradas y dos salida del puerto a.
movwf trisa
movlw b'11111111' ;el puerto b esta como entradas
movwf trisb
bcf status,5 ;Acceso al Banco 0.


bcf porta,1 ;paro el motor hacia abajo
bcf porta,2 ;paro el motor hacia arriba

principio nop

call pulsadores ;compueba si hay algun pulsador dado, asicomo la posicion
;de la cabina

cs call coincide ;aqui para el motor si la cabina coincide con la llamada y
;espera 5 seg chequeando los pulsadores
call subida ;comprueba todas las combinaciones posibles para activar el
;motor en direccion ascendente
call pulsadores

btfsc porta,2 ;si el motor esta subiendo, ejecuta lasiguiente instruccion
goto cs
cb call coincide
call bajada ;comprueba todas las combinaciones posibles para activar el
;motor en direccion descendente
call pulsadores
btfsc porta,1 ;si el motor esta bajando, ejecuta la siguiente instruccion
goto cb

goto principio

subida nop

sube2 btfsc portb,1 ;si esta activada la llamada2 salta la siguientelinea
goto sube3 ;comprueba sube3

btfss portb,4 ;si la cabina esta en la 1ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

sube3 btfsc portb,0 ;si esta activada la llamada3 salta la siguiente linea
goto sube4 ;comprueba sube4

btfss portb,4 ;si la cabina esta en la 1ªplanta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

btfss portb,5 ;si la cabina esta en la 2ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

sube4 btfsc porta,4 ;si esta activada la llamada4 salta la siguiente linea
goto sube5 ;comprueba sube5btfss portb,4 ;si la cabina esta en la 1ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

btfss portb,5 ;si la cabina esta en la 2ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

btfss portb,6 ;si la cabina esta en la 3ª planta ejecuta la;siguiente linea
bsf porta,2 ;activa la subida

sube5 btfsc porta,3 ;si esta activada la llamada5 salta la siguiente linea
goto subefin ;va al final de esta rutina

btfss portb,4 ;si la cabina esta en la 1ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subidabtfss portb,5 ;si la cabina esta en la 2ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

btfss portb,6 ;si la cabina esta en la 3ª planta ejecuta la
;siguiente linea
bsf porta,2 ;activa la subida

btfss portb,7 ;si la cabina esta en la 4ª planta ejecuta la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Pic16F84A
  • Pic16f84a
  • Pic16F84
  • Pic16F84A
  • Pic16f84a
  • Pic16F84A
  • Pic16f84a
  • elevadores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS