楽天市場
[無料でホームページを作成] [通報・削除依頼]

1kワードのTINYBASIC その8

◎AutoExec機能の実装

2020.04.27 追記
行の編集中にBSキーによる文字消去が機能していませんでした。
修正版(v0.95)をアップロードしました。
追記 ここまで


Flashに書き込んだBASICプログラムを自動実行するAutoExec機能を実装しました。

0:Ram, 1:Basic > のコマンド入力待ち状態から約8秒間キー入力が無いと、Flashに書き込んだプログラムが自動実行されます。
この機能により、BASICプログラムのスタンドアローンでの使用が可能となります。

自動実行までの時間待ちにはTMR0のオーバーフロー割り込みを使用しています。
TMR0のオーバーフロー割り込みの周期は0.25(us)x256x256=16.384(ms)
オーバーフロー毎にTMRH:TMRLをカウントアップする仕様ですので、上位TMRHのカウントアップ周期は4.194秒となります。

具体的にはTMRH=2となった時点でキー入力待ちを抜け、初期化(NEWコマンド)、プログラム実行(RUNコマンド)に移行します。

<PIC16F1703での実行例>
img_20190721-171337.jpg
<PIC16F1704での実行例>
img_20190721-171416.jpg
<PIC16F18313/323での実行例>
img_20190721-171501.jpg



〇インタープリタで使用する特別なアドレスの変更:AutoExec機能新設に伴い以下のように更新します。
<PIC16F1704>
img_20190721-164750.jpg

<PIC16F1703/18313/18323>
img_20190721-164917.jpg

上記変更を施した最新版のBASICインタープリタ(ver0.94)のダウンロードはこちらから

https://box.yahoo.co.jp/guest/viewer?sid=box-l-ynvbblq5wtn3l5nx64zrgryqbm-1001&uniqid=20d46824-114d-4879-a314-be9364ab3722&viewtype=detail

BSキー修正版(ver0.95)

https://drive.google.com/file/d/1Hty-a8a7JuDMu7OztcPiZy8Sc153aed1/view?usp=sharing