Autor
|
Tema: Programa de leds en ensamblador (MPLAB) con PIC16F84A (Leído 16,972 veces)
|
Magiiq
Desconectado
Mensajes: 13
Magiiq!C:
|
Hola Comunidad! Me podrian ayudar con este programita, la verdad es que no se mucho de este lenguaje,lo que se tiene que hacer es lo siguiente:
1.- Ultilice RAX como pipn de control y como salida PORTB (RB0 - RB7) de modo que:
a) Si el bit 0 del PORTA = 1, Se encienden todos los bits del nibble alto (de RB4 a RB7)
b) Si el bit 0 del PORTA = 0, se encienden todos los bits del nibble bajo (de RB0 a RB3)
por favor espero puedan ayudarme, de antemano GRACIAS! C:
|
|
|
En línea
|
|
|
|
|
Magiiq
Desconectado
Mensajes: 13
Magiiq!C:
|
Gracias Mr.Blood ! la verdad casi no le entiendo, y no supe que modificar xD mira el maestro nos dio este!
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE <P16F84A.INC>
Numero EQU d'13'
ORG 0 ; El programa comienza en la direccion 0. Inicio bsf STATUS,RP0 ; Acceso al banco 1. clrf TRISB ; Las lineas del puerto B se configuran como salida. movlw b'00011111' ; Las 5 lineas del puerto A se configuran como entrada. movwf TRISA bcf STATUS,RP0 ; Acceso al banco 0. Principal movlw Numero ; Carga el numero a comparar. subwf PORTA,W ; (PORTA) - Numero --> (W) movlw b'11110000' ; Supone (PORTA) es menor. btfss STATUS,C ; ¿C=1?, ¿(W) positivo?, ¿(PORTA) >= Numero?. goto ActivaSalida ; No. C=0, por tanto (PORTA) < Numero. movlw b'11111111' ; Supone que son iguales. btfsc STATUS,Z ; ¿Z=0?, ¿son distintos?. goto ActivaSalida ; No. Son iguales ya que z = 1, movlw b'01010101' ; Si, por tanto (PORTA) > Numero. ActivaSalida movwf PORTB ; Resultado se visualiza por el puerto de salida. goto Principal ; Crea un bucle cerrado e infinito. END
& lo que yo hice fue modificar solo los ActivaSalida!
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC LIST P=16F84A INCLUDE <P16F84A.INC>
Numero EQU d'13'
ORG 0 ; El programa comienza en la direccion 0. Inicio bsf STATUS,RP0 ; Acceso al banco 1. clrf TRISB ; Las lineas del puerto B se configuran como salida. movlw b'00011111' ; Las 5 lineas del puerto A se configuran como entrada. movwf TRISA bcf STATUS,RP0 ; Acceso al banco 0. Principal movlw Numero ; Carga el numero a comparar. subwf PORTA,W ; (PORTA) - Numero --> (W) movlw b'11110000' ; Supone (PORTA) es menor. btfss STATUS,C ; ¿C=1?, ¿(W) positivo?, ¿(PORTA) >= Numero?. goto ActivaSalida ; No. C=0, por tanto (PORTA) < Numero. movlw b'11110000' ; Supone que son iguales. btfsc STATUS,Z ; ¿Z=0?, ¿son distintos?. goto ActivaSalida ; No. Son iguales ya que z = 1, movlw b'00001111' ; Si, por tanto (PORTA) > Numero. ActivaSalida movwf PORTB ; Resultado se visualiza por el puerto de salida. goto Principal ; Crea un bucle cerrado e infinito. END
esta bien ??? jaja es que de plano estoy en ceros en esto ! :SS
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Pasar programa C a ensamblador
« 1 2 3 »
Programación General
|
dreams88
|
21
|
36,557
|
14 Septiembre 2016, 15:00 pm
por elig
|
|
|
programa de PIC con MPLAB
Ejercicios
|
fumi
|
0
|
5,447
|
16 Junio 2010, 05:07 am
por fumi
|
|
|
flujo programa ensamblador
Ingeniería Inversa
|
fumioli
|
4
|
3,510
|
7 Abril 2013, 19:21 pm
por fumioli
|
|
|
Ayuda con programa en MPLAB
Ejercicios
|
Alexsia
|
1
|
2,975
|
14 Febrero 2015, 17:45 pm
por engel lex
|
|
|
Ayuda PIC16F84A en lenguaje C mplab
Programación C/C++
|
SamuraiAlf
|
2
|
2,720
|
2 Febrero 2016, 20:47 pm
por Eternal Idol
|
|