「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 を点灯させる手順を解説します。
Curiosity ボードは多くの 8 bit PICをサポートしていますが、ここでは、ボードに付属していた PIC16F1619 を使用します。
この例では、「New Project...」から、CLCという名称のプロジェクトを作成しました。
もし、上記のような MCC ロゴが表示されていない場合には、MCC プラグインがインストールされていいるか確認してください。MCC のインストールは、ここ に説明があります。
MMCの初期設定のまま500kHz_MF Internal Clock を選択します。Notificationsタブにメッセージがありますが後ほど処理します。
右上のPackege表示がDIPでない場合、下部のPackege欄(赤丸)でDIPに変更します。
Device Resources ウインド内の Libraries list にある CLC icon 展開して CLC1 icon をダブルクリックします。
モジュールがロードされると CLC1 icon が、Project Resources に現れます。
CLC module がロードされると、Pin Manager に、利用できる CLC入出力pinが表示されます。
pin RC4 を CLCIN0 入力
pin RA5 を CLC1OUT 出力に、指定します。
これらのピンは Curiosity ボードの Push SW S1 と LED D4 に接続されています。
表示される画面を見ながら、マウスでクリックしながら希望のロジクを作ります。
以上で、RC4に接続されたSW S1の信号を反転し、RA5に接続されているLED D4を駆動するCLC1の設定が完了しました。
Notificationsタブをクリックし、警告の内容を確認します。
「選んだクロック周波数は、PLLのロック範囲外なのに、PLLが有効になっている」という警告が表示されています。
Sysyrm Module を表示し、PLL Enabeled のレ点を取り外しま。
問題が解消され、Notifications の数値が 1 --> 0 になりました。
Generate ボタンをクリックします。
MCC の自動生成したファイルの名称を指定して保存します。この例では「MyConfig.mc3」
MCCは、プロジェクトに以下の7本のファイルを登録します。
Program アイコンをクリックし、PICにプログラムを書き込みます。
書き込み終了後に、S1 ボタンを押すと LED D4 が点灯します。
プロジェクトファイルとコンパイル後のHEXファイルを掲載します。
プロジェクト A01_CLC.zip |
HEXファイル Curiosity_CLC.zip |