Buen día,
Estoy haciendo un proyecto donde requiero un contador de 0 a 99 que se muestre por medio de displays de 7 segmentos, he buscado en otros temas y en otras redes pero no encuentro lo que ocupo. Me dijeron que usara el puerto A para hacer el contador (se me hace extraño por que leía que éste puerto es el que tiene el convertidor ADC) luego que en el puerto B lo usara como conversor, también me pasaron un código que dijeron serviría como conversor:
Codigo para "convertir":
............
Código mío:
Lo que sucede con mi código es que para empezar no limpia el puerto A, estoy pensando en usar mejor el puerto B como contador, también estaba revisando un código que encontré que venía un código para el D7S:
FCB $A0, $BE, $62, $2A, $3C, $29, $21, $BA, $20, $28
¿Ese es como una tabla que viene los valores para codificar como si fuera una "tabla de verdad" para el display de 7 segmentos?
Mil gracias
Estoy haciendo un proyecto donde requiero un contador de 0 a 99 que se muestre por medio de displays de 7 segmentos, he buscado en otros temas y en otras redes pero no encuentro lo que ocupo. Me dijeron que usara el puerto A para hacer el contador (se me hace extraño por que leía que éste puerto es el que tiene el convertidor ADC) luego que en el puerto B lo usara como conversor, también me pasaron un código que dijeron serviría como conversor:
Codigo para "convertir":
Código:
CLR ADCSC2
MOV #$21, ADCSC1
MOV #$02, APCTL1
CHECANDO: LDA ADCSC1
CMP #$80
BLO CHECANDO
Código mío:
Código:
INCLUDE 'derivative.inc'
;
; export symbols
;
XDEF _Startup
ABSENTRY _Startup
;
; variable/data section
;
ORG RAMStart ; Insert your data definition here
ExampleVar: DS.B 1
VAR1: EQU $0081
VAR2: EQU $0082
;
; code section
;
ORG ROMStart
; Include device initialization code
INCLUDE 'MCUInit.inc'
_Startup:
LDHX #RAMEnd+1 ; initialize the stack pointer
TXS
; Call generated Device Initialization function
JSR MCU_init
mainLoop:
MOV #$FF, PTBDD ;LIMPIA PUERTO B
LIMPIA: MOV #$FF, PTADD ;LIMPIA PUERTO A
CONTADOR: INC PTAD ;INCREMENTO DEL CONTADOR
BSR DELAY
LDA PTAD ;CARGA A ACUMULADOR CON CONTADOR
BRA CONVERSOR ;SE VA AL CONVERSOR (PUEDE SER QUE SE QUITE 'BRA')
CONVERSOR: CLR ($83)
INC ($83)
CMP #$63
BNE CONTADOR
BRA LIMPIA
DELAY: MOV #$01, VAR1
LOOP2: MOV #$01, VAR2
LOOP1: DBNZ VAR2, LOOP1
DBNZ VAR1, LOOP2
RTS
NOP
feed_watchdog
BRA mainLoop
Lo que sucede con mi código es que para empezar no limpia el puerto A, estoy pensando en usar mejor el puerto B como contador, también estaba revisando un código que encontré que venía un código para el D7S:
FCB $A0, $BE, $62, $2A, $3C, $29, $21, $BA, $20, $28
¿Ese es como una tabla que viene los valores para codificar como si fuera una "tabla de verdad" para el display de 7 segmentos?
Mil gracias
Última edición por un moderador: