Google Búsqueda personalizada

Regístrate gratis para participar de los foros, o si ya estás registrado haz login.

Panel Electronico de Mensajes

Mar Feb 21, 2006 11:54 pm
   
Hola, Necesito me ayuden con un esquema y materiales para la construccion de este proyecto, para hacer un panel de mesajes electronico.
me ayudan por favor.

fab_stgo

Reputación

Mie Feb 22, 2006 12:52 am
   
a ver si este enlace te sirve
http://www.yoreparo.com/foros/de_todo/39046.html

corrientecontinua
Moderador
Reputación

Mie Feb 22, 2006 3:29 am
   
Este es el diagrama de un panel de Leds en formato de 8x13, para la muestra de un solo caracter (en grande), esta diseñado para ser modular, en otras palabras, juntas las placas con el numero de caracteres necesario para tu diseño y a cada placa le das una direccion distinta con los jumpers, todas reciben una señal serial via rs232 ya sea que venga de una computadora o de un microcontrolador general donde le indica que caracter marcar. si te interesa te mando el programa, lo que ya no encuentro es el diseño de la placa

Saludos
David Fernando Torres De La Mora

Diagarama Panel.jpg  (79.99 KB)

Diagarama Panel.jpg

torresdelamora

Reputación

Jue Feb 23, 2006 3:48 am
   
Si te interesa, tengo este que es una marquesina de 7 por 50 Leds, tiene mas leds pero es mas chica en tamaño. tambien tengo el programa


Saludos
David Fernando Torres De La Mora

Marquesina AT90S8515.jpg  (201.61 KB)

Marquesina AT90S8515.jpg


Marquesina AT90S8515.jpg (201.61 kb) - dale click para verlo bien



Ultima edición por torresdelamora el Dom Sep 16, 2007 10:34 pm, editado 2 veces

torresdelamora

Reputación

Vie Feb 24, 2006 12:40 am
   
Muchas gracias por la info. me sirve de nucho ya sea cualquiera de las opciones y si pueden el diseño de la placa y el prg
gracias

fab_stgo

Reputación

Sab Feb 25, 2006 12:17 am
   
;este es el programa para el de 8 por 13:
;saludos David Fernando Torres De La Mora

.include "4414def.inc"

;PROGRAMA DE PRUEBA DE UNA MATRIZ DE LEDS DE 13 POR 8 LEDS
;INICIADO DOMINGO 9 AGOSTO 2000
;modificado


.def dato =r16 ;registro para datos binarios
.def gen =r17 ;registro DE PROPOSITO general
.def temp =r18 ;registro de datos temporales
.def aux =r19 ;registro auxiliar para ciertas operaciones
.def oper1 =r20
.def oper2 =r21
.def caracter=r22 ;registro que sera utilizado como caracter ascii

.org $000
rjmp RESET

;;0=48
;;9=57
;;A=65
;;Z=90
;;a=97
;;z=122


;tabla ascii del '1' al '9'
;TASCII1C: .DB
;TASCII1B: .DB
;tabla ascii del 'A' al 'Z' A B C D
TASCII2C: .DB $7c,$7e,$43,$43,$43,$43,$7e,$7c, $7f,$7f,$63,$63,$63,$63,$7e,$1c, $7c,$fe,$03,$03,$03,$03,$0e,$0e, $7f,$7f,$03,$03,$03,$06,$7c,$78
TASCII2B: .DB $3f,$3f,$01,$01,$01,$01,$3f,$3f, $3f,$3f,$30,$30,$30,$30,$1f,$0f, $0f,$1f,$30,$30,$30,$30,$1e,$0e, $3f,$3f,$30,$30,$30,$18,$0f,$07
;tabla ascii del 'a' al 'z'
;TASCII3C: .DB
;TASCII3B: .DB
;tabla del mono (moviendose) primer mono segundo mono tercer mono cuarto mono quinto mono
TMONOC: .DB $60,$70,$3b,$7b,$7b,$18,$78,$70, $60,$70,$3b,$7b,$7b,$38,$70,$60, $00,$40,$73,$7b,$7b,$70,$40,$00, $60,$70,$3b,$7b,$7b,$38,$70,$60, $60,$70,$3b,$7b,$7b,$18,$78,$70
TMONOB: .DB $30,$38,$0c,$07,$03,$06,$3c,$38, $00,$30,$3c,$0f,$1f,$38,$20,$00, $00,$00,$00,$0f,$3f,$30,$00,$00, $00,$30,$3c,$0f,$1f,$38,$20,$00, $30,$38,$0c,$07,$03,$06,$3c,$38

;tabla del mono (moviendose) primer mono segundo mono tercer mono cuarto mono quinto mono
;TMONOC: .DB $60,$70,$3b,$7b,$7b,$18,$78,$70, $60,$70,$38,$7b,$7b,$3b,$70,$60, $00,$40,$70,$7b,$7b,$73,$40,$00, $60,$70,$38,$7b,$7b,$3b,$70,$60, $60,$70,$3b,$7b,$7b,$18,$78,$70
;TMONOB: .DB $30,$38,$0c,$07,$03,$06,$3c,$38, $00,$30,$3c,$0f,$1f,$38,$20,$00, $00,$00,$00,$0f,$3f,$30,$00,$00, $00,$30,$3c,$0f,$1f,$38,$20,$00, $30,$38,$0c,$07,$03,$06,$3c,$38


RESET: ;inicio del reset, aqui comienza cuando se resetea el caracter
ldi gen,$01
out SPH,gen
ldi gen,$5f
out SPL,gen ;se configura la pila en $025f que es el final de la memoria RAM


ldi gen,$ff
out DDRB,gen ;el puerto B es salida de datos de las primeras 8 filas
out DDRC,gen ;el puerto C es salida de datos de las primeras 8 filas
ldi gen,$77 ;el puerto A tiene algunas salidas 01110111 y una entrada PORTB7
out DDRA,gen
;ldi gen,$00 ;este no tiene nada que hacer aqui ; te das cuenta?

ldi aux,$00 ;se carga el auxiliar con cero (quien sabe para que investigalo)
rcall ESPERA ;aqui todavia no se muestra (ni caracter ni mono)
in gen,pind ;se lee el boton (si esta aplastado o no) osea se leyo el puerto
andi gen,$04 ;se le hace una and para solo hacele caso al bit del boton
cpi gen,$04 ;se compara con $04 para ver si fue aplastado
breq CICLO2 ;si fue asi, entonces se va al programa del muñeco


ldi caracter,'A' ;y si no, pues por default carga el caracter con 'A' y muestra un caracter
CICLO1: ;ciclo 1 es el programa que muestra un caracter A -D
rcall CAR_A_PUNT
rcall CAR_A_PUNT
rcall CAR_A_PUNT ;muestra 3 veces el caracter
in gen,pind
andi gen,$04 ;se revisa si se aplasto un boton
cpi gen,$04
breq INCRE ;si se aplasto un boton, pues se salta a un lugar donde cambia al siguiente caracter
rjmp CICLO1 ;y si no pues seguira mostrando el mismo
INCRE:
inc caracter ;si se decidio cambiar el caracter, se inctementa el caracter
cpi caracter,'E' ;y se revisa si ya llego al ultimo
brne INC_FIN ;y no fue asi , termina y regresa
ldi caracter,'A' ;pero si no vuelve a comenzar en 'A'
INC_FIN:
rcall ESPERA ;se espera un 'ratito'
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rcall ESPERA
rjmp CICLO1


ESPERA:
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
rcall DELAY
ret

CICLO2: ;ciclo 2 ese el programa que saca un mono caminando

rcall SACA_MONO ;se muestra el mismo cuadro 10 veces
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO
rcall SACA_MONO

inc aux ;se incrementa el aux, (es el apuntador de cuadr, te acuerdas que te dije que lo investigaRAS?)
cpi aux,5 ;verifica si es el ultimo cuadro
brne CICLO2 ;si no fue asi, muestra el siguiente mono
ldi aux,$00 ;y si aSI fue, vuelve a empezar con el primer cuadro
rjmp CICLO2 ;y regresa a mostrarlo...







;rutina que toma un caracter en ascii , y lo convierte a puntos
;que sacara por el puerto

CAR_A_PUNT:
push dato
push gen
push temp

mov oper1,caracter ;el caracter se traslada al registro oper1 para poderlo modificar

;cpi caracter,'0' ;compara caracter con el '0' y salta a zona 0 si es menor
;brmi CAR_ZON_0 ; '0'=48
;cpi caracter,58 ;compara caracter con 58 y salta a zona 1 (numeros) si es menor
;brmi CAR_ZON_1 ; '9'=57
;cpi caracter,'A' ;compara caracter con 'A' y salta a zona 0 (letras) si es menor
;brmi CAR_ZON_0 ; 'A'=65
;cpi caracter,91 ;compara caracter con el 91 y salta a zona 2 si es menor
;brmi CAR_ZON_0 ; 'Z'=90

;CAR_ZON_0: ;aqui falta*************
;breq CONV_FIN
;CAR_ZON_1: ;aqui falta*************

;subi oper1,'0' ;resta al caratcer el valor ascii del '0' para que A corresponda a 0
;breq CONV_FIN

;CAR_ZON_2: ;seccion donde se saca la parte de la 'A' a la 'Z' del codigo ascii
subi oper1,'A' ;resta al caratcer el valor ascii de la A para que A corresponda a 0
ldi oper2, 8 ;y se multiplica por 8 para poderlo buscar en la tabla
rcall MULTIPLICA ;oper1=oper1*oper2
ldi gen,$00 ;gen se utiliza aqui como contador (inicia en cero)
ldi temp,$00 ;temp se usa para sumar ceros en la tabla (temp=0)

rcall CLEAR_164 ;se borra el 164
rcall SET_164 ;se saca el bit a correr
CONV_CICLO_2:

ldi ZL,low(TASCII2C) ;se carga en ZL la parte alta de la tabla para puerto c de la letra
ldi ZH,high(TASCII2C) ;se carga en ZH la parte baja de la tabla para puerto c de la letra
lsl ZL
rol ZH
add ZL,oper1 ;se desplaza 'oper1' en la tabla
adc ZH,temp
lpm
mov dato,r0 ;se guarda el valor de pixeles para puerto c en dato

ldi ZL,low(TASCII2B) ;se carga en ZL la parte alta de la tabla para puerto b de la letra
ldi ZH,high(TASCII2B) ;se carga en ZH la parte baja de la tabla para puerto b de la letra
lsl ZL
rol ZH
add ZL,oper1 ;se desplaza 'oper1' en la tabla
adc ZH,temp
lpm


out PORTC,dato ;se saca los pixeles (de la parte de arriba) por puerto c
mov dato,r0
out PORTB,dato ;se saca los pixeles (de la parte de abajo) por puerto b
rcall DELAY
rcall DELAY
rcall DELAY
rcall CLOCK_164 ;saca un pulso de reloj para el 164 (corre un bit) para cambiar a la siguiente columna

inc oper1 ;oper1 se aumenta para apuntar a los sigientes bits de las letras
inc gen ;inctementa el contador de columnas
cpi gen,8 ;se hace 8 veces para cada columna de el caracter
brne CONV_CICLO_2
rjmp CONV_FIN ;cuando acabe salta al final de esta subrutina

CONV_FIN:
pop temp
pop gen
pop dato
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




;rutina que toma un contador en aux , y saca un dibujo (mono caminando)
;que sacara por el puerto

SACA_MONO:
push dato
push gen
push temp

mov oper1,aux ;el contador se traslada al registro oper1 para poderlo modificar


ldi oper2, 8 ;y se multiplica por 8 para poderlo buscar en la tabla
rcall MULTIPLICA ;oper1=oper1*oper2
ldi gen,$00 ;gen se utiliza aqui como contador (inicia en cero)
ldi temp,$00 ;temp se usa para sumar ceros en la tabla (temp=0)

rcall CLEAR_164 ;se borra el 164
rcall SET_164 ;se saca el bit a correr
MONO_CICLO_2:

ldi ZL,low(TMONOC) ;se carga en ZL la parte alta de la tabla para puerto c del mono
ldi ZH,high(TMONOC) ;se carga en ZH la parte baja de la tabla para puerto c del mono
lsl ZL
rol ZH
add ZL,oper1 ;se desplaza 'oper1' en la tabla
adc ZH,temp
lpm
mov dato,r0 ;se guarda el valor de pixeles para puerto c en dato

ldi ZL,low(TMONOB) ;se carga en ZL la parte alta de la tabla para puerto b del mono
ldi ZH,high(TMONOB) ;se carga en ZH la parte baja de la tabla para puerto b del mono
lsl ZL
rol ZH
add ZL,oper1 ;se desplaza 'oper1' en la tabla
adc ZH,temp
lpm


out PORTC,dato ;se saca los pixeles (de la parte de arriba) por puerto c
mov dato,r0
out PORTB,dato ;se saca los pixeles (de la parte de abajo) por puerto b
rcall DELAY
rcall DELAY
rcall DELAY
rcall CLOCK_164 ;saca un pulso de reloj para el 164 (corre un bit) para cambiar a la siguiente columna

inc oper1 ;oper1 se aumenta para apuntar a los sigientes bits de las letras
inc gen ;inctementa el contador de columnas
cpi gen,8 ;se hace 8 veces para cada columna de el caracter
brne MONO_CICLO_2
rjmp MONO_FIN ;cuando acabe salta al final de esta subrutina

MONO_FIN:
pop temp
pop gen
pop dato
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;rutina que borra el barrido (borra a los 74ls164);;;;;;;;;;;;;;;;;
CLEAR_164:
cbi PORTA,PA1 ;saca un 0 por el puerto A 1 que va al clear de los 165
rcall CLOCK_164
sbi PORTA,PA1 ;saca un 1 por el puerto A 1 que va al clear de los 165
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;rutina que enciende la primer salida de los 164;;;;;;;;;;;;;;;;;
SET_164:
sbi PORTA,PA2 ;enciende el bit que va a correr
rcall CLOCK_164
cbi PORTA,PA2 ;apaga para que solo sea un bit el que corre
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;rutina un pulso de reloj ;;;;;;;;;;;;;;;;;
CLOCK_164:
sbi PORTA,PA0 ;y prende un ciclo de reloj
nop
nop
nop
nop
cbi PORTA,PA0 ;apaga el ciclo de reloj
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;; algoritmo de mutliplicacion oper1 =oper1*oper2;;;;;;;;;;
MULTIPLICA:
push temp ;se guardan temp y oper2 por si se utilizaban antes
push oper2
mov temp,oper1
dec oper2
cpi oper2,$00 ;**probar quitando este*********
breq MUL_FIN
MUL_CICLO:
add oper1,temp ;hace oper2 sumas de oper1 para obtener la multiplicacion
dec oper2
cpi oper2,$00
brne MUL_CICLO
MUL_FIN:
pop oper2 ;se sacan temp y oper2 de la pila
pop temp
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rutina de retardo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY:
push temp
ldi temp,$00

FOR_DELAY:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
inc temp
cpi temp,$255
brne FOR_DELAY
pop temp
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

torresdelamora

Reputación

Sab Feb 25, 2006 12:19 am
   
; este es el programa para el de 7 por 50
; Saludos David Fernando Torres De La Mora

.include "4414def.inc"

;programa de prueba de matriz de leds
;iniciado 9 de junio 2000
;modificado lunes 21 de agosto 2000

.def segundo1=r4
.def segundo2=r5
.def minuto1=r6
.def minuto2=r7
.def hora1=r8
.def hora2=r9

.def gen=r16 ;registro DE PROPOSITO general
.def temp=r17 ;registro de datos temporales
.def fcont=r17
.def columna=r18
.def desplaza=r19
.def caracter=r20
.def dato=r21
.def pos=r22
.def aux=r23
.def bandera=r24

.org $000
rjmp RESET
.org $004 ;f424
rjmp TIMER_SEGUNDO

;A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ALFABETO: .DB $7e,$09,$09,$09,$7e,$7F,$49,$49,$49,$36,$3e,$41,$41,$41,$22,$7f,$41,$41,$22,$1c,$7f,$49,$49,$49,$49,$7f,$09,$09,$09,$01,$3e,$41,$49,$49,$3a,$7f,$08,$08,$08,$7f,$00,$00,$7f,$00,$00,$30,$40,$40,$40,$3f,$7f,$08,$14,$22,$41,$7F,$40,$40,$40,$40,$7f,$02,$0c,$02,$7f,$7f,$04,
$08,$10,$7f,$3e,$41,$41,$41,$3e,$7e,$09,$09,$09,$06,$3E,$41,$51,$61,$7e,$7f,$09,$19,$29,$46,$26,$49,$49,$49,$32,$01,$01,$7f,$01,$01,$3f,$40,$40,$40,$3f,$1f,$20,$40,$20,$1f,$7f,$20,$18,$20,$7f,$63,$14,$08,$14,$63,$03,$04,$78,$04,$03,$61,$51,$49,$45,$43

;$10,$7f,$7e,$09,$11, Ñ

;0 1 2 3 4 5 6 7 8 9
NUMEROS: .DB $3e,$51,$49,$45,$3e, $44,$42,$7f,$40,$40, $66,$51,$49,$45,$42,$22,$49,$49,$49,$36,$08,$0c,$0a,$7f,$08, $2f,$49,$49,$49,$31, $3e,$49,$49,$49,$32, $61,$11,$09,$05,$03, $36,$49,$49,$49,$36, $26,$49,$49,$49,$36


PMENSAJE: .DB "DAVID FERNANDO TORRES DE LA MORA"



.dseg
leds: .byte 220 ;220 columnas en 220 bytes
.cseg

RESET:
ldi gen,$01
out SPH,gen
ldi gen,$5f
out SPL,gen

ldi gen,$00
mov segundo1,gen
mov segundo2,gen
mov minuto1,gen
mov minuto2,gen
ldi gen,$02
mov hora2,gen
ldi gen,$01
mov hora1,gen


ldi gen,$0b ;hace que el prescaler divida entre 64
out TCCR1B,gen

ldi gen,$f4 ;carga f424 para comparacion A en el timer 1
out OCR1AH,gen ;para que al ser didvidido el reloj entre 64
ldi gen,$24 ;haga una interrupcion cada segundo
out OCR1AL,gen

ldi gen,$40 ;se habilita la interrupcion de comparacion A
out TIMSK,gen ;del timer 1 (16 bits)

ldi gen,$ff
out DDRB,gen ;el puerto B es salida de datos de las primeras 8 filas
ldi gen,$77 ;el puerto A tiene algunas salidas 01110111 y una entrada PORTB7
out DDRA,gen
ldi gen,$00
sei
ldi bandera,00
in gen,pind
andi gen,$04
cpi gen,$04
breq CICLO2

CICLO1:

rcall MENSAJE1 ;se muestra el mensaje 1
rcall MENSAJE2 ;se muestra el mensaje 2
rcall MENSAJE3 ;se muestra el mensaje 3
rcall MUES_CLOCK ;se muestra el reloj
rcall MENSAJE4 ;se muestra el mensaje 4
rcall MENSAJE5 ;se muestra el mensaje 5
rcall MENSAJE6 ;se muestra el mensaje 6
rcall MUES_CLOCK ;se muestra el reloj
cpi bandera,$01 ;si la bandera es igual a 1

breq CICLO1_BLOQUEO
rjmp CICLO1
CICLO1_BLOQUEO:
rcall BLOQUEO ;salta a BLOQUEo que es una rutina donde se muestra el mensaje2
rjmp CICLO1

CICLO2:
rcall MENSAJE3
rjmp CICLO2


BLOQUEO:
rcall sMENSAJE2
rcall sMENSAJE2
ldi bandera,$00
ret








;;;;;;;;;;;;;;;;;;;;;;;;;;;;;rutina de retardo;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
DELAY:
ldi fcont,$00
FOR_DELAY:
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop

inc fcont
cpi fcont,$255
brne FOR_DELAY
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;rutina que borra el barrido (borra a los 74ls164);;;;;;;;;;;;;;;;;
CLEAR_164:
cbi PORTA,PA1 ;saca un 0 por el puerto A 1 que va al clear de los 165
rcall CLOCK_164
sbi PORTA,PA1 ;saca un 1 por el puerto A 1 que va al clear de los 165
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;rutina que enciende la primer salida de los 164;;;;;;;;;;;;;;;;;
SET_164:
sbi PORTA,PA2 ;enciende el bit que va a correr
rcall CLOCK_164
cbi PORTA,PA2 ;apaga para que solo sea un bit el que corre
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;rutina un pulso de reloj ;;;;;;;;;;;;;;;;;
CLOCK_164:
sbi PORTA,PA0 ;y prende un ciclo de reloj
nop
nop
nop
nop
cbi PORTA,PA0 ;apaga el ciclo de reloj
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;rutina que toma un caracter en ascii (letras), y lo convierte a puntos copiandolos a la zona;;
;;;;;;;;;;;;;;;;;;;;;;;de memoria de los leds, dadole un desplazamiento ;;;;;;;;;;;;;;;;;;
CONV:
push gen
push temp

mov aux,caracter
subi aux,' ' ; ta al caratcer el valor ascii de la A para que A corresponda a 0

ldi gen,5
rcall MULTIPLICA ;aux*gen
ldi gen,$00


CONV_CICLO:
ldi temp,$00
ldi ZL,low(ALFABETO)
ldi ZH,high(ALFABETO)
lsl ZL
rol ZH
add ZL,aux
adc ZH,temp
lpm
mov dato,r0

ldi temp,$00
ldi XL,low(leds)
ldi XH,high(leds)
add XL,desplaza
adc XH,temp

st X,dato

inc aux
inc desplaza
inc gen
cpi gen,5
brne CONV_CICLO

pop temp
pop gen
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;rutina que toma un caracter en ascii (numeros), y lo convierte a puntos copiandolos a la zona;;
;;;;;;;;;;;;;;;;;;;;;de memoria de los leds, dadole un desplazamiento ;;;;;;;;;;;;;;;;;;
CONV_NUM:
push gen
push temp

mov aux,caracter


ldi gen,5
rcall MULTIPLICA ;aux*gen
ldi gen,$00




CONV_NUM_CICLO:
ldi temp,$00
ldi ZL,low(NUMEROS)
ldi ZH,high(NUMEROS)
lsl ZL
rol ZH
add ZL,aux
adc ZH,temp
lpm
mov dato,r0

ldi temp,$00
ldi XL,low(leds)
ldi XH,high(leds)
add XL,desplaza
adc XH,temp

st X,dato

inc aux
inc desplaza
inc gen
cpi gen,5
brne CONV_NUM_CICLO

pop temp
pop gen
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;rutina que borra la memoria de los leds ;;;;;;;;;;;;;;;;;;

BORRA:
push gen
push temp

ldi gen,$00

BORRA_CICLO:

ldi temp,$00
ldi XL,low(leds)
ldi XH,high(leds)
add XL,gen
adc XH,temp
st X,temp
inc gen
cpi gen,220
brne BORRA_CICLO


pop temp
pop gen
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;rutina que copia de la zona de memoria "leds" a los leds;;;;;;;;;;;;;;
COPY:
push temp
push dato
ldi columna,$00
mov dato,pos
rcall CLEAR_164
rcall SET_164
CONTINUA:
ldi temp,$00
ldi XL,low(leds)
ldi XH,high(leds)
add XL,dato
adc XH,temp

ld temp,X

out PORTB,temp
rcall DELAY
;ldi temp,$00
;out PORTB,temp

