An89 – Cirrus Logic AN89 User Manual

Page 10

Advertising
background image

AN89

10

AN89Rev2

**************************************************************************************
* Routine - delay
* Input

- Count in register A

* Output - none
*
* This subroutine delays by using count from register A. The 68HC05
* development board uses a 4.0MHz clock (E = 2.0 MHz), thus each cycle is
* 500 nS. This delay is equivalent to (500ns)*(1545)*(count value),
* (a count of 720 provides a 556ms delay).
**************************************************************************************
delay
outlp

CLRX

; X used as inner loop count

innlp

DECX

; 0-FF, FF-FE, FE-FD, ....1-0 256 loops

NOP

; 2 cycles

NOP

; 2 cycles

BNE innlp

; 10 cycles*256*500ns=1.28 ms

DECA

; Countdown the accumulator

BNE outlp

; 2569 cycles*500ns*A

RTS

; Exit subroutine

**************************************************************************************
* Interrupt Vectors
**************************************************************************************
NOT_USED RTI

ORG $1FF4

; Interrupt Vectors

FDB NOT_USED

; SPI Interrupt

FDB NOT_USED

; SCI Interrupt

FDB NOT_USED

; Timer Interrupt

FDB NOT_USED

; IRQ Interrupt

FDB NOT_USED

; SWI Interrupt

FDB MAIN

; Reset interrupt- power on reset

Advertising