Hola, quisiera que me apoyaran con un Cartel de leds 8x24 que me encargaron en la Universidad como trabajo final, el problema que tengo es en cuanto a la programación del PIC el pic que utilizo es un 16F876A con 3 registros de corrimiento 74LS164 aqui les dejo el programa que llevo hasta el momento lo que quiero que haga el cartel es que pase mensajes desplazandose de derecha a Izquierda pero no consigo que aparescan las letras y se desplacen hacia la izquierda
En la siguiente imagen que les adjunto se aprecia que nomas prenden las columnas y hasta ahi se queda no hace nada mas, nose que estoy haiendo mal. por eso les suplico a todos que me ayuden que me den ideas para terminar este proyecto que lo tengo que entregar ahora regresado de semana santa he intentado de todo estoy muy frustrado no veo la hora en que pueda terminarlo ya estube buscando gente que mepudiera apoyar en esto y nadie esta disponible para que me opoye por eso les suplico a ustedes que me apoyen POR FAVOR.
gracias.......
el programa o hice en Microcode 3 (lenguaje Basic)
'****************************************************************
'* Name : Matriz 8x24.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 09/04/2012 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
'********Configuramos Puertos********
TRISA.0 = 0 'Puerto A0 como salida
TRISA.1 = 0 'Puerto A1 como salida
symbol dato = PORTA.0 'nombramos dato al puerto A0
symbol clock = PORTA.1 'nombramos clock al puerto a1
TRISB = 0 'todo el puerto B como salida
'*********Se Declaran Variables*********
a var byte
b var byte
c var byte
d var byte
num_filas var byte
filas var byte
char var byte[90]
char[0]=%00111111 'LETRA "A"
char[1]=%01001000
char[2]=%01001000
char[3]=%01001000
char[4]=%00111111
char[5]=%00000000
char[6]=%00000000
char[7]=%00000000
char[0]=%01111111 'LETRA "L"
char[1]=%00000001
char[2]=%00000001
char[3]=%00000001
char[4]=%00000001
char[5]=%00000000
char[6]=%00000000
char[7]=%00000000
'***********Programa Principal************
inicio:
b = 0
filas =%00000001
for b = 0 to 7
next
letra
a = char
NUM_FILAS = 0
PORTB = filas
pause 1
PORTB = 0
PAUSE 1
FILAS = FILAS<<1
GOTO INICIO
'*********Sunrutina para Registro de Corrimiento**********
EscriboByte:
for num_filas = 0 to 7
next
if a = 1 then
dato = 1
clock = 1
pause 1
clock = 0
else
dato = 0
clock =1
pause 1
clock = 0
endif
a = a<<1
goto escribobyte
En la siguiente imagen que les adjunto se aprecia que nomas prenden las columnas y hasta ahi se queda no hace nada mas, nose que estoy haiendo mal. por eso les suplico a todos que me ayuden que me den ideas para terminar este proyecto que lo tengo que entregar ahora regresado de semana santa he intentado de todo estoy muy frustrado no veo la hora en que pueda terminarlo ya estube buscando gente que mepudiera apoyar en esto y nadie esta disponible para que me opoye por eso les suplico a ustedes que me apoyen POR FAVOR.
gracias.......
el programa o hice en Microcode 3 (lenguaje Basic)
'****************************************************************
'* Name : Matriz 8x24.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 09/04/2012 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
'********Configuramos Puertos********
TRISA.0 = 0 'Puerto A0 como salida
TRISA.1 = 0 'Puerto A1 como salida
symbol dato = PORTA.0 'nombramos dato al puerto A0
symbol clock = PORTA.1 'nombramos clock al puerto a1
TRISB = 0 'todo el puerto B como salida
'*********Se Declaran Variables*********
a var byte
b var byte
c var byte
d var byte
num_filas var byte
filas var byte
char var byte[90]
char[0]=%00111111 'LETRA "A"
char[1]=%01001000
char[2]=%01001000
char[3]=%01001000
char[4]=%00111111
char[5]=%00000000
char[6]=%00000000
char[7]=%00000000
char[0]=%01111111 'LETRA "L"
char[1]=%00000001
char[2]=%00000001
char[3]=%00000001
char[4]=%00000001
char[5]=%00000000
char[6]=%00000000
char[7]=%00000000
'***********Programa Principal************
inicio:
b = 0
filas =%00000001
for b = 0 to 7
next
letra
a = char
NUM_FILAS = 0
PORTB = filas
pause 1
PORTB = 0
PAUSE 1
FILAS = FILAS<<1
GOTO INICIO
'*********Sunrutina para Registro de Corrimiento**********
EscriboByte:
for num_filas = 0 to 7
next
if a = 1 then
dato = 1
clock = 1
pause 1
clock = 0
else
dato = 0
clock =1
pause 1
clock = 0
endif
a = a<<1
goto escribobyte
Adjuntos
Última edición: