PIC18マイクロコントローラーC言語プログラミング:ステップバイステップ完全ガイド
PIC18マイクロコントローラーをC言語でプログラムする:ステップバイステップチュートリアル(図解付き)
マイクロコントローラーのプログラミングとは
特殊ソフトウェアでマイコン用コードを記述すること。多数のソフトウェアがあるが、本稿ではPIC18をC言語でプログラミングする手順を解説。Cは広く使われ、8/16ビットPICでアセンブリ以外の唯一サポート言語。
PICシリーズ分類
- 8ビットPIC: PIC10, PIC12, PIC16, PIC18シリーズ
- 16ビットPIC: PIC24, dsPIC30, dsPIC33シリーズ
- 32ビットPIC: PIC32シリーズ
プログラムをマイコンに書き込む(バーンする)方法
コンパイラ(コード記述・解析・テスト・デバッグ用ソフト)で生成したHexファイルを、ハードウェア(ライター/プログラマー)経由でUSB/シリアル接続し、マイコンメモリに転送。Hexファイルにはマイコンが理解できる特殊命令が含まれ、書き込み後はプログラム通りに動作。
PIC18マイクロコントローラーのC言語プログラミング
ターゲットコントローラー紹介:PIC18F452
Microchip Technology製(業界2位)。PIC18シリーズの代表格。8ビット、40ピン、32KBプログラムメモリ、最大40MHz動作。25mAシンク/ソース可能でLED直接駆動OK。外部割り込み3ピン、16ビットタイマー2つ、8ビットタイマー1つ。キャプチャ/コンパレータモジュール、内蔵ADC搭載で外付け不要。RS232、I2C、1-Wire、パラレルスレーブポート等通信モジュール内蔵。初心者からプロまで幅広く対応。
プログラミング環境:MikroC for PIC
豊富な組み込みライブラリ、使いやすいインターフェース、各種計算機(16進/2進/10進変換等)搭載。サイズ小さく軽快。MPLABと文法が異なるが、読みやすい構文と豊富なライブラリ(delay、LCD、RS232等)で開発時間短縮。※MikroCは有料。MicrochipのMPLAB X IDEとXC8コンパイラは無料で多くのライブラリ提供。
MikroCで新規プロジェクト作成
- MikroCアイコンをダブルクリックで起動。
- 右上「Project」ボタン→「New Project」クリック。
- ターゲットMCU、クロック速度、プロジェクト名・保存先設定。以降は「Next」連打。
- プログラミング環境(コード記述・コンパイル画面)が表示。
PIC18用コード記述のポイント
PIC18F452は5ポート(4つは8ビット、1つは4ビット)。本チュートリアルでは8ビットポート使用。重要点:
- ポートの入出力設定: 各ポートにTRISxレジスタ(x=A,B,C,D,E,F)。出力=0x00、入力=0xFF。個別ピン設定も可能(例:0x09でRB0/RB3入力、他出力)。
- 遅延関数: ライブラリ選択済みなら
Delay_ms(ミリ秒)で簡単実装。例:Delay_ms(500)で500ms待機。
最初のシンプルなポートトグルコード
void main() {
TRISB = 0x00; // PORTBを出力に設定
while(1) { // 無限ループ
PORTB = 0x00;
Delay_ms(500);
PORTB = 0xFF;
Delay_ms(500);
}
}
記述後、「Build All」ボタンでコンパイル。保存フォルダにHexファイル生成。PICkit等のハードウェアでPIC18F452に書き込み、またはProteusでシミュレーション可能。
関連記事
- マイクロプロセッサーとマイクロコントローラーの違い
- 8085と8086マイクロプロセッサーの違い
- MAX232:構造、動作、種類、応用
- RS232シリアル通信プロトコルと仕組み
- 555タイマー使用クラップスイッチ回路
- 電気/電子エンジニア向けオンライン設計・シミュレーションツール10+
- SMD抵抗コード:SMD抵抗値の見方
産業技術
- 堅牢な電気メンテナンスプログラムの構築:実践ガイド
- 信頼性プログラム立ち上げ:実証済みロードマップ
- 成功する製造業見習いプログラムの立ち上げ:実践ガイド
- 堅牢な機器メンテナンスプログラム構築でダウンタイムを削減する方法
- アルミニウム溶接マスターガイド:難易度の理由から工法選定・コツまで徹底解説
- 鋳鉄溶接のエキスパートガイド:強力で耐久性のある接合のための実証済みテクニック
- アルミニウム半田付けのマスター:エキスパート技術と実践ガイド
- アルミニウムブレージングのマスター:エキスパート技術と実践ガイド
- 銅溶接のエキスパートガイド:技術、ヒント、ベストプラクティス
- 信頼性の高い電気メンテナンスプログラム設計で安全性と生産性を向上
- クラッチのメカニズム:産業向け包括ガイド