Matriz 8x32 con PIC16F84A

si ya tengo el PIC Basic Pro y tambien tengo un Hex que le sirve al circuito tengo un software llamado MicroCode Studio PIC Basic Pro



si ya tengo el PIC Basic Pro y tambien tengo un Hex que le sirve al circuito tengo un software llamado MicroCode Studio PIC Basic Pro

Esta es la programacion que tengo solo resta pasarla a Hex me guié de un archivo pbp y su hex que funcionaron en el circuito

Mi inquietud es como pasar ese Codigo fuente a Hex

Código:
DEFINE OSC 4

LINEA            var byte[32]
CHAR             VAR BYTE[7]
CHAR_ACT         VAR BYTE ' puntero de caracter
CHAR_LENGTH_ACT  VAR BYTE 'puntero de la longitud del caracter
CHAR_LENGTH      var byte ' longitud de la longitud
Caracter         var byte
Counter1         var byte
Counter2         var byte
Counter3         var byte
Counter4         var byte



'declaracion de alias

DATOS            var PORTA.0
CLOCK            var PORTA.1

'Inicializacion de los datos


TRISB = 0
TRISA = 0

linea[1]=$FF
linea[2]=$FF
linea[3]=$FF
linea[4]=$FF
linea[5]=$FF
linea[6]=$FF
linea[7]=$FF
linea[8]=$FF
linea[9]=$FF
linea[10]=$FF
linea[11]=$FF
linea[12]=$FF
linea[13]=$FF
linea[14]=$FF
linea[15]=$FF
linea[16]=$FF
linea[17]=$FF
linea[18]=$FF
linea[19]=$FF
linea[20]=$FF
linea[21]=$FF
linea[22]=$FF
linea[23]=$FF
linea[24]=$FF
linea[25]=$FF
linea[26]=$FF
linea[27]=$FF
linea[28]=$FF
linea[29]=$FF
linea[30]=$FF
linea[31]=$FF
linea[32]=$FF

char_act=0
counter3=0
counter4=0
counter2=1
char_length_act = 1
low clock
low datos

DATA @0,"Dalisss" 'aca guardamos nuetro programa, es modificable al gusto
read char_act,caracter
gosub tabla_char

'inicio del programa
Inicio:

MENSAJE:
        linea[1]=char[char_length_act]
        IF CHAR_LENGTh_act = char_length  then
           char_act = char_act + 1  
Mens_Salto1:
           read char_act,caracter
           if caracter=$FF then 
              char_act=0
              goto mens_salto1
           endif   
           gosub tabla_char
           char_length_act=0
        endif   
Img:
        counter1=0
                
LineH:
         PORTB = $FF
         counter1 = counter1 + 1      'envia LA ACTIVACION del registro
         if counter1 = counter2 then  'serial paralelo
            gosub send_data0          'para activar la linea vertical
         else
             gosub send_data1
         endif
         if counter1 = 32 then goto LineV
         goto lineh
LineV:
      PORTB = LINEA[COUNTER2]    'determina la posicion activa horizontal
      pauseus 500              'y genera la activacion de los leds verticales
      if counter2 = 32 then
           counter2 = 1
         gosub send_data0   
      ELSE
            counter2 = counter2 + 1
            gosub send_data1
      endif
 
      
Shift_Left:
           if counter3 = 35 then
                counter3 = 0
                COUNTER4 = COUNTER4 + 1
                if counter4 = 2 then ' 250 del counter3 *4 del 
                
                   linea[32]=linea[31]'                   
		           linea[31]=linea[30]'
                   linea[30]=linea[29]'counter4 es aprox 0.5seg
                   linea[29]=linea[28]'si hay mas lineas 
                   linea[28]=linea[27]'hay q agrandar losvectores
                   linea[27]=linea[26]'y cambiar por un for   
                   linea[26]=linea[25]  
                   linea[25]=linea[24]  
                   linea[24]=linea[23]
                   linea[23]=linea[22]'counter4 es aprox 0.5seg
                   linea[22]=linea[21]'si hay mas lineas 
                   linea[21]=linea[20]
                   linea[20]=linea[19]'y cambiar por un for   
                   linea[19]=linea[18]  
                   linea[18]=linea[17]  
                   linea[17]=linea[16]    
       			   linea[16]=linea[15]'
                   linea[15]=linea[14]'counter4 es aprox 0.5seg
                   linea[14]=linea[13]'si hay mas lineas 
                   linea[13]=linea[12]'hay q agrandar losvectores
                   linea[12]=linea[11]'y cambiar por un for   
                   linea[11]=linea[10]  
                   linea[10]=linea[9]  
                   linea[9]=linea[8]  
                   linea[8]=linea[7]'counter4 es aprox 0.5seg
                   linea[7]=linea[6]'si hay mas lineas 
                   linea[6]=linea[5]'hay q agrandar los vectores
                   linea[5]=linea[4]'y cambiar por un for   
                   linea[4]=linea[3]  
                   linea[3]=linea[2]  
                   linea[2]=linea[1]
                   counter4 = 0
                   char_length_act = char_length_act+1
                   GOTO INICIO
                endif
            ELSE
                counter3 = counter3 + 1
            endif
            goto IMG
                      