rcall CLOCK_164
inc dato
inc columna ;AUMENTO EL CONTADOR DE COLUMNAS
cpi columna,50
brne CONTINUA

pop dato
pop temp
ret


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; algoritmo de mutliplicacion aux * gen;;;;;;;;;;;
MULTIPLICA:
push temp
mov temp,aux
dec gen
cpi gen,$00
breq MUL_FIN
MUL_CICLO:
add aux,temp
dec gen
cpi gen,00
brne MUL_CICLO
MUL_FIN:
pop temp
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE1:
push aux

cpi bandera,$01
breq MENSAJE1_FIN

ldi desplaza,6
ldi pos,$00

rcall BORRA


ldi caracter,'M'
rcall CONV
inc desplaza

ldi caracter,'A'
rcall CONV
inc desplaza

ldi caracter,'N'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'J'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi aux,$00
ldi pos,$00

MENSAJE1_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE1_COPIA
ldi bandera,$01
rjmp MENSAJE1_FIN

MENSAJE1_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE1_CICLO
inc aux
cpi aux,70
brne MENSAJE1_copia

MENSAJE1_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE2:
push aux

cpi bandera,$01
breq MENSAJE2_FIN


ldi desplaza,15
ldi pos,$00

rcall BORRA


ldi caracter,'C'
rcall CONV
inc desplaza;

ldi caracter,'O'
rcall CONV
inc desplaza

ldi caracter,'N'
rcall CONV
inc desplaza


ldi aux,$00
ldi pos,$00

MENSAJE2_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE2_COPIA
ldi bandera,$01
rjmp MENSAJE2_FIN

MENSAJE2_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE2_CICLO
inc aux
cpi aux,70
brne MENSAJE2_copia

MENSAJE2_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE3:
push aux

cpi bandera,$01
breq MENSAJE3_FIN

ldi desplaza,4
ldi pos,$00

rcall BORRA




ldi caracter,'C'
rcall CONV
inc desplaza


ldi caracter,'U'
rcall CONV
inc desplaza

ldi caracter,'I'
rcall CONV
inc desplaza

ldi caracter,'D'
rcall CONV
inc desplaza

ldi caracter,'A'
rcall CONV
inc desplaza

ldi caracter,'D'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza


ldi aux,$00
ldi pos,$00

MENSAJE3_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE3_COPIA
ldi bandera,$01
rjmp MENSAJE3_FIN

MENSAJE3_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE3_CICLO
inc aux
cpi aux,70
brne MENSAJE3_copia

MENSAJE3_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE4:
push aux

cpi bandera,$01
breq MENSAJE4_FIN

ldi desplaza,1
ldi pos,$00

rcall BORRA




ldi caracter,'G'
rcall CONV
inc desplaza


ldi caracter,'O'
rcall CONV
inc desplaza

ldi caracter,'B'
rcall CONV
inc desplaza

ldi caracter,'I'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'R'
rcall CONV
inc desplaza

ldi caracter,'N'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza


ldi aux,$00
ldi pos,$00

MENSAJE4_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE4_COPIA
ldi bandera,$01
rjmp MENSAJE4_FIN

MENSAJE4_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE4_CICLO
inc aux
cpi aux,70
brne MENSAJE4_copia

MENSAJE4_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE5:
push aux

cpi bandera,$01
breq MENSAJE5_FIN


ldi desplaza,15
ldi pos,$00

rcall BORRA


ldi caracter,'D'
rcall CONV
inc desplaza;

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'L'
rcall CONV
inc desplaza


ldi aux,$00
ldi pos,$00

MENSAJE5_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE5_COPIA
ldi bandera,$01
rjmp MENSAJE5_FIN

MENSAJE5_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE5_CICLO
inc aux
cpi aux,70
brne MENSAJE5_copia

MENSAJE5_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE6:
push aux

cpi bandera,$01
breq MENSAJE6_FIN

ldi desplaza,7
ldi pos,$00

rcall BORRA




ldi caracter,'E'
rcall CONV
inc desplaza


ldi caracter,'S'
rcall CONV
inc desplaza

ldi caracter,'T'
rcall CONV
inc desplaza

ldi caracter,'A'
rcall CONV
inc desplaza

ldi caracter,'D'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza


ldi aux,$00
ldi pos,$00

MENSAJE6_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE6_COPIA
ldi bandera,$01
rjmp MENSAJE6_FIN

MENSAJE6_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE6_CICLO
inc aux
cpi aux,70
brne MENSAJE6_copia

MENSAJE6_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MENSAJE7:
push aux

cpi bandera,$01
breq MENSAJE7_FIN

ldi desplaza,1
ldi pos,$00

rcall BORRA




ldi caracter,'W'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'L'
rcall CONV
inc desplaza

ldi caracter,'L'
rcall CONV
inc desplaza

