目次
前
次
擬似DC/AC変換器
直流12VからAC100Vを生成する回路を作成しました。
この回路に、商用電源用トランスを接続します。
(中点タップのあるトランスを利用)
回路図は、以下。
データセレクタを利用し、パワートランジスタをON/OFF。
データセレクタは、ゲートピンがあるので、これを'L'にして
SELにクロックを与えます。トランジスタのベースにクロック
が与えられるので、パワートランジスタをON/OFFします。
最初にゲートピンを'L'にしてから、OUT_1に1、0を出力する
ことを繰り返します。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 OUT 1,1 : WAIT 6
60 OUT 1,0 : WAIT 6
70 GOTO 50
80 END
クロック出力をサブルーチンにして、考えやすくします。
100 ' subroutine
110 OUT 1,[1]
120 WAIT 6
130 RETURN
サブルーチンを呼び出す前に、配列[0]の値を決めます。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 LET [1],1,0 : GOSUB 100
60 LET [1],[2] : GOSUB 100
70 GOTO 50
80 END
配列[0]、[1]に1、0を格納しておき、[0]の値を出力したなら
[1]に含まれている値をコピーして、[0]の値を出力します。
配列をシフトレジスタとして使い、1ビットシフトで
サブルーチンを利用。サブルーチンは、複雑な処理を
しないでよくなります。
サブルーチンと合体。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 LET [1],1,0 : GOSUB 100
60 LET [1],[2] : GOSUB 100
70 GOTO 50
80 END
100 ' subroutine
110 OUT 1,[1]
120 WAIT 6
130 RETURN
配列[0]、[1]を利用するため、サブルーチンもFOR文で
まとめることも可能。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 LET [1],1,0
60 GOSUB 100
70 GOTO 60
80 END
100 ' subroutine
110 FOR I=1 TO 2
120 OUT I,[I]
130 WAIT 6
140 NEXT
150 RETURN
サブルーチンを使わないで、短くできます。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 LET [1],1,0
60 FOR I=1 TO 2:OUT I,[I]:WAIT 6:NEXT
70 GOTO 60
80 END
ラベル利用で、よりわかりやすくできます。
10 ' dc-ac
20 OUT 1,0 : OUT 2,1
30 WAIT 60
40 OUT 2,0
50 LET [1],1,0
60 @LOOP
70 FOR I=1 TO 2:OUT I,[I]:WAIT 6:NEXT
80 GOTO @LOOP
90 END
目次
前
次