Que bueno que sigan con los ejemplos, este ejemplo lo utilice para recibir los datos de un fotodiodo, en este caso el opt101 y enviarlos mediante multiplexacion hacia dos displays 7 segmentos, todo en asm y utlizando el 68hc908jk3...saludos.;********************************************************
; -|1 |-
; -|2 |-
; -|3 |-
; -|4 |-
; -|5 jk3 |-
; B7 ADC-|6 |-B0-a
; B6 g-|7 |-B1-b
; B5 f-|8 |-B2-c
;D7 contr10 -|9 |-B3-d
;D6 control1-|10 |-B4-e
;********************************************************
;********************************************************
;********************************************************
RAM EQU $0080
ROM EQU $EC00
VECTORES EQU $FFFE
COPD EQU $0000
$Include '\pemicro\ics08jlz\jl3regs.inc'
;********************************************************
org RAM
VAR1 DS 1 ;1 BYTE
VAR6 DS 1
CONT DS 1
DATO DS 1
ALTO DS 1
BAJO DS 1
HEXA DS 1
;********************************************************
org ROM
START
RSP
BSET COPD,CONFIG1 ;SOLO CONFIGURACION
LDA #%01111111
STA DDRB
LDA #%11000000
STA DDRD
LDA #%00100000
STA ADCLK
;********************************************************
INICIO
LDA #$00
STA ALTO
STA BAJO
STA HEXA
STA PORTB
STA PORTD
STA CONT
STA DATO
;********************************************************
MEDIR
JSR ADCLECT
JSR HEXADEC
JSR RETARDO
JSR RETARDO
JSR RETARDO
JMP INICIO
;********************************************************
MOSTRAR1
LDX BAJO
LDA DATA,X
STA PORTB
LDA #$40
STA PORTD
RTS
;********************************************************
MOSTRAR10
LDX ALTO
LDA DATA,X
STA PORTB
LDA #$80
STA PORTD
RTS
;********************************************************
HEXADEC
CLR BAJO
CLR ALTO
LDA DATO
STA HEXA
DECENAS
LDA HEXA
BMI NEGAT
SUB #$0A
BMI UNIDADES ;BICURCA SI EL RESULTADO ES NEGATIVO
JMP POSIT
NEGAT
SUB #$0A
POSIT
STA HEXA
INC ALTO
LDA ALTO
JMP DECENAS
UNIDADES
LDA HEXA
STA BAJO
CLR HEXA
RTS
;********************************************************
;********************************************************
ADCLECT
MOV #%00000111,ADSCR ;COCO,AIEN,ADCO,CH4,CH3,CH2,CH1,CH0
LEE
BRCLR 7,ADSCR,LEE ;
MOV ADR,DATO
RTS
;********************************************************
RETARDO
MOV #$FF,VAR6
LOOP1
DBNZ VAR6,NICHO
RTS
NICHO
JSR MOSTRAR1
LDA #00
NICH1
INCA ; A = A + 1
CMP #$FF
BNE NICH1
JSR MOSTRAR10
LDA #00
NICH2
INCA ; A = A + 1
CMP #$FF
BNE NICH2
JMP LOOP1
;********************************************************
DATA
DB %00111111 ; 0
DB %00000110 ; 1
DB %01011011 ; 2
DB %01001111 ; 3
DB %01100110 ; 4
DB %01101101 ; 5
DB %01111101 ; 6
DB %00000111 ; 7
DB %01111111 ; 8
DB %01101111 ; 9
DB %01110111 ; A
DB %01111100 ; B
DB %00111001 ; C
DB %01011110 ; D
DB %01111001 ; E
DB %01110001 ; F
;********************************************************
org VECTORES
DW START
;********************************************************