RRP1320-1-03 の汎用タイマー定数は、下図のように疑似命令 DE で定義され EEPROM に記録しています。 この先、温度センサーによるモーター出力機能を追加した後で、赤外線リモコンを使って、タイマー定数や温度定数を変更可能にしたいと考えていますが、今のところ余分なマン・マシン・インタフェースを作らずに応用が容易な形で提供しています。
最初の 0FFH は、DE 疑似命令は奇数番地から使えない為に直前の偶数番地に 0FFH を書き込むダミーデータです。 次がプレタイマーの時間の最上位部で、0~17時間までの値をBCDで定義します。 (例 12時間=012H )
2行目の最初がプレタイマーの中間部分で、0~59分までの値をBCDで定義します。 次がプレタイマーの最下位部分で0~59秒までの値のBCDを定義します。
3行目の最初がイベントピッチタイマーの最上位部で0~59分までのBCD値、次がイベントピッチタイマーの中間部分で0~59秒までのBCD表現値です。
4行目の最初がイベントピッチタイマーのリピート数0~9回を上位 4bit に、イベントピッチタイマーの最下位部0~9(x 0.1秒)を下位 4bit とするBCD値です。
4行目の2番目はイベントタイマーの最上位部で0~59分までのBCD値です。
5行目の最初がイベントタイマー中間部で0~59秒までのBCD表現値を定義します。
5行目の2番目がシーケンスのリピート数0~9回を上位 4bit に、イベントタイマーの最下位部0~9(x 0.1秒)を下位 4bit とするBCD値です。
イベントピッチタイマー及びシーケンスのリピート値を0にすると、各々電源 OFF または強制終了まで繰り返す指定になります。 イベントピッチタイマーのリピート数が0の場合、プレタイマーは最初の1回だけ実行される結果になります。
上図の設定のサンプルプログラムでは、タイマー起動5秒後にLED(RB4)を5回点滅(0.1秒点灯、0.1秒滅灯)させる合計6秒間のシーケンスを、電源OFFまたは強制終了まで繰り返します。
サンプルでは、赤外線リモコンの中間コードで11番に登録したボタンを押すとタイマーが起動し、中間コードで12番に登録したボタンで強制終了するように作っています。
RRP1320-1-03 関連記事のインデックスはこちらです。 → RRP1320-1-03 概要
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。
最初の 0FFH は、DE 疑似命令は奇数番地から使えない為に直前の偶数番地に 0FFH を書き込むダミーデータです。 次がプレタイマーの時間の最上位部で、0~17時間までの値をBCDで定義します。 (例 12時間=012H )
2行目の最初がプレタイマーの中間部分で、0~59分までの値をBCDで定義します。 次がプレタイマーの最下位部分で0~59秒までの値のBCDを定義します。
3行目の最初がイベントピッチタイマーの最上位部で0~59分までのBCD値、次がイベントピッチタイマーの中間部分で0~59秒までのBCD表現値です。
4行目の最初がイベントピッチタイマーのリピート数0~9回を上位 4bit に、イベントピッチタイマーの最下位部0~9(x 0.1秒)を下位 4bit とするBCD値です。
4行目の2番目はイベントタイマーの最上位部で0~59分までのBCD値です。
5行目の最初がイベントタイマー中間部で0~59秒までのBCD表現値を定義します。
5行目の2番目がシーケンスのリピート数0~9回を上位 4bit に、イベントタイマーの最下位部0~9(x 0.1秒)を下位 4bit とするBCD値です。
イベントピッチタイマー及びシーケンスのリピート値を0にすると、各々電源 OFF または強制終了まで繰り返す指定になります。 イベントピッチタイマーのリピート数が0の場合、プレタイマーは最初の1回だけ実行される結果になります。
上図の設定のサンプルプログラムでは、タイマー起動5秒後にLED(RB4)を5回点滅(0.1秒点灯、0.1秒滅灯)させる合計6秒間のシーケンスを、電源OFFまたは強制終了まで繰り返します。
サンプルでは、赤外線リモコンの中間コードで11番に登録したボタンを押すとタイマーが起動し、中間コードで12番に登録したボタンで強制終了するように作っています。
RRP1320-1-03 関連記事のインデックスはこちらです。 → RRP1320-1-03 概要
「楽々PIC」は楽しい道具を作りながら学ぶブログを目指します。