|
;========================================================== ; 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 ;=====================================================
|