User's Manual

Temperature Sensor Measurement
Variable Speed DC Fan Control using the MC9RS08KA2, Rev. 0
Freescale Semiconductor 27
TargetPeriod ds.b 1
ActualPeriod ds.b 1
DriveTime ds.b 1
SensorReading ds.b 1
MotorRunning ds.b 1
org RAMStart
; variable/data section
org ROMStart
; code section
main:
Entry:
;-------------------------------------------------------
; Config ICS
; Device is pre-trim to 16MHz ICLK frequency
; TRIM value are stored in $3FFA:$3FFB
;-------------------------------------------------------
mov #HIGH_6_13(NV_ICSTRM), PAGESEL
mov MAP_ADDR_6(NV_FTRIM), ICSSC ; $3FFB
mov MAP_ADDR_6(NV_ICSTRM), ICSTRM ; $3FFA
mov #ICS_DIV_2, ICSC2 ; Use 4MHz
;-------------------------------------------------------
;Config System
;-------------------------------------------------------
mov #HIGH_6_13(SOPT), PAGESEL ; Init Page register
mov #(mSOPT_COPT|mSOPT_STOPE), MAP_ADDR_6(SOPT)
; BKGD disable, COP disabled
mov #(mSPMSC1_LVDE|mSPMSC1_LVDRE), MAP_ADDR_6(SPMSC1); LVI enable
mov #(RTI_128MS), MAP_ADDR_6(SRTISC) ; 128ms RTI
;-------------------------------------------------------
; Init RAM
;-------------------------------------------------------
mov #MaxDeadTime, DeadTime
mov #232, TargetPeriod ; 1000 rpm
mov #232, ActualPeriod ; 1000 rpm
clr SensorReading
clr MotorRunning
;-------------------------------------------------------
; Config GPIO
; RC - init L
; Buzzer - init L
; PWMn/PWMp - init L
;-------------------------------------------------------
clr PTAD ; Initial low
mov #(mRC|mPWM1|mPWM2), PTADD ; Set Output pins
;-------------------------------------------------------
; Config KBI
;-------------------------------------------------------
lda #mHALL