HIGH (Hz) | |||||
1209 | 1336 | 1477 | 1633 | ||
LOW (Hz) | 697 | 1 | 2 | 3 | A |
770 | 4 | 5 | 6 | B | |
852 | 7 | 8 | 9 | C | |
941 | * | 0 | # | D |
回路図

部品表
IC CM8870PI
クリスタル 3.58MHz
抵抗 100kΩ
抵抗 300kΩ
コンデンサ 0.1μF
マイク 高感度マイクアンプキット(秋月)
LED 3mm(赤、緑)
抵抗 200Ω
製作 DTMFレシーバIC [ CM8870PI ] はデコードトーンをQ1(11pin)からQ4(14pin)の4ビットデータとして出力される。さらに信号の解析に成功すると、1StD(15pin)がHiになる。したがって、StDがHiになったときのQ1~Q4の4ビットを読み取り、対応のキーをディスプレイに表示させる。
KEY | Q4 | Q3 | Q2 | Q1 |
1 | 0 | 0 | 0 | 1 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 0 | 1 | 0 | 0 |
5 | 0 | 1 | 0 | 1 |
6 | 0 | 1 | 1 | 0 |
7 | 0 | 1 | 1 | 1 |
8 | 1 | 0 | 0 | 0 |
9 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 1 | 0 |
* | 1 | 0 | 1 | 1 |
# | 1 | 1 | 0 | 0 |
A | 1 | 1 | 0 | 1 |
B | 1 | 1 | 1 | 0 |
C | 1 | 1 | 1 | 1 |
D | 0 | 0 | 0 | 0 |
緑LEDは電源、赤LEDはStDに繋がっています。
プログラム的には、信号を受信するとKEYを表示し、
[CLS]キーで画面消去、[SPACE]キーで改行を行う。


10 OPEN "PIO:"
20 PIOSET &H1F 4~8pinを入力モードに設定
30 DIM KY$(15)*1 KEY定義
40 FOR I=0 to 15
50 READ KY$(I)
60 NEXT I
70 DATA D,1,2,3,4,5,6,7,8,9,0,*,#,A,B,C
100 WHILE 1
110 A=PIOGET
120 IF A<16 THEN SD=0
130 IF (A>=16)*(SD=0) THEN PRINT KY$(A-16);:SD=1:T1=1:T2=1
140 Z$=INKEY$:Z=ASC Z$
150 IF (Z=&H02)*(T1=1) THEN CLS:T1=0 CLSキーで画面クリア
160 IF (Z=&H20)*(T2=1) THEN PRINT "":T2=0 スペースキーで改行
170 WEND
0 件のコメント:
コメントを投稿