Curiosityの基本動作から応用プログラムまでを学びます。

ホーム
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
    
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
TMR2 HLT でチャタリング防止
2020-11-2 rev

SWのチャタリング防止は、通常ソフトウェアプログラムで対応処理します。しかし、PIC16F1619の強化されたTimer2 Hardware Limit Timer(HLT)機能とCLC機能の設定さえしておけば、PIC コアは、チャタリング防止のための命令ルーチンを実行することなく、独立したハードウエアだけ (Core Independent Peripherals : CIPs),でチャタリングの排除された信号を供給できます。

一般的にSWからの出力波形は、下図SW波形に示されるようSWの接点が安定するまで何回かOn/Offを繰り返します。不安定な時間は、3−5mSほどなので、SWの変化が始まってから10mS程度たてば SW出力は安定します。今回のプログラム例では、信号が変化すると、Timer2 がスタートし 10ms後にパルスを出力します。 10ms後であれば、不安定な状態は解消しているので、信号を D Laatch に読み取り LED に出力します。結局、RC4 に接続されている Push SW を押している間、4つの LED が点灯するものです。

1 MPLAB® X プロジェクトの作成

Curiosity ボードは多くの 8 bit PICをサポートしていますが、ここでは、ボードに付属していた PIC16F1619 を使用します。
この例では、「New Project...」から、Debounceという名称のプロジェクトを作成しました。

2 MPLAB X IDE で MCC を起動

もし、上記のような MCC ロゴが表示されていない場合には、MCC プラグインがインストールされていいるか確認してください。MCC のインストールは、ここ に説明があります。

MCCが起動すると、自動生成するファイル名称を指定しするダイアログが現れます。この例では「MyConfig.mc3」とし保存します・

3 システムクロックの設定

MMCの設定から4MHz_HF を選択し、PLL Enabled のレ点を外します。
右上のPackege表示がDIPでない場合、下部のPackege欄(赤丸)でDIPに変更します。

4 Timer 2 (TMR2) Module のロード

Device Resources ウインド内の Libraries list にある Timer icon 展開して TMR2 icon をダブルクリックします。

モジュールがロードされると TMR2 icon が、Project Resources に現れます。

5 TMR2 の設定

表示される画面を見ながら、マウスでクリックして設定します。

6 T2IN 入力の指定

TMR2 module がロードされると、Pin Manager に、利用できる T2IN入力pinが表示されます。
pin RC4 を T2IN入力に、指定します。
このピンは Curiosity ボードの SW 1 に接続されています。

7 Configurable Logic Cell (CLC) Module のロード

Device Resources ウインド内の Libraries list にある CLC icon 展開して CLC1 icon をダブルクリックします。

モジュールがロードされると CLC1 icon が、Project Resources に現れます。

8 CLC 入出力の指定

CLC module がロードされると、Pin Manager に、利用できる CLC入出力pinが表示されます。
pin RA1,RA2,RA5,RC5 を CLC1OUT 出力に、指定します。
これらのピンは Curiosity ボードの LED D4 - D7 に接続されています。

RC4 を CLC1OUT 入力に、指定します。
このピンは Curiosity ボードの SW に接続されおり、すでに。Timer2 の入力に指定されています。CLC1とTimer2の両方に同じ信号を入力します。

9 CLC ロジックの設定

表示される画面を見ながら、マウスでクリックし希望のロジクを作ります。

以上で、RC4に接続されたSW S1の信号を、4灯の LED を駆動するCLC1の設定が完了します。

10 Code 生成

Generate ボタンをクリックします。

11 プロジェクトのコンパイルと書き込み

Program アイコンをクリックし、PICにプログラムを書き込みます。

12 動作の確認

書き込み終了後に、Push SW(S1)を押すと LED D4 - D7 が同時に点灯し、離すと消灯します。