;==========================================================
; PORT9 WILL PULSE 286US BY FREE RUN
; 3.68MHZ CLOCK, 1:2 SCALAR RATE, TWO CYCLE INSTRUCTION
; IN THIS EXAMPLE
; INT = (FF-06) * 2CYCLE*2CYCLE/3.68US = 286US
;=======TCC SETTING========================================
; 1 MOV A,@0X00 ;3.68MHZ CLOCK, PRESCALER 1:2
; 2 CONTW ;WRITE TO CONTROL REGISTER
; 3 MOV A,@0X01 ;SET INTERRUPT TO BIT0
; 4 IOW 0X0F ;IOCF
; 5 CLR 0X0F ;CLEAR RF
; 6 MOV A,@0X06
; 7 MOV 0X01,A ;SET TCC INITIAL VALUE
; 8 ENI ;INTERRUPT ENABLE
;===========================================================
TCC == 1
JMP START
NOP
NOP
NOP
NOP
NOP
NOP
DISI ;1 DISABLE INTERRUPT
CLR 0X0F ;2 CLEAR RF
MOV A,@0XFF ;
MOV 0X09,A ;3 SHOW PULSE
BC 0X0F,0 ;4 CLEAR INTERRUPT
MOV A,@0X06 ;
MOV TCC,A ;5 TCC INITIAL VALUE
RETI ;6 RETURN AND ENABLE INTERRUPT
;=====================================================
START NOP
BS 0X0A,0X06 ;7 ENABLE PLL 3.68MHZ
IOW 0x09
MOV A,@0XFF ;8 PAGE0
MOV 0x09,a
IOW 0X0A ;
IOW 0X0E ;9 PORT9 AS I/O PORT
IOW 0X09 ;10 PORT9 OUTPUT
MOV 0X0E,A ;11 DISABLE WATCH DOG
MOV A,@0X00 ;12 CLEAR INTERRUPT
IOW 0X0F ;
MOV 0X0F,A ;
NOP ;======TCC SETTING===
MOV A,@0X00 ;13 3.68MHZ CLOCK ,1:2
CONTW ;14 WRITE TO CONTROL REGISTER
MOV A,@0X01 ;15 SET INT TO BIT0
IOW 0X0F ;16 IOCF
CLR 0X0F ;17 CLEAR RF
MOV A,@0X06 ;
MOV TCC,A ;18 TCC INITIAL VALUE
ENI ;19 INTERRUPT ENABLE
;====================================================
LOOP MOV A,@0X00 ;20 CLOSE LOOP
MOV 0X09,A
JMP LOOP
EOP
;=====================================================