SEND_DATA0:
           low datos
           pauseus 2
           low clock
           pauseus 2
           high clock
           RETURN

SEND_DATA1:
           HIGH DATOS
           pauseus 2
           low clock
           pauseus 2
           high clock
           RETURN

'tabla de seleccion de caracter
           
TABLA_CHAR:
    select case caracter
            case " "
                char_LENGTH=5
                char[5]=$FF
                char[4]=$FF
                char[3]=$FF
                char[2]=$FF
                char[1]=$FF
            
            case"1" 
                char_LENGTH=4
                char[4]=$FF
                char[3]=%1111110
                char[2]=%0000000
                char[1]=%1011110

            case "2"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001110
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%1011000

            case "3" 
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001001
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%1011101
    
            case "4"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1110111
                char[3]=%0000000
                char[2]=%1010111
                char[1]=%1100111
   
            case "5" 
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0110001
                char[3]=%0101110
                char[2]=%0101110
                char[1]=%0001110
    
            case "6" 
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1110001
                char[3]=%1101110
                char[2]=%0101110
                char[1]=%1000001
    
            case "7"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0001111
                char[3]=%0110011
                char[2]=%0111100
                char[1]=%0111111
    
            case "8"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001001
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%1001001
    
            case "9" 
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1000001
                char[3]=%0110110
                char[2]=%0110111
                char[1]=%1001111
                 
            case "0"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1000001
                char[3]=%0111110
                char[2]=%0111110
                char[1]=%1000001
            
            case "@"
                char_LENGTH=7
                char[7]=$FF
                char[6]=%1000001
                char[5]=%0111010
                char[4]=%0100010
                char[3]=%0101010
                char[2]=%0110110
                char[1]=%1000001    
            
            case ":"
                char_LENGTH=2
                char[2]=$FF
                char[1]=%1101011
            
            case "["
                char_LENGTH=3
                char[3]=$FF
                char[2]=%0111110
                char[1]=%0000000
            
            case "]"
                char_LENGTH=3
                char[3]=$FF
                char[2]=%0000000
                char[1]=%0111110
            
            case "A"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1000000
                char[3]=%0110111
                char[2]=%0110111
                char[1]=%1000000
            
           case "B"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001001
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%0000000
           
           case "C"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1011101
                char[3]=%0111110
                char[2]=%0111110
                char[1]=%1000001 
            
            case "D"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1000001
                char[3]=%0111110
                char[2]=%0111110
                char[1]=%0000000
                
            case "E"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0111110
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%0000000
                
            case "F"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0111111
                char[3]=%0110111
                char[2]=%0110111
                char[1]=%0000000
                
            case "G"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1010001
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%1000001
            
            case "H"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0000000
                char[3]=%1110111
                char[2]=%1110111
                char[1]=%0000000
            
            case "I"
                char_LENGTH=4
                char[4]=$FF
                char[3]=%0111110
                char[2]=%0000000
                char[1]=%0111110
                
            case "J"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0111111
                char[3]=%0000001
                char[2]=%0111110
                char[1]=%0111101
            
            case "K"
                char_LENGTH=4
                char[5]=$FF
                char[3]=%0111110
                char[3]=%1011101
                char[2]=%1101011
                char[1]=%0000000
            
            case "L"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1111100
                char[3]=%1111110
                char[2]=%1111110
                char[1]=%0000000
            
            case "M"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%0000000
                char[4]=%1011111
                char[3]=%1101111
                char[2]=%1011111
                char[1]=%0000000
            
            case "M"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%0000000
                char[4]=%1011111
                char[3]=%1101111
                char[2]=%1011111
                char[1]=%0000000
                
            case "N"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0000000
                char[3]=%1110011
                char[2]=%1001111
                char[1]=%0000000
            
            case "O"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%1000001
                char[4]=%0111110
                char[3]=%0111110
                char[2]=%0111110
                char[1]=%1000001
            
            case "P"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001111
                char[3]=%0110111
                char[2]=%0110111
                char[1]=%0000000
                
            case "Q"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%1111110
                char[4]=%1000001
                char[3]=%0111001
                char[2]=%0111101
                char[1]=%1000011
                
            case "R"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%1001000
                char[3]=%0110111
                char[2]=%0110111
                char[1]=%0000000
            
            case "S"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0111001
                char[3]=%0110110
                char[2]=%0110110
                char[1]=%1001110
                
            case "T"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0111111
                char[3]=%0000000
                char[2]=%0000000
                char[1]=%0111111
                
            case "U"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%0000001
                char[4]=%1111110
                char[3]=%1111110
                char[2]=%1111110
                char[1]=%0000001
            
            case "V"
                char_LENGTH=6
                char[6]=$FF
                char[5]=%0000111
                char[4]=%1111001
                char[3]=%1111110
                char[2]=%1111001
                char[1]=%0000111
                
            case "X"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0001000
                char[3]=%1110111
                char[2]=%1110111
                char[1]=%0001000
                                            
            case "Y"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0001111
                char[3]=%1110000
                char[2]=%1110000
                char[1]=%0001111
                
            case "Z"
                char_LENGTH=5
                char[5]=$FF
                char[4]=%0011111
                char[3]=%0100110
                char[2]=%0110010
                char[1]=%0111100
                
            case else
                char_LENGTH=5
                CHAR[1]=$FF
                CHAR[2]=$FF
                CHAR[3]=$FF
                CHAR[4]=$FF
                CHAR[5]=$FF

    end select
    return
             
                 
