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

ホーム
12F1822
16F1455
16F1459
18F14K50
18F26J50
dsPIC
その他
    
16F18313
16F18325
16F18346
16F1619
Curiosity
---
---
SWでLEDをOn/Off - CLCを使う
2017-11-12

「SWでLEDをOn/Off」は、通常ソフトウェアでSWの接続されている端子を常時監視し、SWが押されるとLEDが接続された端子の電圧をHiにします。しかし、PIC16F1619のCLC機能の設定さえしておけば、PIC コアは、LED点滅のための命令ルーチンを実行することなく、独立したハードウエアだけで「SWでLEDをOn/Off」を実現できます。
MCCの CLC module を使い、8-bit Curiosityボード上の Push SW ボタンを押すとLED D4 を点灯させる手順を解説します。

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

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

2 MPLAB X IDE で MCC を起動

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

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

MMCの初期設定のまま500kHz_MF Internal Clock を選択します。Notificationsタブにメッセージがありますが後ほど処理します。
右上のPackege表示がDIPでない場合、下部のPackege欄(赤丸)でDIPに変更します。

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

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

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

5 CLC 入出力の指定

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

6 CLC ロジックの設定

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

以上で、RC4に接続されたSW S1の信号を反転し、RA5に接続されているLED D4を駆動するCLC1の設定が完了しました。

7 MCC 警告の確認

Notificationsタブをクリックし、警告の内容を確認します。

「選んだクロック周波数は、PLLのロック範囲外なのに、PLLが有効になっている」という警告が表示されています。

8 問題の解消

Sysyrm Module を表示し、PLL Enabeled のレ点を取り外しま。
問題が解消され、Notifications の数値が 1 --> 0 になりました。

8 Code 生成

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

MCC の自動生成したファイルの名称を指定して保存します。この例では「MyConfig.mc3」
MCCは、プロジェクトに以下の7本のファイルを登録します。

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

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

11 動作の確認

書き込み終了後に、S1 ボタンを押すと LED D4 が点灯します。

12 ダウンロード

プロジェクトファイルとコンパイル後のHEXファイルを掲載します。

プロジェクト A01_CLC.zip

HEXファイル Curiosity_CLC.zip