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

Temas similares

16/04/2012 #1

Avatar de despace

Problema con matriz de leds 8x8 en proteus
Hola que tal, tengo un problema al realizar una simulacion de proteus con una matriz 8x8, ya que al momento de estar ejecutando la simulacion, aparecen los siguientes errores:
"Stack overflow executing call instruction, y Stack underflow executing return instruction"
(por lo que veo es que se esta desbordando la pila del stack del micro)

El programa fue hecho en proton IDE, basicamente es lenguaje basic, lo malo es que apenas me estoy iniciando en basic, y aun no encuentro donde esta el error en el programa ya que el proteus me marca lo mismo siempre que estoy simulando el circuito, si les sirve de ayuda aca esta el codigo del programa:

Device = 16F877A ' VAMOS A USAR UN PIC16F876A
Xtal = 4 ' CON UN CRISTAL DE 4MHz

DATA 0,0,0,0,0,0 '"ESPACIO"
DATA 127,8,8,8,127,0 'LETRA "H"
DATA 62,65,65,65,62,0 'LETRA "O"
DATA 127,1,1,1,0 'LETRA "L"
DATA 63,72,72,72,63,0 'LETRA "A"
DATA 0,0,0,0,0,0 '"ESPACIO"
DATA 64,32,31,32,64,0 'LETRA "Y"
DATA 0,0,0,0,0,0 '"ESPACIO"
DATA 127,73,73,73,54,0 'LETRA "B"
DATA 65,65,127,65,65,0 'LETRA "I"
DATA 127,73,73,65,0 'LETRA "E"
DATA 127,32,28,2,127,0 'LETRA "N"
DATA 120,6,1,6,120,0 'LETRA "V"
DATA 127,73,73,65,0 'LETRA "E"
DATA 127,32,28,2,127,0 'LETRA "N"
DATA 65,65,127,65,65,0 'LETRA "I"
DATA 127,65,65,65,62,0 'LETRA "D"
DATA 62,65,65,65,62,0 'LETRA "O"
DATA 50,73,73,73,38,0 'LETRA "S"
DATA 0,0,0,0,0,0 '"ESPACIO"

Dim A As Word
Dim B As Word
Dim C As Word
Dim W As Word
Dim LETRA As Word
Dim CONTADOR As Word


Symbol COLUMNA = PORTC
Symbol FILA = PORTB

All_Digital = True

Low FILA
Low COLUMNA

A = 1
W = 0

Inicio:
B = 0 'B SERÁ EL INICIO DE LAS COLUMNAS (LADO IZQUIERDO)
B = B + W 'B SE INCREMENTARÁ DE A UNO Y SIEMPRE ESTARÁ SEPARADO
'SIETE POSICIONES RESPECTA A C
C = B + 7 'C SERÁ EL FINAL (LADO DERECHO)



For CONTADOR = B To C 'POR LO TANTO EL CONTADOR IRÁ DESDE B HASTA C

If A > 128 Then A = 1

Restore CONTADOR
READ LETRA


FILA = ~LETRA
COLUMNA = A

DelayMS 3
A = A * 2

Next CONTADOR


DelayMS 15

W = W + 1

'"W" INCREMENTA LOS VALORES DE CONTADOR Y EL PUNTERO
'RESTORE IRÁ AVANZANDO, LEYENDO SIEMPRE EL PRÓXIMO DATO
GoTo Inicio: 'ACUMULANDO ESTA SITUACIÓN, GENERAMOS EL DESPLAZAMIENTO Endif

End

Me base en el siguiente tutorial para hacer la matriz:
http://www.neoteo.com/matriz-de-led-8x8-parte-ii

Espero que me puedan ayudar. Saludos
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.