Quantcast
Channel: JH7UBCブログ
Viewing all articles
Browse latest Browse all 440

IchigoJamモールス解読器

$
0
0
 IchigoJamBAISCの練習として、定番のモールス符号解読器のプログラムを作ってみました。
 
 
 短点(DOT)、長点(DASH)の長さは、TICK()命令を使い、信号が1から0、0から1に変化した時のTICK()の値を取り込んで計算します。
 
 モールス信号はIN1に入れます。今回は、PICエレキーの信号を入れました。
 
 解読した文字をTera Termに出力した画面です。
 
イメージ 1
 
 
プログラムは、こんな感じでコンパクトです。
 
10 'MORSE DECODER Ver0.5 BY JH7UBC
20 CLT:CLV:X=1
30 LET [2],69,84,73,65,78,77,83,85,82,87,68,75,71,79,72,86,70,0
40 LET [20],76,0,80,74,66,88,67,89,90,81,0,0,53,52,0,51,0,0,0,50
50 LET [40],0,0,0,0,0,0,0,49,54,0,47,0,0,0,0,0,55,0,0,0
60 LET [60],56,0,57,48:LET [76],63:LET [85],46:LET [90],64:LET[97],45
100 IF IN(1) THEN GOTO 100 ELSE A=TICK()
110 IF IN(1)=0 THEN GOTO 110 ELSE B=TICK()
130 IF B-A<8 THEN X=X<<1 ELSE X=X<<1:X=X|1
140 IF IN(1) THEN GOTO 140 ELSE C=TICK()
150 D=C-B
160 IF D<8 A=C:GOTO 110
170 IF X=115 ?",";:GOTO 190
180 IF X>101 THEN ?" "; ELSE ? CHR$([X]);
190 IF D>20 ? " ";
200 X=1:CLT:GOTO 100
今のところ、10WPM~30WPM程度まで解読できます。
 
細部の調整など、もう少し改良したいと思います。

Viewing all articles
Browse latest Browse all 440

Trending Articles