END


Hola Dalisss, aca te dejo el .hex del programa que pasaste.
 

Adjuntos

  • prueba.rar
    1.9 KB · Visitas: 98
Gracias por el Manual en PDF lo estoy leyendo y me explican bien en si lo de la matriz
Buena esa !

Gracias por el Hex ya también se como hacerlo (Y)
 
Hola dalisss

Qué ocurrió con ese otro circuito que me mencionaste ??
Dijiste:
Estos últimos días me la pasé estudiando la programación y ya tengo una que me va súper y no manda errores pero tengo una inquietud
podríamos hablar un rato se que sabrás enseguida que es

cual es esa inquietud que tienes ??

saludos
a sus ordenes
 
Tengo este código fuente que muestra los nombres o bien sea figuras pero estático, sin movimiento. Le programe para que me mostrara un dibujo y como te digo no manda error el proteus y se ve bien, con este pbp con el aprendí a hacer las letras y cuanto dibujo se me pase por la mente

Mi inquietud

Que podría yo hacerle al código fuente para que envés de mostrar estático lo haga con movimiento de derecha a izquierda

Te dejo adjunto el proyecto con el pbp y el hex

Gracias :)
 

Adjuntos

  • Nombre en matriz 7x32.rar
    39.7 KB · Visitas: 181
Hola dalissss

Lo que normalmente se hace es:
Habilitar la 1er. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 2da. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 3er. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 4ta. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 5ta. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 6ta. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 7ma. columna en la matriz y por la filas encender los puntos que sean necesarios.
Habilitar la 8va. columna en la matriz y por la filas encender los puntos que sean necesarios.

Luego se hace un desplazamiento para los puntos que encendían en la 1er. Columna enciendan en la 2da.
F1 --> F2 --> F3 --> F4 --> F5 --> F6 --> F7 --> F8 --> F1.
O en la otra dirección:
F8 --> F7 --> F6 --> F5 --> F4 --> F3 --> F2 --> F1 --> F8.
FX solo es para hacer más cortas las líneas escritas arriba. Realmente es una variable nombrada CHAR[X], donde X es un número del 0 al 7.

