You are on page 1of 4

1.

Se pide leer un dato de 8 bits de un puerto y mostrar el


dato en un display de 7 segmentos.

;*****************************************************************
;* This stationery serves as the framework for a *
;* user application (single file, absolute assembly application) *
;* For a more comprehensive program that *
;* demonstrates the more advanced functionality of this *
;* processor, please see the demonstration applications *
;* located in the examples subdirectory of the *
;* Freescale CodeWarrior for the HC12 Program directory *
;*****************************************************************

; export symbols
XDEF Entry ; export 'Entry' symbol
ABSENTRY Entry ; for absolute assembly: mark this as
application entry point

; Include derivative-specific definitions


INCLUDE 'derivative.inc'

ROMStart EQU $4000 ; absolute address to place my code/constant data

; variable/data section

ORG $1000
; Insert here your data definition.
LEDS DC.b $3F, $06,$5B,$67......,$71 ;Nmeros del 0 al F
NUM DS.B 1
; code section
ORG ROMStart

Entry:

LDS #RAMEnd+1 ; initialize the stack pointer


CLI ; enable interrupts
LDAA #$F0
STAA DDRB

LDAA #$FF
STAA DDRA

LDAA #$00
STAA PORTA
BSET PUCR,2; Puerto B pull-up
CLRX
CLRY
Inicio:
CLRA
LDX #$0

LDAA PORTB
ANDA #$0F
CMPA #$00
LBEQ ACTIVA0

CMPA #$01
LBEQ ACTIVA1

CMPA #$02
LBEQ ACTIVA2

CMPA #$03
LBEQ ACTIVA3

CMPA #$04
LBEQ ACTIVA4

CMPA #$05
LBEQ ACTIVA5

CMPA #$06
LBEQ ACTIVA6

CMPA #$07
LBEQ ACTIVA7

CMPA #$08
LBEQ ACTIVA8

CMPA #$09
LBEQ ACTIVA9

CMPA #$0A
LBEQ ACTIVAA

CMPA #$0B
LBEQ ACTIVAB

CMPA #$0C
LBEQ ACTIVAC

CMPA #$0D
LBEQ ACTIVAD
CMPA #$0E
LBEQ ACTIVAE

CMPA #$0F
LBEQ ACTIVAF

LBRA Inicio

ACTIVA0:
LDX #$0
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA1:
LDX #$01
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA2:
LDX #$02
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA3:
LDX #$03
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA4:
LDX #$04
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA5:
LDX #$05
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA6:
LDX #$06
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA7:
LDX #$07
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA8:
LDX #$08
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVA9:
LDX #$09
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAA:
LDX #$0A
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAB:
LDX #$0B
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAC:
LDX #$C
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAD:
LDX #$0D
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAE:
LDX #$0E
LDAB LEDS,X
STAB PORTA
LBRA Inicio
ACTIVAF:
LDX #$0F
LDAB LEDS,X
STAB PORTA
LBRA Inicio

;**************************************************************
;* Interrupt Vectors *
;**************************************************************
ORG $FFFE
DC.W Entry ; Reset Vector

Muestra de retardo de tiempo de aproximadamente 3 segundos

RETARDO:
LDY #$3
Salto2: LDX #$17FD
DBEQ Y,Inicio
Salto1: DBEQ X,Salto2
LDAA #$FF
Salto: DBEQ A,Salto1
BRA Salto

You might also like