; 437m49b  Ver.1.01  FMTX437.49MHz　　＜＜2003.02.16＞＞
;　2定倍方式　Ft=1145×2×12.8/67
;;----------------------------------------------------------------
; PIC16F84 Portmap
; RA1(18)------	CK
; RA2(1)-------	D
; RA3(2)-------	STB
; OSC is XT.  WDT is disable.  PLL-OSC=12.8MHz
        LIST    p=16F84 ; PIC16F84 is the target processor
;----- To TB31213FN -----
STATUS	EQU	03H
RP0	EQU	05H
TRISA	EQU	85H
TRISB	EQU	86H
PORTA	EQU	05H
PORTB	EQU	06H
;------ Reg. Map --------
LPC	EQU	20H
DR1	EQU	21H
TM1	EQU	22H
TM2	EQU	23H
TM3	EQU	24H

;----- Defined Freq -----
; ex. (437.4925MHz/2)/0.191MHz=1145-->000479H ---プログラムカウンタ
CH1H	EQU	25H	;周波数データ用レジスタ---MSB
CH1M	EQU	26H	;周波数データ用レジスタ
CH1L	EQU	27H	;周波数データ用レジスタ---LSB
;------------------ MAIN PROG. --------------------------
	ORG	0
MAIN	CALL	INIT
	CALL	RFDINIT
	MOVLW	000H	;******** 周波数データ指定---MSB **********
	MOVWF	CH1H
	MOVLW	004H	;******** 周波数データ指定----- **********
	MOVWF	CH1M
	MOVLW	079H	;******** 周波数データ指定---LSB **********
	MOVWF	CH1L
	CALL	OUTFQ
SLP	NOP
	SLEEP		;************ TEST 　***************
	GOTO	MAIN
;-------------------------------------------------------
OUTFQ	NOP
	MOVF	CH1L,0		;-----
	MOVWF	DR1
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	MOVF	CH1M,0		;-----
	MOVWF	DR1
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	CALL	SFTDT
	MOVF	CH1H,0		;-----
	MOVWF	DR1
	CALL	SFTDT
	CALL	H_OUT		;-----
	CALL	L_OUT
	CALL	STBOUT
	RETURN
;------------------------
SFTDT	NOP
	BTFSC	DR1,0
	GOTO	SFTDT1
	CALL	L_OUT
	GOTO	SFTDT2
SFTDT1	CALL	H_OUT
SFTDT2	RRF	DR1,1
	RETURN
;------------------------
;REF DEVIDEr OSC=12.8MHz
;------------------------
RFDINIT	CALL	H_OUT	;D0	LSB	;1　リファレンスカウンタ　セット
	CALL	H_OUT	;D1		;1　N=67(0043H)
	CALL	L_OUT	;D2		;0
	CALL	L_OUT	;D3		;0
;
	CALL	L_OUT	;D4		;0
	CALL	L_OUT	;D5		;0
	CALL	H_OUT	;D6		;1
	CALL	L_OUT	;D7		;0
;
	CALL	L_OUT	;D8		;0
	CALL	L_OUT	;D9		;0
	CALL	L_OUT	;D10		;0
	CALL	L_OUT	;D11	MSB	;0
;
	CALL	H_OUT	;group CoDE	;1
	CALL	H_OUT	;B'11'iS rEFDEv	;1
	CALL	STBOUT
; OPTION REG. INIT
	CALL	L_OUT	;T1
	CALL	L_OUT	;T2
	CALL	L_OUT	;T3
	CALL	H_OUT	;CpT1
	CALL	H_OUT	;CpT2
	CALL	H_OUT	;Cpr1
	CALL	H_OUT	;Cpr2
	CALL	L_OUT	;lD1
	CALL	L_OUT	;lD2
	CALL	L_OUT	;Tx
	CALL	H_OUT	;rx
	CALL	L_OUT	;group CoDE
	CALL	L_OUT	;B'00' is option reg.
	CALL	STBOUT
	RETURN
;------------------------
L_OUT	BCF	PORTA,2
	CALL	OUTP
	RETURN
H_OUT	BSF	PORTA,2
	CALL	OUTP
	RETURN
OUTP	NOP
	BSF	PORTA,1
	BCF	PORTA,1
	RETURN
STBOUT	NOP
	BSF	PORTA,3
	BCF	PORTA,3
	RETURN
;------------------------
; タイマ１
TIM10	MOVLW	0FFH
	MOVWF	TM1
TIM11	NOP
	DECFSZ	TM1,1
	GOTO	TIM11
	RETURN
; タイマ２
TIM20	MOVLW	040H
	MOVWF	TM2
TIM21	NOP
	CALL	TIM10
	DECFSZ	TM2,1
	GOTO	TIM21
	RETURN
; タイマ３
TIM30	MOVLW	0C0H
	MOVWF	TM3
TIM31	NOP
	CALL	TIM10
	DECFSZ	TM3,1
	GOTO	TIM31
	RETURN
;------------------------
INIT	BSF	STATUS,RP0
	MOVLW	b'00010001'
	MOVWF	TRISA
	MOVLW	b'01111111'	;**************** RB7 TEST SIG.****************
	MOVWF	TRISB
	BCF	STATUS,RP0
	MOVLW	0
	MOVWF	PORTA
	RETURN
;------------------------
	END
