Вы находитесь на странице: 1из 14

UNIVERSIDAD NACIONAL AUTNOMA DE

MXICO
FACULTAD DE INGENIERA
Divisin de Ingeniera Elctrica
Semestre 2015-2

Prctica 5
Laboratorio de Control e Instrumentacin Basados en
Microcontroladores

Elaborado por:
Rojas Enriquez Erik Armando
Andres de la Torre Villa

Grupo: 01
PRCTICA 5
En sta prctica se realizan e implementan:
Programa que simula un conometro
Programacin de un cronometro con botones de
paro,inicio y vuelve a cero
DESARROLLO
Programa 1: Realizar un programa que lleve la cuenta de un
cronometro, horas,minutos,segundos,centesimas sin tener en
cuenta la conversion de ascii
;Definicin de etiquetas
tpm1sc equ $30
tpm1modh equ $33
tpm1modl equ $34
modcta equ $c34f
conthor equ $a0
contmin equ $a1
contseg equ $a2
contcent equ $a3
;El
programa se guarda en memoria
org $182c
mov #$4a,tpm1sc
ldhx #modcta
sthx tpm1modh
clr conthor ; se borran por completo lo que contengan lso
contadores

clr contmin
clr contseg
clr contcent
cli
fin:

bra fin

servovf: lda tpm1sc


bclr 7,tpm1sc ;tof <-- 0
inc contcent
lda contcent
cmp #$64
bne salir
clr contcent ;se ligan cada una de los contadores con el siguiente
inc contseg
lda contseg
cmp #$3c
bne salir
clr contseg
inc contmin
lda contmin
cmp #$3c
bne salir
clr contmin
inc conthor
lda conthor
cmp #$18
bne salir

clr conthor
salir: rti

org $dfee
dw servovf

Programa 2: Realizar un programa el cual contenga la


conversion de numeros hexadecimales a ascii, con subrutina e
interrupciones .
asciip

equ $2e

ascii2p equ $3a


portbot equ $01
conthor equ $90
contmin equ $91
contseg equ $92
cont100 equ $93
tsc

equ $30

tmodh

equ $33

modc

equ $61a7 ;6195

bytecon equ $94


pardig

equ $95

pardig2 equ $96

org $182c

$include "e:\hc08\mdam8a05.asm"

lda #$82
jsr escom4
lda #ascii2p
jsr escdat4
lda #$85
jsr escom4
lda #ascii2p
jsr escdat4
lda #$88
jsr escom4
lda #asciip
jsr escdat4

ldhx #modc
sthx tmodh
mov #$4b,tsc ;toie<--1,clksb:clksa<--01, pe=8,tovf=10 ms.
clr conthor
clr contmin
clr contseg
clr cont100

cli

lazo:

bsr desptemp

bra lazo

sertof: lda tsc


bclr 7,tsc
inc cont100
lda cont100
cmp #$64
bne salir
clr cont100
inc contseg
lda contseg
cmp #$3C
bne salir
clr contseg
inc contmin
lda contmin
cmp #$3C
bne salir
clr contmin
inc conthor
lda conthor
cmp #$18
bne salir
clr conthor

salir:

rti

desptemp: psha

despcent: lda #$89


jsr escom4
lda cont100
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4

despseg: lda #$86


jsr escom4
lda contseg
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4

despmin: lda #$83


jsr escom4
lda contmin
sta bytecon

bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4

desphor: lda #$80


jsr escom4
lda conthor
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4
pula
rts
*SUBRUTINA CON_a
*CONVIERTE DE DECIMAL UN BYTE MENOR A 100
*BYTECON ---- BYTE A CONVERTIR
*Al retornar
*pardig ---- ascii de digito izquierdo
*paradig2 ----- ascii de digito derecho

con_a:

pshh

pshx
psha

clrh
lda bytecon
ldx #$0A
div
add #$30
sta pardig
pshh
pula
add #$30
sta pardig2
pula
pulx
pulh
rts

ret50m: pshh
pshx
ldhx #$270E

vuelta: nop
nop
aix #$FF
cphx #$0000
bne vuelta
pulx
pulh
rts

org $dfee
dw sertof

Programa 2: Realizar un programa el cualcontenga 3


botones para el cronometro, un boton de inicio,uno de parao,
uno de vuelve todo a cero.
;Definicin de etiquetas
asciip equ $2e
ascii2p equ $3a
portbot equ $01
conthor equ $90
contmin equ $91
contseg equ $92
cont100 equ $93
tsc
equ $30
tmodh
equ $33
modc
equ $61a7 ;6195
bytecon equ $94
pardig equ $95
pardig2 equ $96
ptbpe
equ $05 ; habilita pull up's
ptbd
equ $04
; habilita puerto b
org $182c
$include "F:\Micros 2\mdam8a05.asm"
mov #$07,ptbpe ;
lda #$82
jsr escom4
lda #ascii2p
jsr escdat4
lda #$85
jsr escom4
lda #ascii2p
jsr escdat4
lda #$88
jsr escom4
lda #asciip
jsr escdat4
ldhx #modc
sthx tmodh

mov #$0b,tsc ;toie<--1,clksb:clksa<--01, pe=8,tovf=10 ms.


clr conthor
clr contmin
clr contseg
clr cont100
cli
lazo:

bsr desptemp
brclr 0,ptbd,arranque
brclr 1,ptbd,paro
brclr 2,ptbd,ceros
bra lazo

arranque: bset 6,tsc


bra lazo
paro:
bclr 6,tsc
bra lazo
ceros: clr conthor
clr contmin
clr contseg
clr cont100
bra lazo
sertof: lda tsc
bclr 7,tsc
inc cont100
lda cont100
cmp #$64
bne salir
clr cont100
inc contseg
lda contseg
cmp #$3C
bne salir
clr contseg
inc contmin
lda contmin
cmp #$3C
bne salir
clr contmin
inc conthor
lda conthor
cmp #$18
bne salir
clr conthor
salir:

rti

desptemp: psha
despcent: lda #$89
jsr escom4
lda cont100
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4
despseg: lda #$86
jsr escom4
lda contseg
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4
despmin: lda #$83
jsr escom4
lda contmin
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4
desphor: lda #$80
jsr escom4
lda conthor
sta bytecon
bsr con_a
lda pardig
jsr escdat4
lda pardig2
jsr escdat4
pula
rts
con_a: pshh
pshx
psha
clrh
lda bytecon

ldx #$0A
div
add #$30
sta pardig
pshh
pula
add #$30
sta pardig2
pula
pulx
pulh
rts
ret50m: pshh
pshx
ldhx #$270E
vuelta: nop
nop
aix #$FF
cphx #$0000
bne vuelta
pulx
pulh
rts
org $dfee
dw sertof

Programa 3: Guardar el programa 2 en memoria FLASH y


usar la tarjeta en modo de ejecucin autnoma.
CONCLUSIN
Se logr realizar e implementar cada uno de los problemas
planteados durante el laboratorio, haciendo uso de subrutinas
e interupciones necerarias, adems se pudo utilizar el display
para un fin mas visible, como es el caso del
crnometro.Elconometro sirvio de mucha ayuda como ejemplo
ya que se pudo utilizar todo lo antes ya sabido para juntarlo
en un solo problema. Con ste conocimiento y experiencia
hemos ganado confianza para realizar problemas de mayor

dificultad en los siguientes laboratorios de igual manera se


han ratificado los conocimientos obtenidos en teora.

Вам также может понравиться