Autor Tema: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A  (Leído 671390 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado purevideo

  • PIC10
  • *
  • Mensajes: 1
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #150 en: 18 de Enero de 2015, 18:57:53 »
Hola buenas tardes, antes que nada me gustaría decir que el post es muy interesante y me ha enseñado bastantes cosas. Feilicito al autor del post por tratar de ayudar a los que apenas estamos empezando. Dicho esto, me gustaría ver si alguien me alcara una pequeña duda que tengo, verán, decidiendo ir un poco más allá en el programa del contador se me ocurrió que además de que cuente de forma ascendente también lo haga de forma descendente, en un principio no creí que fuera tan difícil y en realidad hacer el conteo regresivo no es el problema.

El programa tiene dos botones, uno que suma y otro que resta una unidad a la variable Contador, después se suma el valor a PCL y retrona el valor del número a mostrar con un RETLW, vamos que es el mismo que está en el post. El problema que tengo es que no logro conseguir que al presionar el botón "restar" cuando contador es 0 se resté 1 y se convierta en 0xFF y el programa deja de funcionar (al menos en proteus).  He buscado por la red ejemplos para poder ver en que me equivoco y no he encontrado nada, por eso vengo aquí a ver si alguien me puede ayudar.

Este es el pedazo de código que se encarga de restar una unidad a contador:
Código: [Seleccionar]
[center].[/center]
[center].[/center]
[center].[/center]
INICIO ;Aquí inicia el programa principal
    BTFSC   PORTC,BOTONME; Como utilizo resistencia pull-up el micro recibe 1s y cuando se presiona boton hay un 0
    GOTO    MAS ; Si un 1 (no se presiona boton) entonces voy a la "función" MAS
    CALL    DEMORA_19MS ;retardo anti rebote
    BTFSC   PORTC,BOTONME
    GOTO    INICIO
    GOTO    ESCERO ; Aquí intento saber si en la variable contador hay un cero
MAS
    BTFSC   PORTC,BOTONMA
    GOTO    INICIO
    CALL    DEMORA_19MS
    BTFSC   PORTC,BOTONMA
    GOTO    INICIO
    GOTO    SUMAR
ESCERO
    MOVLW   CONTADOR ; Aquí cargo contador en W (Ej. 1)
    IORWF   0x00,0 ; Aquí hago un OR entre Wy F para saber si hay un 0 en el resultado y que active el BIT Z (en proteus nunca se activa el bit Z, también intenté DECF y nunca me marcó el BIT Z)
    BTFSC   STATUS,Z ; Si hay un 0 en el bit Z significa que no hay un cero, por lo que puedo restar normalmente; si hay un 1 significa que estoy en 0 y si resto me voy a -1
    GOTO    INICIO
RESTAR
    DECF    CONTADOR,1 ;Resto una unidad al contador
    MOVF    CONTADOR,0 ; La muevo a F
    CALL    BCD ;LLamo BCD para mostrar numero
    MOVWF   PORTB
[center].[/center]
[center].[/center]
[center].[/center]

No pongo todo el código porque es el mismo que el publicado así que solo pongo lo que agregué. Un saludo y si me equivoqué en algo tan simple, lo siento pero apenas aprendo xD.

Un saludo!

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #151 en: 20 de Enero de 2015, 06:09:39 »
Bienvenido al foro Purevideo.

Deberias abrir un hilo nuevo con tu consulta en vez de seguir aqui.

Citar
El problema que tengo es que no logro conseguir que al presionar el botón "restar" cuando contador es 0 se resté 1 y se convierta en 0xFF y el programa deja de funcionar (al menos en proteus). 

Seguramente al restar 1 y darte como resultado 0XFF al ir a las tablas se te desbordan y se pierde el programa. Debes de poner como condicion que si es 0 NO reste, pasara a un numero inferior el que este a su izquierda y ese 0 pasara a ser 9.

Desconectado milnac

  • PIC10
  • *
  • Mensajes: 2
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #152 en: 11 de Julio de 2015, 15:02:51 »
Citar
Reset   org   0x00   ; Aqui comienza el micro.-
   goto   Inicio   ; Salto a inicio de mi programa.-
   org   0x05   ; Origen del codigo de programa.-
Inicio

Hola Suky.
Cual es la funcionalidad de "org 0x05" si siempre va a estar saltando hasta "goto Inicio ". Veo que nunca va a tener una secuencia que incluya a "org 0x05" (Del ejemplo 1 de este tutorial).


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #153 en: 11 de Julio de 2015, 16:24:08 »
Bueno no es necesario suky para responderlo, esta para evitar que si por error se ejecuta una interrupcion, no produsca un comportamiento raro al no tener alguna instruccion.

Suponete

Código: ASM
  1. ORG 0x00
  2.    GOTO Inicio     ;0x00
  3. Inicio
  4.    MOVLW 0x0F   ; 0x01
  5.    MOVWF PORTB ; 0x02
  6.    MOVLW 0x10   ; 0x03
  7.    MOVWF PORTA ; 0x04
  8. ; Resto del programa.

Entonces si por equivocacion del usuario activa la interrupcion, la primer instruccion que va a ejecutar es "MOVWF PORTA" y realmente no tenes idea de lo que hay en W en ese momento.
Por eso mismo yo siempre defino los vectores de interrupcion, por mas que no lo utilize, quedando:

Código: ASM
  1. ORG 0x00
  2.    GOTO Inicio
  3.    ORG 0x04
  4.    GOTO Inicio
  5.  
  6. ; Aca Todo mi programa

Y me aseguro que nada incorrecto pueda pasar. Es una costumbre, y no afecta a nadie.

« Última modificación: 11 de Julio de 2015, 17:44:25 por KILLERJC »

Desconectado SimonReed

  • PIC10
  • *
  • Mensajes: 1
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #154 en: 27 de Agosto de 2015, 15:41:01 »
Estimados amigos de todopic. Es primera vez que ingreso, he leido bastante en este foro y por lo cuál agradezco el que compartan con los que somos iniciantes en este maravilloso mundo de los PIC. Muchas Gracias.
Permítanme preguntar algo básico, por favor.

Estoy estudiando recien las interrupciones del 16f84, y he creado un rutina pequeña para probar dos de las 4 interrupciones de este PIC. Hay un fenómeno que no he podido dilucidar. Estoy probando la Interrupción RBIE (por activación de RB7:RB4) y cuando se debe, el programa no borra el flag INTCON,0 por programa (bcf intcon,0) cuando lo simulo no hace nada. Luego al pasar por RETFIE, tampoco pone a 1 GIE  (intcon,7). He usado MPLAB v7.2 y 7.4 y pasa lo mismo.

He usado la misma rutina para probar la Interr. INTE y funciona ok.   ¿¿¿???

Adjunto mi humilde código, a ver si alguien me da una mano.  Muchas Gracias

;Prueba dos tipos de interrupciones: cambio en RB7:RB4 ; int.externa RB0/INT
;Se ha puesto un led en A0 para verificar la interr. por in en RB7:RB4 y
;se ha puesto un led en A1 para verificar la interr. por in en RB0/INT

   list   p=16f84a
   #INCLUDE P16F84A.INC
   radix   hex
   radix   dec
;line8
porta   equ 0x05
portb   equ   0x06
trisa   equ 0x85
trisb   equ 0x86      
status   equ   0x03
optio   equ   0x81
intcon   equ 0x0b
tmr0   equ 0x01
saveW   equ 0x0c
saveSTATUS   equ 0x0d

#DEFINE   banco0   bcf   status,5
#DEFINE   banco1   bsf status,5
;---------------------------------------------------------------------
   org      0x000
   goto    ini
   org       0x04      ; Vector de interrupcion
   goto   inter      
; Inicio de programa
; -------------------- Definiciones --------------------------------
ini
   banco1            ; banco1
   movlw   b'11111111'   ; Puerta b entradas
   movwf   trisb
   movlw   b'00000000'   ; Puerta a salidas
   movwf   trisa      
   movlw   b'01000000'
   movwf   optio         
   movlw   b'10001000'   ; intcon: GIE=1, y RBIE=1  solo interr. gral y la interr. por puertas RB7:RB4   
   movwf   intcon   
   banco0            ; banco0
;   clrf   porta


;Programa Principal
;----------------------------------------------------------------------
dormir   
   nop
   nop
   goto   dormir

;Rutina Servicio Interrupciones
;----------------------------------------------------------------------
inter
   movwf   saveW      ;Guarda W y STATUS, como se recomienda
   swapf   status,0   ;Guarda W y STATUS, como se recomienda
   movwf   saveSTATUS   ;Guarda W y STATUS, como se recomienda
   
   btfsc   intcon,0   ;salta si el flag RBIF de INTCON es 0, si es 1 sigue
   goto   led0      ;(Se ha provocado un Stimulus sobre RB7. Es un high pulse de 2 cycles)
;   btfsc   intcon,1   ;salta si el flag INTF (RB0/INT) es 0, si es 1 sigue
;   goto   led1
;   btfsc   intcon,2   ;salta si el flag TOIF (TMR0) es 0, si es 1 sigue.
;   call    led2
   bsf      porta,0
   swapf   saveSTATUS,0
   movwf   status
   swapf   saveW,1
   swapf   saveW,0
    bcf      intcon,0
   retfie

;Subrutinas de Interrupción
;----------------------------------------------------------------------
led0
   btfsc   porta,0      ;se verifica si led en puerta A0 está encendido
   goto    led0_off   ;se apaga si está encendido
   bsf      porta,0
   swapf   saveSTATUS,0   ;Se recuperan los registros W y STATUS
   movwf   status         ;Se recuperan los registros W y STATUS
   swapf   saveW,1         ;Se recuperan los registros W y STATUS
   swapf   saveW,0         ;Se recuperan los registros W y STATUS
   bcf      intcon,0      ;SE PIDE BORRAR EL FLAG DE LA INTERR., PERO NO FUNCA EN LA SIMULACIÓN MPLAB V.7.2, V7.4
   retfie               ;SE SALE DE LA INTERR, Y GIE DE INTCON NO VUELVE A 1, SE QUEDA EN 0.
led0_off
   bcf      porta,0
   swapf   saveSTATUS,0
   movwf   status
   swapf   saveW,1
   swapf   saveW,0
;   movlw   b'10001000'
;   movwf   intcon
   bcf      intcon,0
   retfie


led1
;   btfsc   porta,1
;   goto    led1_off
;   bsf      porta,1
;   bcf      intcon,1
;   retfie
led1_off
;   bcf      porta,1
;   bcf      intcon,1
;   retfie
end

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #155 en: 27 de Agosto de 2015, 17:52:26 »
Bueno varias cosas sobre tu programa, todavia no concernientes a tu problema:

Código: ASM
  1. radix   hex
  2.    radix   dec

No tiene sentido repetir el radix, el radix hace que lo que tome sea decimal/hexa o lo que sea.

Código: ASM
  1. radix hex
  2. MOVLW 10
  3. ; W = 32 decimal = 10 hexa
  4.  
  5. radix dec
  6. MOVLW 10
  7. ; W= 10 decima = A hexa

Todo esto:

Código: ASM
  1. porta   equ 0x05
  2. portb   equ   0x06
  3. trisa   equ 0x85
  4. trisb   equ 0x86      
  5. status   equ   0x03
  6. optio   equ   0x81
  7. intcon   equ 0x0b
  8. tmr0   equ 0x01

Es redundante, ya esta definido en el P16F84A.INC. lo unico que esta hecho en mayusculas MOVWF TRISA y tienen los mismos nombres que en el DATASHEET, al igual que los bits ejemplo INTCON,T0IF es mas facil de recordar que un INTCON,2

Algo que tal ves no parece pero si tenes 3 interrupciones como tenes vos, no tiene sentido repetir lo de recuperar el STATUS y W 3 veces.

Código: ASM
  1. inter
  2.    movwf   saveW      ;Guarda W y STATUS, como se recomienda
  3.    swapf   status,0   ;Guarda W y STATUS, como se recomienda
  4.    movwf   saveSTATUS   ;Guarda W y STATUS, como se recomienda
  5.    
  6. ;   btfsc   intcon,0   ;salta si el flag RBIF de INTCON es 0, si es 1 sigue
  7. ;   call   led0      ;(Se ha provocado un Stimulus sobre RB7. Es un high pulse de 2 cycles)
  8.    btfsc   intcon,1   ;salta si el flag INTF (RB0/INT) es 0, si es 1 sigue
  9.    call   led1
  10.    btfsc   intcon,2   ;salta si el flag TOIF (TMR0) es 0, si es 1 sigue.
  11.    goto    led2
  12.    bsf      porta,0
  13. fin_interrupcion
  14.    swapf   saveSTATUS,0
  15.    movwf   status
  16.    swapf   saveW,1
  17.    swapf   saveW,0
  18.    retfie
  19.  
  20.  
  21. led1
  22.    btfsc   porta,1
  23.    goto    led1_off
  24.    bsf      porta,1
  25.    bcf      intcon,1
  26.    return
  27. led2
  28.    btfsc   porta,1
  29.    goto    led1_off
  30.    bsf      porta,1
  31.    bcf      intcon,1
  32.    goto    fin_interrupcion

Ahi te puse 2 ejemplos, uno con goto y otro con CALL (no esta correcto el codigo pero es para que veas la forma del goto y call, lo de adentro de led1 y led2 fue un copy paste). Observa que hay un solo punto de salida de la interrupcion (un solo retfie y ahi se recuperan los valores de STATUS y W)
El CALL te permite ver todas las interrupciones si es que hay 2 activas y luego salir, mientras que con el GOTO vas a procesar una, y luego cuando intente activar nuevamente las interrupciones ( RETFIE ) va a entrar nuevamente.
En un programa comun donde tenes codigo en el tu loop principal, no podes hacer lo que hiciste, es decir usar el RETFIE sin devolver los valores a STATUS y W. En este ejemplo no afecta en nada por que tu loop principal tiene 2 NOPs y no se modifica ninguna bandera o W. Pero en un programa que si tenga codigo estas obligado. Otra cosa. LO ULTIMO debe ser esas instrucciones, luego de eso no deberia ir nada que afecte a W o a STATUS.

Aunque esto te paresca capricho mio es mas facil de recordar lo que te voy a decir a continuacion
Esto:

Código: ASM
  1. swapf   saveW,F
  2.    swapf   saveW,W

es mas facil de recordar que esto:

Código: ASM
  1. swapf   saveW,1
  2.    swapf   saveW,0

Donde F indica que el resultado va al registro y W a W obviamente. Creo que esto te va a hacer la vida mas facil a vos y a mi.

-----------------------------------

Por ultimo, ahora si la solucion de tu problema.
Las interrupciones externas del PORTB siempre se comportaron de la misma manera. Yo pienso que esta mal, pero hay que tenerlo en cuenta.
Cuando ocurre una interrupcion por cambio de nivel del pin, se activa el flag de interrupcion. La unica manera de poder borrar ese flag es LEYENDO el puerto, recien ahi te permite borrarlo.
Entonces si vos no lees el PORTB el flag RBIF se mantiene en 1, cuando actua el RETFIE y pone el GIE a 1, hace que vuelva a entrar a la interrupcion. En tu caso estaria siempre entrando a la interrupcion ( es decir GIE = 0 por que esta dentro de la misma siempre, igual que en tu caso)
Siguiendo el ejemplo que di antes:

Código: ASM
  1. led0
  2.    movf   PORTB     ; Leo puerto
  3.    bcf      intcon,0    ; borro flag
  4.    ; Ahora si el codigo que debe hacer la interrupcion
  5.  
  6.    btfsc   porta,0      ;se verifica si led en puerta A0 está encendido
  7.    goto    led0_off   ;se apaga si está encendido
  8.    bsf      porta,0
  9.    return
  10. led0_off
  11.    bcf      porta,0
  12.    return
« Última modificación: 27 de Agosto de 2015, 17:57:34 por KILLERJC »

Desconectado Christian Manuel Hernande

  • PIC10
  • *
  • Mensajes: 1
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #156 en: 18 de Octubre de 2015, 22:28:42 »
HOLA AMIGO BUENAS NOCHES ESPERO ME PUEDAS AYUDAR , OYE MI PROFESOR ME PIDIO UN PROGRAMA EN EL PIC 16F628 EL CUAL ESTA CONECTADO DIRECTAMENTE A UN DISPLAY DE CATODO COMUN  SIN DECODIFICADOR NI NADA ESTA DIRECTO CONECTADO EL DISPLAY POR EJEMPLO EL PIN "A" DEL DISPLAY ESTA CONECTADA AL PUERTO RB0  ,EL PIN "B" ESTA CONECTADO A RB1 Y ASI SUCESIVAMENTE , EL CHISTE ES QUE ME PIDIO UN PROGRAMA CON EL CUAL YO MUESTRE EL NUMERO 4 EN EL DISPLAY ME PODRAS AYUDAR A HACERLO ,GRACIAS AMIGO APENAS ME ADENTRO EN ESTE MUNDO DEL PIC.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #157 en: 18 de Octubre de 2015, 23:16:47 »
Hola Christian.

Primero unas cosas, intenta no escribir todo en mayuscula, creo que hasta se dificulta leerlo de esa forma.
Y con respecto al codigo, si te podemos ayudar. Si el profesor te lo dio para que lo hagas es para que aprendas. De nada sirve que te demos el codigo completo. Pero aun asi te podemos indicar algo y si ya tenes un codigo realizado y no te funciona, aun mas facil va a ser orientarte.

Aunque posteaste aca, quiero preguntarte algunas cosas:

- ¿En que lenguaje de programacion te pidieron que lo hagas? ASM? C? Basic?
- El programa que pedis es super facil, asi como lo describiste de solo encender un 4 es muy muy muy muy facil. Me atrevo a decir que solo necesitas unas 10 instrucciones de ASM, 2 mas si es que queres los vectores de reset/interrupcion y tal ves 1 mas por la palabra de configuracion (la cual te lo genera solo el MPLAB).

Asi que ... que deberias saber... Si vas por Assembler que es lo que trata este post, vas a tener algo asi:


Código: [Seleccionar]
#include "p16f628a.inc"

; Bits de configuracion , te lo da el MPLAB X

Principal:
          ; Aca la configuracion del puerto B como salida, mira el datasheet y seguro que te da el codigo para ponerlo todo como digitales, unas 7 maximo creo

          ; Aca pongo el valor del puerto, 2 instrucciones

Loop:
          GOTO Loop      ; Loop infinito que no hace mas nada

En resumen, los bits de configuracion como dije ya 2 veces, te los da el MPLAB X, solo te vas abajo tenes unas pestañas, elegis Configuration Bits, y ahi seleccionas los bits de configuracion.
La parte de la configuracion, andate al datasheet , en I/O Ports tenes el puerto B, buscalo y lee ahi que tiene explicado para que sno cada codigo, sino te vas al final de lo del puerto B y tenes todas los registros y bits que afectan al puerto B. Luego vas a tener que buscar en el PDF registro por registro y activar los bits necesarios. ( Solo tenes que cargar el TRISB, asi que se reduce a 3 instrucciones )
La parte que le das el valor al puerto, le pones un 1 al bit que queres que encienda en tu display. Si por ejemplo queres que se encienda la seccion C del display, pones un 1 en RB2, y directamente para no ir bit a bit poniendo unos y ceros, lo haces todo junto con:

Código: [Seleccionar]
MOVLW 0b11111111 ; Aca numero en binario, hexa, lo que sea.
MOVWF PORTB

Finalemente un loop infinito que se quede ahi para siempre. Ya que va a saltar siempre al GOTO.
Si no haces este proyecto con lo que te di, te deberia dar el codigo completo por que es muy simple y la idea es que aprendas.

Finalmente:

Configuracion : 3 instrucciones
Cargar el puerto: 2 instrucciones
Loop: 1 instruccion

6 instrucciones y completaste tu programa.
« Última modificación: 19 de Octubre de 2015, 02:23:58 por KILLERJC »

Desconectado SIberiano56

  • PIC10
  • *
  • Mensajes: 2
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #158 en: 26 de Octubre de 2015, 22:03:12 »
Hola, disculpe las molestias, soy nuevo en esta pagina y no se como publicar una pregunta, necesito hacer lo siguiente, estoy haciendo un codigo para una maqueta de un ascensor de tres pisos, planta baja, primer y segundo piso, en cada piso hay un sensor conectados a los pines RA1, RA2, Y RA3, ya tengo mi codigo armado, pero quiero simularlo en el mplab, no consigo simular el hecho de que se active el sensor en el pin RA1 con la ventana de estimulos, si puedo realizar una interrupcion por RB0 que se da cuando se abre la puerta de la cabina, alguien sabe como puedo realizar el estimulo por el puerto A? Desde ya, muchas gracias!!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #159 en: 26 de Octubre de 2015, 23:14:56 »
Seria bueno que pusieras que PIC estas usando, si es un PIC con conversor analogico digital tenes que recordar que para que el micro sea capas de leer las entradas necesitas pasar las entradas a digitales, ya que en el reset todos los pines que poseen el nombre ANx pasan a ser analogicos, y si los lees, lees un 0, imagino que por eso no podes usar el estimulo para cambiar de valor.
Pero de la misma forma que haces el estimulo del puertoB, lo harias con el puerto A, lo unico que se me ocurre es esa diferencia.

Desconectado SIberiano56

  • PIC10
  • *
  • Mensajes: 2
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #160 en: 27 de Octubre de 2015, 23:26:16 »
Hola, gracias por responder, estoy usando un 16f628a, y tengo deshabilitado los comparadores del puerto a,
;movlw    0x07
;movwf    CMCON

con esas instrucciones y con la palabra de configuracion __CONFIG 3F10 que segun mi profe ya indica que deshabilitamos los comparadores.

desde ya muchas gracias!


Desconectado maryenita

  • PIC10
  • *
  • Mensajes: 5
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #161 en: 05 de Marzo de 2016, 08:19:10 »
Que buenos tus tutoriales, gracias por compartir tus conocimientos, estoy recién empezando con Microcontroladores se hace muy difícil a veces poder entender ciertos instrucciones.-

Gracias

Desconectado tidustag

  • PIC10
  • *
  • Mensajes: 3
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #162 en: 01 de Mayo de 2016, 01:20:04 »
Qué tal soy nuevo en este foro y es muy genial la verdad, quisiera , si es posible, que me den alguna orientación sobre un problema que tengo, es el siguiente:

Se necesita un ventilador extractor para un baño y que cumpla con los siguientes requerimientos:

-cuando se cierre la puerta de dicho  baño, se debe de encender el ventilador de 220Vac

-cuando la puerta del baño se abre(después de haber estado cerrado) el ventilador tendrá que  permanecer encendido por tiempo de 3 minutos.
  si en ese tiempo se cierra y abre la puerta se  reiniciará la cuenta de 3 minutos para luego desconectar el ventilador.

-durante dicho tiempo se titilará un led a razón de 1 segundo.


Creo que es necesario usar interrupción externa por RB0, gracias de antemano, saludos!

Desconectado gera13

  • PIC10
  • *
  • Mensajes: 1
Re: Mis primeros programas. Manual PIC16F84A
« Respuesta #163 en: 04 de Junio de 2017, 23:55:59 »
disculpa suki,
si podrias habilitar las imagenes donde esta el hardware necesario y el diagrama para hacer el contador de varios digitos porfavor

Desconectado jorgebermudez_

  • PIC10
  • *
  • Mensajes: 1
Re:Mis primeros programas en ASM. PIC16F84A y PIC16F628A/648A
« Respuesta #164 en: 05 de Junio de 2017, 01:13:40 »
El link de los programas en Proteus esta caído