ldi caracter,'C'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza

ldi caracter,'M'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza



ldi aux,$00
ldi pos,$00

MENSAJE7_CICLO:

in gen,PIND
andi gen,$04
cpi gen,$04
brne MENSAJE7_COPIA
ldi bandera,$01
rjmp MENSAJE7_FIN

MENSAJE7_COPIA:

rcall COPY
rcall COPY
rcall COPY
brne MENSAJE7_CICLO
inc aux
cpi aux,70
brne MENSAJE7_copia

MENSAJE7_FIN:
pop aux
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;funcion que muestra un mensaje en la pantalla de leds.;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

sMENSAJE2:

ldi desplaza,50
ldi pos,$00

rcall BORRA

ldi caracter,'C'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'N'
rcall CONV
inc desplaza

ldi caracter,'T'
rcall CONV
inc desplaza

ldi caracter,'R'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza

inc desplaza
inc desplaza
inc desplaza


ldi caracter,'B'
rcall CONV
inc desplaza

ldi caracter,'L'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza

ldi caracter,'Q'
rcall CONV
inc desplaza

ldi caracter,'U'
rcall CONV
inc desplaza

ldi caracter,'E'
rcall CONV
inc desplaza

ldi caracter,'A'
rcall CONV
inc desplaza

ldi caracter,'D'
rcall CONV
inc desplaza

ldi caracter,'O'
rcall CONV
inc desplaza


sMENSAJE_CICLO2:

rcall COPY
rcall COPY
rcall COPY

inc pos
cpi pos,170
brne sMENSAJE_CICLO2
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;





;;;;;;;;;;;;;;;funcion que muestra el reloj en la pantalla de leds;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MUES_CLOCK:
push temp
ldi temp,00
cpi bandera,$01
breq CLOCK_FIN
CLOCK_CICLO:
rcall BORRA

ldi desplaza,05
ldi pos,$00

mov caracter,hora1
rcall CONV_NUM
inc desplaza

mov caracter,hora2
rcall CONV_NUM
inc desplaza
inc desplaza
inc desplaza
mov caracter,minuto1
rcall CONV_NUM
inc desplaza

mov caracter,minuto2
rcall CONV_NUM
inc desplaza
inc desplaza
inc desplaza
mov caracter,segundo1
rcall CONV_NUM
inc desplaza

mov caracter,segundo2
rcall CONV_NUM
inc desplaza

in gen,PIND
andi gen,$04
cpi gen,$04
brne CLOCK_COPIA
ldi bandera,$01
rjmp CLOCK_FIN

CLOCK_COPIA:
rcall COPY
rcall COPY
rcall COPY
rcall COPY

inc temp
cpi temp,60
brne CLOCK_CICLO
CLOCK_FIN:
pop temp
ret


;;;;;;;;;;;;;;;;rutina de interrupcion del timer 1;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;que se ejecuta cada segundo;;;;;;;;;;;;;;;;;;;;;;;;;;
TIMER_SEGUNDO:
push gen

inc segundo2
ldi gen,10
cp gen,segundo2
brne TIMER_FIN

ldi gen,$00
mov segundo2,gen
inc segundo1
ldi gen,6
cp gen,segundo1
brne TIMER_FIN

INC_MINUTO2:
ldi gen,$00
mov segundo1,gen
mov segundo2,gen
ldi gen,10
inc minuto2
cp gen,minuto2
brne TIMER_FIN

INC_MINUTO1:
ldi gen,$00
mov minuto2,gen
inc minuto1
ldi gen,6
cp gen,minuto1
brne TIMER_FIN

INC_HORA2:
ldi gen,$00
mov minuto1,gen
mov minuto2,gen

ldi gen,3
inc hora2
cp gen,hora2
brne TIMER_FIN
ldi gen,$01
cp gen,hora1
brne TIMER_FIN
mov hora2,gen ;hora2 <- 1 ya no se hace la carga a gen porque ya la tiene
ldi gen,$00
mov hora1,gen

ldi gen,10
cp hora2,gen
brne TIMER_FIN

ldi gen,$00
mov hora2,gen
inc hora1

TIMER_FIN:

pop gen
reti
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

Ultima edición por torresdelamora el Lun May 08, 2006 4:26 pm, editado 3 veces

torresdelamora

Reputación

Mie Mar 08, 2006 1:53 am
   
esta muy interesante gracias recien lo estoy revisando

fab_stgo

Reputación

Mar May 23, 2006 2:39 pm
   
Hola, weno el ckto de torresdelamora al parecer es mas apropiado xq le podriamos incrementar "n"columnas, pero si pudieras ser mas claro en cuanto a la grabacion de la memoria.... ¿ Usa interface RS232?..... .. haber si podrias explicar bien todo este proyecto. gracias de antemano.
salu2.

javier_repara