Así como se mira en el PBP que me enviaste anteriormente.
Te lo adjunto ahora pero solo trae la D de Dalisss definida en la Subrutina TABLA_CHAR:
Por Medio de la Subrutina Shift_Left: hacen el desplazamiento que te menciono arriba.

Nota en la Subrutina TABLA_CHAR, que los puntos que encenderán el la matriz son los que estén definidos como 0(Cero).
Solo tengo definida la letra D pero un poco mal hecha.

No compilé el PBP porque no tengo con que hacerlo.

saludos
a sus ordenes
 

Adjuntos

  • Matrix 8X32.zip
    25.5 KB · Visitas: 149
Última edición:
Gracias por el Codigo fuente ya capte algo mas sobre el movimiento que quería y por los caracteres que hacían falta no es problema diseñe una mini aplicación en excel que me da el código binario de lo que quiera solo es dibujar ya sea letra símbolo o figura

Aca una imagen

87933547019711389141.png


Ahora bien noto algo inusual...

Noto que lo que habia escrito antes en el DATA @0," " Queda guardado por que lo digo mira este caso en particular

Tengo escrito "1234" en el DATA @0," " como se muestra aca

66910333009246605879.png


Pero a la hora de compilar el proyecto mira lo que muetra

28764368987494081935.png


Muestra BB y esas BB fue cuando hice la letra B que la probe cuando estaba con los numeros note que todavia salia la B por que sera eso?

Ñapa :)

Dejo la mini aplicación en excel para que hagan cualquier figura o letra sin complicaciones :apreton:
 

Adjuntos

  • Matriz 8x32 Dalisss.rar
    91.3 KB · Visitas: 179
Hola dalisss

Nota que varios de tus mensajes han sido eliminados por haberlos enviado, con el mismo contenido, Más de una vez. Si lo sigues haciendo te suspenderán.

Creo que ese efecto inusual al que haces mención solo ocurre en el simulador.
Tendrías que hacer un experimento con el circuito real para comprobarlo.

Tambien podrías hacer una prueba agregando una subrutina a tu código donde se manden puras FF a las líneas.
De este modo, probablemente, quede borrada la EEPROM.

saludos
a sus ordenes
 
Seria buena idea lo de la subrutina pero eso seria antes de que lea los caracteres cierto?
lo que entiendo es algo asi?
linea[0]=$FF
linea[1]=$FF
linea[2]=$FF
linea[3]=$FF
...
...
...
linea[32]=$FF

Si es así ya esta escrito en el código fuente, si no es así entonces no se :)

Ya voy a empezar a trabajar en el proyecto en vida :)
 
Hola dalisss

Esto que dices:
linea[0]=$FF
linea[1]=$FF
linea[2]=$FF
linea[3]=$FF
...
...
...
linea[32]=$FF

Es, digamos, borrar el contenido de las variables linea[x].
Pero de lo que se trata es de borrar el contenido de la EEPROM en el PIC.

' DATA {@Location,}Constant{,Constant...}
' Escribe En La Memoria Interna Del PIC (No-Volatil EEPROM)
' Iniciando en la dirección @Location Lo Contenido Entre "
' De La Siguiente Línea.
DATA @0,"dalisss"
[/COLOR]
En la línea roja es donde están escribiendo el la memoria EEPROM del PIC lo que está entre comillas(“).
Como, aparentemente, quedan residuos de los caracteres anteriores, hay que grabar puras FF en las direcciones donde se graba tu nombre.
Serían tantas FF como caracteres tenga el texto que grabas en esa EEPROM del PIC.

Una subrutina, la primera que se ejecute sería:
DATA @0,$FF

Esta instrucción se ejecutaría 7 veces porque dalisss tiene 7 caracteres.
Posteriormente se ejecutaría:
DATA @0,"dalisss"

Que es la línea original del código.

Captaste ??

saludos
a sus ordenes
 
Probé la subrutina... Pero sigue con la anomalía...

Si escribo un solo carácter en el DATA Me muestra los caracteres anteriores. me di cuenta de algo, digamos que escribo....

