DDSVFO修正記録
1. Rotary Encoder 150 pulse -> 200 pulse
1.1 VFO_CTC.ASM修正点
- SWreadの後、AレジスタにはREの値(PIOA B7/B6)と各スイッチの値(PIOB
B3-B1)の両方が入っているが、タイマー割り込み処理の中で、そのまま
REregの内容と比較していたために、回転停止の検出が出来ていなかった。
→ call SWreadの後、and 0C0Hを追加
- REendの中で、REregにAレジスタの内容を保存する部分で、上記同様0C0Hで
andを取り、encoder出力のみを保存するように修正
- オリジナルでコメントアウトされていた、REの回転方向検出部分のコメント
を外した(4行)
2. OSCモード時のUnderflow/Overflow処理追加
2.1 VFO_CTC.ASM修正点
- RER処理中、call ad32の直後に、以下の3行を追加。
※この時、HLにはDDS_FREQ+3が入っている(はず)
ld a,(hl)
and 01H
ld (hl),a
- REL処理中、call sb32の直後に、以下の3行を追加
ld a,(hl)
and 01H
ld (hl),a
3. 周波数表示で1Hzよりさらに下げると表示が消える点の修正
3.1 STRING.ASM修正点
- サブルーチンFprint内、ラベルFprt21内で、8桁目がゼロの時に表示を消し
ている処理をコメントアウト
4. 無線機に合わせた修正
4.1 VFO.ASM修正点
- オリジナルでFT-50用オフセットおよびバンド情報の部分のデータを自己所
有のリグに合わせて変更
- 合わせて、ラベル名にFT50と入っていた部分をAtlas210xに変更
5. SLOWモード時に、FASTでのステップをNORM分にする修正
5.1 VFO.ASM修正点
- mainの中で、200ms毎にエンコーダの変移量が20以上だった場合、FASTモー
ドに設定する前に、SLOWスイッチが押されているか調べ、押されていたら
REspeedをNORMspeedにする処理を追加
6. OSCモード時の+/- 1MHz処理の追加
6.1 VFO.ASM修正点
- サブルーチンUP_Downの追加
- OSCモード処理時に上記追加UP_Downサブルーチンを呼ぶ処理を追加
7. その他
7.1 LCD_AKI4.ASMの修正点
- LCD表示が突然一行だけになってしまう問題と関連があるかどうか不明だが、
サブルーチンLCDxyの中で、LCDoffs-1をHLに入れていた部分をLCDoffsにし
て、直後にdec cとするように変更(^^;
7.2 VFO.ASMの修正
- OSCモード時にLCDの二行目に何も表示されないのは淋しいので、自分のコー
ルサインを表示する処理を追加(^^;
改訂履歴
1999.07.13 JE1RYH 第一版作成