Reputación

Mar May 23, 2006 2:41 pm
   
me olvidaba de una cosa ¿ Hace movimientos a parte de lo comun?, osea retroceso juntas o subidas, bajadas de texto, etc...?

javier_repara

Reputación

Mie May 24, 2006 8:24 pm
   
La memoria que usa es la RAM del 8515 o 4414, el 8515 tiene el doble de memoria que el 4414, nada impide que los datos que quieras desplegar se puedan grabar en la EEPROM de datos que tienen estos Micros, el de 7 por 50 el movimiento lo hace desplazando los caracteres hacia la izquierda, en el de 8 por 13 puedes hacer animaciones sencillas.



En el de 7 por 50 puedes incrementar mas columnas tantas como acepte la memoria, ademas de que la intensidad de iluminacion de los leds bajaria pues estarian menos tiempo encendidos, en este caso estan encendidos 1/50 del tiempo pues estamos usando un "barrido" de 50 posiciones. en el de 7 por 50 toma el caracter a mostrar y lo copia en pixeles a una zona de memoria, y de ahi la transfiere al puerto usando el barrido.


En el de 8 por 13 tiene la opcion de usar el puerto RS232 pero en el programa que puse no lo usa, tengo por ahi otro que si lo utiliza, la idea de usar un caracter es de volverlo modular, se hacen muchos iguales, y via RS 232 le llega la señal a todos los caracteres, cada caracter tendra una direccion unica para que sepa que parte del mensaje va a desplegar

Saludos

torresdelamora

Reputación

Sab Ago 05, 2006 3:24 pm
   
torresdelamora escribió:La memoria que usa es la RAM del 8515 o 4414, el 8515 tiene el doble de memoria que el 4414, nada impide que los datos que quieras desplegar se puedan grabar en la EEPROM de datos que tienen estos Micros, el de 7 por 50 el movimiento lo hace desplazando los caracteres hacia la izquierda, en el de 8 por 13 puedes hacer animaciones sencillas.



En el de 7 por 50 puedes incrementar mas columnas tantas como acepte la memoria, ademas de que la intensidad de iluminacion de los leds bajaria pues estarian menos tiempo encendidos, en este caso estan encendidos 1/50 del tiempo pues estamos usando un "barrido" de 50 posiciones. en el de 7 por 50 toma el caracter a mostrar y lo copia en pixeles a una zona de memoria, y de ahi la transfiere al puerto usando el barrido.


En el de 8 por 13 tiene la opcion de usar el puerto RS232 pero en el programa que puse no lo usa, tengo por ahi otro que si lo utiliza, la idea de usar un caracter es de volverlo modular, se hacen muchos iguales, y via RS 232 le llega la señal a todos los caracteres, cada caracter tendra una direccion unica para que sepa que parte del mensaje va a desplegar

Saludos

Padawan

Reputación

Vie Ago 18, 2006 3:30 am
   
amigos es la primera ves que ingreso a esta web, soy aficionado a la electronica, y deseo ma ayuden en la construccion y diseño de los avisos luminosos,o me indiquen algunas direcciones donde me pueden asesorar , desde ya les estare muy agradecido,Fernando

fernandoperu

Reputación

Dom Feb 11, 2007 9:42 pm
   
Amigo torresdelamora, soy Gavino Carranco de Ecuador, tengo un inconveniente, deseo realizar este circuito el problema es que aca en todo mi querido Ecuador no pude encontrar el chip microcontrolador AT90S8515 o equivalentes, queria saber si podrías darnos diseñandolo sin este microcontrolador, quiero decir con un circuito equivalente con componentes más faciles de conseguir, sería esto posible? De antemano muchas gracias y disculpa la molestia...

Sincerly, Gavo.

Gavo

Reputación

Lun Feb 12, 2007 9:43 pm
   
pues si se puede, pero seria cosa de trasladarlo a algun programa para un pic o para un cop o un hc11. eso implica talacha osease trabajar sore de eso

torresdelamora

Reputación

Jue Abr 19, 2007 6:50 pm
   
caballero muy interesantes tus aportes amigo.
no se si has trabajado el ds1307. el programa lo tengo con asm y un lcd me marca los min,hor.seg pero para pasarlo a displays los numero no semuestan los display se actualizan cada 10seg no acorde al tiempo real, cabe decir que el programa esta simulado en proteius 6.9
solamente ;nada en fisico.

con el lcd funciona bien pero con los seis displays no.

saludos y gracias

ben99

Reputación

Dom Abr 22, 2007 3:30 pm
   
en ese caso pruebalo en fisico, yo creo que si va servir o se puede hacer servir

torresdelamora

Reputación



Hacer una pregunta

Boletín de Noticias

Reciba noticias de tecnología, tips de reparación y ofertas exclusivas.



Reglamento / P+F

Foros

Miembros / Expertos