Laboratorio de Computadoras Digitales #3
Laboratorio de Computadoras Digitales #3
Laboratorio de Computadoras Digitales #3
Para 25 %:
Para 50 %:
Para 75 %:
Para 100 %:
Si se utiliza la instruccin de decremento DBZN que demora 5 ciclos en realizarse, es
necesario que se repita la siguiente cantidad de veces para tener los diferentes ciclos de
trabajo:
Para 25 %:
Para 50 %:
Para 75 %:
Para 100 %:
Para lograr esta cantidad de repeticiones, se toma el valor base de 123 repeticiones que en
hexadecimal est representado con el valor de 7B y ste nmero a su vez se repite una, dos,
tres o cuatro veces segn sea el ciclo de trabajo.
A continuacin se presenta el cdigo utilizado en lenguaje ensamblador.
;---------------------------------------------------
; Inicializacion de Variables y Punteros
;---------------------------------------------------
COPD equ $0
RAM_START equ $0080
CONFIG1 equ $001F
FLASH_START equ $EC00
RESET_VEC equ $FFFE
;---------------------------------------------------
; Inicio de Codif. del Ensamblador en Memoria FLASH
;---------------------------------------------------
org FLASH_START
;---------------------------------------------------
; Inicio del Programa
;---------------------------------------------------
START
rsp
bset COPD,CONFIG1
mov #$00,$04
bset 7,$07
LOOP0 LDA #$03
AND $00
CMP #0
BEQ CT_25
CMP #1
BEQ CT_50
CMP #2
BEQ CT_75
CMP #3
BEQ CT_100
CT_25 MOV #$01,$81
MOV #$03,$82
BRA ONL
CT_50 MOV #$02,$81
MOV #$02,$82
BRA ONL
CT_75 MOV #$03,$81
MOV #$01,$82
BRA ONL
CT_100 BSET 7,$03
BRA LOOP0
ONL BSET 7,$03
CONT_2 MOV #$7B,$80
CONT_1 DBNZ $80,CONT_1
DBNZ $81,CONT_2
BCLR 7,$03
CONT_4 MOV #$7B,$80
CONT_3 DBNZ $80,CONT_3
DBNZ $82,CONT_4
BRA LOOP0
BCLR 7,$03
;---------------------------------------------------
; Inicializa el Vector de RESET
; Arranque del programa en la Memoria FLASH
;---------------------------------------------------
org RESET_VEC
dw START
Conclusiones
El laboratorio realizado es un ejemplo de las muchas funciones que puede realizar este
microcontrolador.
Para la realizacin de una modulacin por ancho de pulso es necesario conocer las
caractersticas internas del microcontrolador que se est utilizando, ya que es fundamental
saber a qu frecuencia trabaja su cristal para as calcular cuntos ciclos de mquina son
requeridos para obtener el ciclo de trabajo deseado; por ltimo slo se debe calcular cuntas
veces se debe repetir la instruccin a utilizar (en este caso DBNZ).
El variar el ciclo de trabajo hace que el led conectado a la salida se vea ms brillante con un
ciclo de trabajo del 100%, y menos brillante con un ciclo de trabajo del 25%; esto se debe a
que, en el caso del 25%, el tiempo que permanece en el pulso positivo (salida con bit 1) es
mucho menor que uno de 50% o 75%. Para un ciclo de trabajo del 100% el led siempre
estar encendido.