M68HC16 Z SERIES
INITIALIZATION AND PROGRAMMING EXAMPLES
USER’S MANUAL
E-25
AIX #$01 ;increment IX to point to the next byte
BRA SEND_STRING ;loop back and do next byte in string
STRING_DONE: ;subroutine to implement delay between messages
LDE #$FFFF ;load accumulator E with the delay time
STE 0,Z ;set up the counter
LOOP: DECW 0,Z ;decrement the counter
BNE LOOP ;count down to zero
RTS ;finish delay loop go back to main
SEND_CH: ;subroutine to send out one byte to SCI
LDAA SCSR ;read SCI status reg to check/clear TDRE bit
ANDA #$01 ;check only the TDRE flag bit
BEQ SEND_CH ;if TDR is not empty, go back to check it again
LDAA #$00 ;clear A to send a full word to SCDR ($FFC0E)
STD SCDR ;transmit one ASCII character to the screen
TC_LOOP:
LDAB SCSR+1
ANDB #$80 ;test the TC bit (transfer complete)
BEQ TC_LOOP ;continue to wait until TC is set
RTS ;finish sending out byte
STRING DC 'I AM A HAPPY EVB16 RUNNING YOUR CODE!!!',0A,0D,00
***** Interrupts/Exceptions *****
BDM: BGND ;exception vectors point here
;and put the user in background debug mode
***** Reserve data and stack space *****
ORG $10000 ;start of 1K internal SRAM for data & stack
COUNTER DS 2 ;space for delay counter
E.2.4 GPT Programming Example
The following programming example involves demonstrating basic general-purpose
timer module (GPT) functions.
Refer to
SECTION 11 GENERAL-PURPOSE TIMER
for more information on the
GPT.
E.2.4.1 Example 7 - Basic GPT Functions
* Description : This program demonstrates some basic GPT functions.
*
* The 1st demo requires that the pins OC2, IC1, IC2,
* and IC3 be tied together so that OC2 may drive
* IC1, IC2, & IC3.
*
* * In the second demo, the PAI pin should be connected
* to the PWMA pin. A bell on the dummy terminal
* will ring when the Pulse Accumulator Counter
F
re
e
sc
a
le
S
e
m
ic
o
n
d
u
c
to
r,
I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
n
c
.
..