DATA @0,"dalisss" para que me lo muestre. efectivamente lo hace pero cuando llega a la ultima "s" no se repite dalisss, que debería repetirse
Sino que queda en blanco la matriz y cuando cambio el "dalisss" por
DATA @0,"1A" me muetra esto "1Alisss" se come los dos primeros caracteres de dalisss que fue lo anterior que tenia escrito

Mi idea es esta si tengo "A1" que son dos caracteres cuando termine de leer el segundo caracter que es el ultimo se repita otra vez para leer el primero, con "dalisss" seria lo mismo
Cuando termine de leer el séptimo caracter que es el ultimo vuelva a leer el primero para que se repita siempre abría un ciclo
 
Hola dalisss

Cuando tu código tiene:
DATA @0,"dalisss"

Y compilas luego corres la simulación, la EEPROM del PIC tiene:
Dirección 0 contiene la “d”.
Dirección 1 contiene la “a”.
Dirección 2 contiene la “l”.
Dirección 3 contiene la “i”.
Dirección 4 contiene la “s”.
Dirección 5 contiene la “s”.
Dirección 6 contiene la “s”.

Luego modificas el código así:
DATA @0,"A1"[/COLOR]
Y compilas luego corres la simulación, la EEPROM del PIC tiene:
Dirección 0 contiene la “A”.
Dirección 1 contiene la “1”.
Dirección 2 contiene la “l”.
Dirección 3 contiene la “i”.
Dirección 4 contiene la “s”.
Dirección 5 contiene la “s”.
Dirección 6 contiene la “s”.

Notas que la EEPROM del PIC continua teniendo lo indicado en rojo ???
Por esa razón te lo muestra.

0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-
Así que si en tu código programas primero puros nivele altos –FF- en las direcciones desde la 0 hasta la 6 quedaría así:
Dirección 0 contiene la %11111111.
Dirección 1 contiene la %11111111.
Dirección 2 contiene la %11111111.
Dirección 3 contiene la %11111111.
Dirección 4 contiene la %11111111.
Dirección 5 contiene la %11111111.
Dirección 6 contiene la %11111111.
Lo Anterior como una subrutina para poderla llamar desde cualquier punto del programa.

Luego haces que se programen los caracteres dalisss en las direcciones de la 0 a la 6.
La EEPROM del PIC estará “Limpia”; con puros unos. Recuerda que para que encienda un punto en la matriz requerimos que ese BIT sea 0.

Si la longitud de la palabra cambia, la cantidad de direcciones a programar con 1’s también cambiará.
“Dalisss” tiene una longitud de 7 caracteres.
“Hola dalisss” tiene una longitud de 11 caracteres.
Así que la cantidad de direcciones con FF, en este caso sería de 11, de la 0 a la 10(Dec) de la 0 a la A(hex).

Captaste ???.

Desafortunadamente no tengo con que compilar ese archivo PBP del cual hemos estado hablando.

saludos
a sus ordenes
 
Puedes mandármelo yo lo compilo y así lo miro tambien



Entiendo lo que dices y si le pongo lógica tiene sentido lo que veo es que no se como aplicar eso en el código :confused::confused::confused:
 
Última edición:
Hola dalisss

No tengo el archivo de código completo. Inclusive ya está muy modificado.

Sería más o menos así:

En el archivo de código que tienes has estos cambios:

A)- Agrega esta línea donde están definiendo las variables counter1, counter2, counter3, counter4.
Counter0 VAR BYTE ' Nueva variable para GOSUB borrar


B)- Antes de donde tienes esta instrucción:
DATA @0,"dalisss"

Inserta la siguiente Línea.
GOSUB borrar ’

C)- Esta es la subrutina nombrada borrar:
Colócala al final de tu código, antes de END.
borrar: ' Inicio de la subrutina para borrar la EEPROM del PIC
FOR Counter0 = 0 T 6 ' Borrará 7 direcciones iniciando en la 0.
data $FF ' borra la dirección 0 si es el primer ciclo, después va aumentando
NEXT counter0 ' Apunta a La dirección que sigue.
RETURN ' Regresa a una línea después de donde lo mandaste para acá.

D)- Compílalo y esperemos que funcione.

saludos
a sus ordenes
 
MrCarlos por algo no dude de ti sos grande :aplauso:

Todo Anda a la normalidad con las ultimas indicaciones que me diste

Full agradecido :)

