Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

04/12/2010 #1


como apago RB0 cuando RB3 Encientada el el Pic16f84a ????
mi problema es el siguiente.

tengo 4 entradas con swich en cada una de RA0 - RA3
y 4 salidas con 4 diodos led en cada una de RB0 - RB3

lo que quiero es:

1- RA0 = 1 ENTOCES RB0= 1
2- RA1 = 1 ENTOCES RB1= 1
3- RA2 = 1 ENTOCES RB2= 1
4- RA3 = 1 ENTOCES RB3= 1 Y RB0 = 0
5- RA3 = 0 ENTOCES RB3= 0 Y RB0 = 0
6- RA2 = 0 ENTOCES RB3= 0 Y RB0 = 1

FORMA DESENDENTE:

en otro palabras cuando cierro sw0 encienda led0, sw1 enciende le1, sw2 endienda le2, sw3 encenda le3 y apague led0. ENTOCES cuando sw3 abra led3 apague y le0 continue apagado, sw2 abra led2 apage y led0 encienda.

y que se repita esta rutina sw2 endienda le2, sw3 encenda le3 y apague led0. ENTOCES cuando sw3 abra led3 apague y le0 continue apagado, sw2 abra led2 apage y led0 encienda.

anexo una imagen del circuito para ilustrarlo

http://www.uploadfilesystem.com//vie...4/W2C82426.jpg
06/12/2010 #2

Avatar de Meta

;*********************************** Elemental_01.asm ***********************************
;
; ================================================== =================
; Del libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS"
; E. Palacios, F. Remiro y L. López. www.pic16f84a.com
; Editorial Ra-Ma. www.ra-ma.es
; ================================================== =================
;
; Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A, al que está conectado
; un array de interruptores, sumándole el valor de una constante, por ejemplo 74.
; Es decir: (PORTB)=(PORTA)+CONSTANTE

; ZONA DE DATOS ************************************************** *******************

LIST P=16F84A ; Procesador utilizado.
INCLUDE <P16F84A.INC> ; Definición de algunos operandos utilizados.
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

CONSTANTE EQU d'74' ; En sistema decimal se pone así.

; ZONA DE CÓDIGOS ************************************************** *****************

ORG 0 ; El programa comienza en la dirección 0.
Inicio
bsf STATUS,RP0 ; Pone a 1 el bit 5 del STATUS. Acceso al Banco 1.
clrf TRISB ; Las líneas del Puerto B configuradas como salidas.
movlw b'00011111' ; Las 5 líneas del Puerto A configuradas como entradas.
movwf TRISA
bcf STATUS,RP0 ; Pone a 0 el bit 5 de STATUS. Acceso al Banco 0.
Principal
movf PORTA,W ; Carga el registro de datos del Puerto A en (W).
addlw CONSTANTE ; (W) = (PORTA) + CONSTANTE.
movwf PORTB ; El contenido de W se deposita en el puerto de salida.
goto Principal ; Crea un bucle cerrado e infinito.

END ; Fin del programa.
06/12/2010 #3


no me funciona no lleva la secuencias de los swch, ni hace lo que yo describi pero gracias por tu ayuda espero que verifique un poco mas...

gracias...
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.