tiny2313のカウンタ1をCTCモードの40KHzで発振させてOC1Aに出力
その出力のオン/オフを受信モジュールからの入力で制御
という超簡単なものだが、これまで受信できなかった1F実験室や3F浴室の
電波時計が全て確実に出来るようになった。
ただしCPUの近くで・・・うーん、電波出力を上げるにはどうすれば良いのか。
勉強せねばw
;----- Port_B for CTCA output
RESET:
ldi YL,0b11110111 ;bit3:output Lo
out PortB,YL ;bit3 OC1A
ldi YL,0b00001000
out DDRB,YL
;----- Port_D for JJY input
ldi YL,0b11111111 ;bit0-7 pull_up input
out PortD,YL ;bit6:JJY Pulse Input
ldi YL,0b00000000
out DDRD,YL
;----- counter1_A for CTC free run
ldi YL,0b01000000
out TCCR1A,YL
ldi YL,0b00001001
out TCCR1B,YL
ldi YH,HIGH(OSC_Lo) ;OSC_LO = 249 for 40KHz
ldi YL,LOW(OSC_Lo) ; at 20MHz clock
out OCR1AH,YH
out OCR1AL,YL
;----- output control
Loop:
sbic PinD,_JJY_PIn ;JJY input pulse Hi ?
sbi DDRB,_OC1A ;Yes, output ON
sbis PinD,_JJY_PIn ;JJY input pulse Lo ?
cbi DDRB,_OC1A ;Yes, output OFF
rjmp Loop