En estos días comienzo con el proyecto en vida los avances lo voy a ir publicando (y)
 
Mira como va :)

Mira esta secuencia

77600511041574773667.png


03118688507929350652.png


44919672853044060340.png


08062904363065589009.png


01742698927951134024.png


24197414863774935886.png


90078821063540556496.png


78112183275943608953.png


Y asi serepite...
Notas que en el mensaje aparece un espacion en blanco de izquierda a derecha? :eek: :cry:

Por que se originara??. el pbp lo tengo en OSC 20 y el PIC16F628A en 10MHz ademas de ciolocarle un cristal y dos condensadores

86426027709338436326.png


Si se los quito es lo mismo... no se ve muy bien
 
Última edición:
Hola dalisss

Este efecto y el anterior –escribir caracteres mensaje anteriores- es defecto del ISIS de Proteus.

El cristal y los componentes relacionados se ponen solo para que al hacer el PCB salgan las pistas(Venas) y los agujeritos para colocarlos.

En el archivo de tu código y en la simulación debes programar la misma frecuencia.

saludos
a sus ordenes
PD: procura no adjuntar tantas imágenes, esto hace el tema extremadamente grande. Pero no es una prohibición.
 
Recién comencé con el proyecto en vida me decidi a quemar el PIC16F628A con una Pickit2 y su respectivo software pero a la hora de borrar el pic en el boton Erase me aparece este mensaje

This device requires a minimum VDD of 4.5V for bulk erase operations"

Al igual que a la hora de grabar Write

Monte todo en una protoboard blanca pero lo puse a correr y no prendió y aveces espabila la matriz la hice de 8x24 leds, no se que sera

El PIC16F628A lo alimento con 5v pin 5 - pin 6 +

los dos 74HC04 lo alimento con 5v pin 7 - pin 14 +

y el 74HC164 tambien 5v pin 7 - pin 14 +

no se que este pasando???

Ademas de alimentar el pin 9 de los 74HC164 con 5v +
 
Hola dalisss

Para polarizar los circuitos integrados, incluyendo el PIC, te basaste en sus hojas de datos ??

El PIC, para programarlo, requiere de cierto voltaje en su PIN nombrado PB4/PGM
Fíjate en la imagen adjunta.

saludos
a sus ordenes
 

Adjuntos

  • Pin Diagrams.jpg
    Pin Diagrams.jpg
    370.3 KB · Visitas: 33
Hola Mr Carlos

No entiendo mucho a que te refieres, Ayuda!! :)
el voltaje se lo coloco a la hora de programar?
En que pata y como lo coloco?



Para la polarización Me guíe de estas imagenes que encontre en la Web
 

Adjuntos

  • 74hc04_pin.jpg
    74hc04_pin.jpg
    48.5 KB · Visitas: 14
  • 74HC164.jpg
    74HC164.jpg
    31.6 KB · Visitas: 10
  • PIC16F628A-pinout.jpg
    PIC16F628A-pinout.jpg
    22 KB · Visitas: 11
Última edición:
Ms Carlos

Ya entendi lo que me querias decir con el voltaje del pic cuando borraba o grababa el pic lo hacia con 2,5 vcc lo corregi y lo puse en 5,0vcc y no me dio mas la advertencia

tengo ademas otra inquietud de las cientas que tengo ahora mismo, yo coloco el crystal en los pines 16 y 15 ademas de en cada uno un condensador de 27pF y el otro extremo en negativo así es que va?

Ademas no me sigue prendiendo noto que...
Cuando le paso el dedo por el crystal y el pic enciende la matriz pero prende toda y no mustra ningun mensaje

Estoy trabajando con una protoboard blanca programe un hex 8x8 para que me sea mas facil y asi menos cable

te dejo unas imagenes
 

Adjuntos

  • IMG_20130807_190229.jpg
    IMG_20130807_190229.jpg
    55.5 KB · Visitas: 22
  • IMG_20130807_190300.jpg
    IMG_20130807_190300.jpg
    79 KB · Visitas: 17
  • IMG_20130807_190310.jpg
    IMG_20130807_190310.jpg
    82.4 KB · Visitas: 15
  • IMG_20130807_190340.jpg
    IMG_20130807_190340.jpg
    67.4 KB · Visitas: 15
Atrás
Arriba