JJ1WKN Log

自作や移動運用関連のログです。

PIC 12F683 ビーコン発生装置の実験

2009-03-14 | PIC
136kHzCW送信機用にビーコン発生装置を作りましたが、AMやSSB送信機のテストに使えるように、トーン信号が出るようにしました。

CW用ビーコン発生装置のプログラムを少し改造して、キーダウンしている間に別のポートに800Hzくらいのトーン信号を出力するようにしました。
使用したのはPIC 12F683ですが、前回と同様に他のデバイスでもOKです。

今回は改造したプログラムのテストなので、ブレッドボードを使いました。
LEDはキーの代わりに確認用です。


プログラムを解説します。
DLT1とDLT3は、短点と長点を生成するためのループ回数です。
DLTは、トーン信号の半分の長さです。
const DLT1 as word = 160 '200ms / 1.25ms(800Hz) = 160
const DLT3 as word = 480 '600ms / 1.25ms(800Hz) = 480
const DLT as word = 625	 '800Hz=1.25ms 1250us/2=625us
dim i as word

toneはトーンの半周期の待ちルーチンです。
tone1とtone3で、GPIO.1をON/OFFして短点、長点分のトーンを発生させます。
sub procedure tone
  Delay_us(DLT)
end sub

sub procedure tone1
  for i=1 to DLT1
    GPIO.1 = 1
    tone
    GPIO.1 = 0
    tone
  next i
end sub

sub procedure tone3
  for i=1 to DLT3
    GPIO.1 = 1
    tone
    GPIO.1 = 0
    tone
  next i
end sub

key1とkey3では、キーダウンしている間にtoneを呼んで、トーンを発生させています。
sub procedure key1
	GPIO.0 = 1
	tone1
	GPIO.0 = 0
	dly1
end sub

sub procedure key3
	GPIO.0 = 1
	tone3
	GPIO.0 = 0
	dly1
end sub