; 436-85MG  Ver.1.02 (1ch bin. cont) 436.85MHz,2逓倍,VVV-CKA,CPT=H,200KHz
;;----------------------------------------------------------------
; PIC16F84 Portmap
; RA1	CK
; RA2	D
; RA3	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. 436.85/218.4258KHz -->00422H 
CH1H	EQU	25H	;周波数データ用レジスタ---MSB
CH1M	EQU	26H	;周波数データ用レジスタ
CH1L	EQU	27H	;周波数データ用レジスタ---LSB
;------------------ MAIN PROG. --------------------------
	ORG	0
MAIN	CALL	INIT
	CALL	RFDINIT
	MOVLW	000H	;******** 周波数データ指定---MSB(00) **********
	MOVWF	CH1H
	MOVLW	004H	;******** 周波数データ指定------(04) **********
	MOVWF	CH1M
	MOVLW	022H	;******** 周波数データ指定---LSB(22) **********
	MOVWF	CH1L
	CALL	OUTFQ
SLP	NOP
;;;;;	SLEEP		;************ TEST VVV　***************
	CALL	VVVCKA
	GOTO	SLP
;-------------------------------------------------------
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	L_OUT	;D0	LSB	;0　リファレンスカウンタ　セット
	CALL	H_OUT	;D1		;1　N=62(003EH)- 218.4258KHz STEP
	CALL	H_OUT	;D2		;1
	CALL	H_OUT	;D3		;1
	CALL	H_OUT	;D4		;1
	CALL	H_OUT	;D5		;1
	CALL	L_OUT	;D6		;0
	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
;------------------------
VVVCKA	CALL	CODE_V
	CALL	CODE_V
	CALL	CODE_V
	CALL	SPACE_
	CALL	CODE_D
	CALL	CODE_E
	CALL	SPACE_
	CALL	CODE_J
	CALL	CODE_I
	CALL	CODE_3
	CALL	CODE_C
	CALL	CODE_K
	CALL	CODE_A
	CALL	SPACE_
	RETURN
;------------------------------
CODE_3	CALL	TANTEN
	CALL	TANTEN
	CALL	TANTEN
	CALL	CHO_ON
	CALL	CHO_ON
	CALL	SPACE_
	RETURN
;------------------------------
CODE_A	CALL	TANTEN
	CALL	CHO_ON
	CALL	SPACE_
	RETURN
;------------------------------
CODE_C	CALL	CHO_ON
	CALL	TANTEN
	CALL	CHO_ON
	CALL	TANTEN
	CALL	SPACE_
	RETURN
;------------------------------

CODE_D	CALL	CHO_ON
	CALL	TANTEN
	CALL	TANTEN
	CALL	SPACE_
	RETURN
;------------------------------
CODE_E	CALL	TANTEN
	CALL	SPACE_
	RETURN
;------------------------------
CODE_I	CALL	TANTEN
	CALL	TANTEN
	CALL	SPACE_
	RETURN
;------------------------------
CODE_J	CALL	TANTEN
	CALL	CHO_ON
	CALL	CHO_ON
	CALL	CHO_ON
	CALL	SPACE_
	RETURN
;------------------------------
CODE_K	CALL	CHO_ON
	CALL	TANTEN
	CALL	CHO_ON
	CALL	SPACE_
	RETURN
;------------------------------
CODE_V	CALL	TANTEN
	CALL	TANTEN
	CALL	TANTEN
	CALL	CHO_ON
	CALL	SPACE_
	RETURN
;------------------------------

TANTEN	BSF	PORTB,7
	CALL	TIM20
	BCF	PORTB,7
	CALL	TIM20
	RETURN
;------------------------------
CHO_ON	BSF	PORTB,7
	CALL	TIM30
	BCF	PORTB,7
	CALL	TIM20
	RETURN
;------------------------------
SPACE_	CALL	TIM20
	CALL	TIM20
	RETURN
;------------------------------
	END
