プログラミングのあれこれプログラミングのあれこれプログラミングの技術を蓄えていくサイトです。プログラミングはもちろんのこと、アプリケーションやファームウェアなどの作成に必要な知識も蓄えていきます。メニューコンテンツへスキップトップページレポートレポート一覧メンバーログイン会員登録方法お問い合わせトップ›Microchip›PIC(1)-スイッチによるLED点灯PIC(1)-スイッチによるLED点灯ツイートPICはMicrochipTechnology社が製造しているマイコンです。PICはマイコンの一種で、CPUや入出力インターフェイス(I/O)、メモリ(RAM、ROM)が一つのICの中に搭載されたワンチップマイコンが主流です。以前のマイコンはCPUやI/O、RAM、ROMは別々のICとして分かれていたようです。PICは機能の違いやピン数の違い、メモリ容量の違いなどでさまざまな種類があります。今回は、PICを使用して、LEDを制御してみたいと思います。使用するマイコンは、PIC16F627Aです。以下のようなH/Wがセットになっている書籍があったので購入して使用しました。下記から統合開発環境「MPLABX」がダウンロードできるので、ダウンロードしてインストールしておきます。インストールするとXCコンパイラをインストールすかどうか問い合わせがあると思いますので、XC8コンパイラを忘れずにインストールしておいてください。https://www.microchip.com/mplab/mplab-x-ideそれではMPLABを実行して、開発環境を開きます新規プロジェクトを作成していきます。FileメニューよりNewProjectを選択します。Projectを選択して、Nextを選択します。ここでは、使用するデバイス(PIC)を選択して、Nextを選択します。使用するデバイスは、PIC16F627Aです。ヘッダーの選択画面が開かれますが、今回使用しないので、Nextを選択します。使用しているPICライターの選択ダイアログ開かれます。私はPICkit3を使用しているので、PICkit3を選択して、Nextを選択します。使用するコンパイラを選択するダイアログが開かれので、XC8を選択します。Xをインストールした時にはインストールすると思いますが、インストールしなかった場合は別途インストールしてください。プロジェクトの作成先を選択するダイアログが開かれます。Folderを設定します。Locationをドキュメントフォルダの中のMPLABフォルダにしました。Folderが自動で設定されます。日本語文字を使用する為に、EncordingはShift_JISを選択して、Finishを選択します。これで、新規プロジェクトの作成は完成です。画面左上側にプロジェクトが表示されているのがわかります。それでは、ソースファイルの作成に取り組みます。Fileを選択します。ファイル名を設定して、Finishを選択します。Fileのファイル名設定画面が表示されるので、ファイル名を設定して、Finishを選択します。Fileが作成されたので、この中にプログラムを書き込んでいきます。Projectを選択して、ソースをビルドします。125ms)と表示されます。ビルドしたファイルをPICに書き込む前に、PICkit3からPICへ電源供給する為の設定をします。Levelを3.25に設定しておきます。それでは、ビルドしたファイルをPICkit3を使用してPICに書き込みます。Projectを選択して、書き込みを実行します。completeと表示されます。SW1をクリックすると、LED1とLED2が光りました。このプログラムのソースコードについて解説していきます。<xc.h>ヘッダファイルの宣言です。xc.hを指定する事で、現在使用しているPICで宣言できるプログラムが設定されます。***コンフィグレーションのコードになり、PICのモード設定をしています。(void)C言語でおなじみのメイン関数です。それでは、メイン関数の中身を見ていきます。0x07;16F627AのPICは18端子ありますが、一つの端子に複数の役割を持っているので、設定しています。0xFF;ポートレジスタの電圧レベルを設定するコードです。0x21;ポートレジスタが入力か出力か設定しています。0が出力、1が入力になります。while(1)ループ宣言で、これもC言語でお馴染みですね。変数に「1」を指定しているので、無限ループになります。0)条件分岐宣言で、これもC言語でお馴染みですね。スイッチがONの時に、RA0が「0」になります。0;ポートレジスタの各端子に電圧レベルを設定しています。LEDは、アノード側が電圧レベル「1」、カソード側を電圧レベル「0」に設定する事で点灯します。今回の回路はアノード側には電源あるので、カソード側の電圧レベルを「0」にします。これらのコードを組み合わせる事で、LEDを点灯させています。→プロフィールName:prog仕事も趣味もプログラミング。知らないことが多いので、日々学習していきたいです。パソコンとネットに接続できる環境があれば、プログラミングをすることができるから魅力的。reserved.ログイン。