mc68hc912bc32 Freescale Semiconductor, Inc, mc68hc912bc32 Datasheet - Page 157

no-image

mc68hc912bc32

Manufacturer Part Number
mc68hc912bc32
Description
M68hc12 Microcontrollers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
----------------------------------------------------------------------
;
; ----------------------------------------------------------------------
;
MAIN:
;
DONE:
;* -----------------------------------------------------------------
;*
;* -----------------------------------------------------------------
TIMERINIT:
;
;
;
;
;* ------------------------------
;*
;* ------------------------------
SQWAVE:
;* -------
CLEARFLG:
;* -------
;*
;*
WTFLG:
Freescale Semiconductor
Subroutine TIMERINIT: Initialize Timer for Output Compare on OC2
To clear the C2F flag: 1) read TFLG1 when
C2F is set and then 2) write a logic "one" to C2F.
SUBROUTINE:
ORG
BSR
BSR
BRA
CLR
MOVB
MOVB
MOVB
MOVW
MOVB
RTS
LDAA
ORAA
STAA
BRCLR
LDD
ADDD
STD
BRA
RTS
END
MAIN PROGRAM
$7000
TIMERINIT
SQWAVE
DONE
TMSK1
#$02,TMSK2
#$10,TCTL2
#$04,TIOS
#$0400,TC2H
#$80,TSCR
TFLG1
#$04
TFLG1
TFLG1,#$04,WTFLG
TC2H
#$0400
TC2H
CLEARFLG
SQWAVE
M68HC12B Family Data Sheet, Rev. 9.1
; 16K On-Board RAM, User code data area,
; start main program at $7000
; Subroutine used to initialize the timer:
; Output compare channel, no interrupts
; Subroutine to generate square wave
; Branch to itself, Convinient for Breakpoint
; Disable All Interrupts
; Disable overflow interrupt, disable pull-up
; resistor function with normal drive capability
; and free running counter, Prescaler = sys clock/4.
; Initialize OC2 to toggle on successful compare.
; Select Channel 2 to act as output compare.
; Load TC2 Reg with initial compare value.
; Enable Timer, Timer runs during wait state, and
; while in Background Mode, also clear flags
; normally.
; Return from Subroutine
; To clear OC2 Flag, first it must be read,
; then a "1" must be written to it
; Wait (Polling) for C2F Flag
; Loads value of compare from TC2 Reg.
; Add hex value of 500us High Time
; Set-up next transition time in 500 us
; Continuously add 500 us, branch to CLEARFLAG
; return from Subroutine
; End of program
Using the Output Compare Function to Generate a Square Wave
157

Related parts for mc68hc912bc32