FC2ブログ

MOTUくんは電気羊の夢を見る

電脳世界を彷徨うMOTUくんのアドリアネーの糸。いわゆる備忘録

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

MPLAB IDE + PICkit3によるPICマイコンの開発

前回PCに「PICkit3」を接続し、PICの開発環境が整いました。

今回は実際にPIC「12F683」にプラグラムを書き込んでみます。

・メニュー欄「Project」⇒「Project wizard...」を選択
008_20111112233824.jpg

・「Project Wizard」が起動
009_20111112233824.jpg

・PICの選択をする。今回は「12F683」を用いるため、「12F683」を選択する。
010_20111112233823.jpg

・フリーのC言語コンパイラである「HI-TEC C」を選択
011_20111112233823.jpg

・新しいプロジェクトファイルを作成します。(「Browse」ボタンを押して、必要であればフォルダを作成する)
今回は、「12F683」というフォルダを作成し、「TEST」という名前のプロジェクトを作成しました。
014_20111113000405_20111113000800.jpg

・特に気にせず次へ行きます。
015_20111113000405.jpg

・「Project Wizard」の完了
016_20111113000404.jpg

・プロジェクトが作成されました。
017_20111113000404.jpg

・プロジェクトファイルだけで、プログラムのソースコードは入っていません。
018_20111113000403.jpg

・プログラムコードを書くためのファイルを挿入します。メニュー欄「File」⇒「Add New File to Project...」を選択する。
021.jpg

・プログラムコードを書くファイル名を決め、ファイルを作成する(今回は「main.c」としています)
022.jpg

・プロジェクトに「main.c」が挿入されました。
023.jpg

・このままでは文字が非常に見にくいため、設定を行います。メニュー欄「edit」⇒「Properties」を選択します
024.jpg

・お好みですが、「Tab size」は2にしました。
025.jpg

・「Text」タブで「Select font」より「MSゴシック」、「サイズ12」、「日本語」を選択しました。
026.jpg
027.jpg

・作成した「main.c」にプログラムを書き込みます。
下はLEDランプの点滅参考例です。
150μ秒GP2端子がON、4750μ秒GP2端子がOFFとなり、5m秒周期(200Hz)でON、OFFを繰り返します。



#include <htc.h>
#define _XTAL_FREQ 8000000 //PICの動作クロック8MHz __delay関数に必要

__CONFIG(FOSC_INTOSCIO & WDTE_OFF & PWRTE_ON
& BOREN_ON & MCLRE_OFF & IESO_OFF
& FCMEN_OFF & CP_OFF) ;

//コンフィグレーション設定
//(内蔵クロックを使用(CLKOUTは汎用入出力) & ウォッチドッグタイマ無効化 & パワーアップタイマ有効
// & ブラインアウト有効 & MCLRは汎用入力 & 2速度スタートアップ切替負荷
// & クロックモニタ検出不可 & プロテクト無効)
//旧版(MPLAB IDE v8.66以前)はコンフィグレーション設定やレジスタ名が異なるため注意

void main(void){

OSCCON = 0b1110000;
//111=8M 110=4M 101=2M 100 = 1M 011=500k 010=250k 001 =125k 000=31k
//1=外部クロック 0=内蔵クロック (発振器使用状態)
//1=発振安定 0=発振不安定 (高速クロック)
//1=発振安定 0=発振不安定 (低速クロック)
//1=内蔵クロック使用 0=コンフィグレーション指定のクロック使用

ANSEL = 0b1000; //GP4(AN3)以外デジタル設定
CMCON0 = 0b111; //コンパレータオフ GP0 GP1 GP2はデジタル入出力で使用
TRISIO = 0b011000; //GP 5,4,3,2,1,0 (1=入力; 0=出力)

while(1){
GP2 = 1;//GP2 = High
__delay_us(150); //150μ秒遅延 (__delay_ms(1);で1ミリ秒)
GP2= 0;//GP2 =Low
__delay_us(4850); //100μ秒遅延
}
}


・プログラムを作成したら、ブレッドボード上にPICマイコン「12F683」を設置し、ジャンパーワイヤーで接続します。
4番ピンはプルアップ抵抗が入っていないため、デジタル入力として利用する場合は、プルアップ抵抗を入れてやる必要があります。(今回は4.7kΩ)を入れています。
DSC01907_R.jpg
・回路図は以下になります。
Untitled.png

・PIC kit3は右から5本を使います。
DSC01911_R.jpg

・PIC Kitのケーブルをブレッドボードに接続します。
写真黄色のケーブルがPICの4番ピン、赤色がPICの1番ピン、黒色がPICの8番ピン、
青色がPICの7番ピン、オレンジ色がPICの6番ピンに入力されるようにします。
DSC01916_R.jpg
DSC01918_R.jpg

・マイコンの接続が終わったら、作成したプログラムをビルドします。
メニュー欄「Project」⇒「Build」を選択します。
028.jpg

・「Out Put」画面に「Build Successful」と表示されたら、無事ビルド終了です。
エラーが出た場合はその場所をクリックすると自動的にエラー箇所に飛んでくれます。
・ビルドできた場合はそのままPICに書き込みます。自動的に書き込まれない場合は、
メニュー欄「Programmer」⇒「Program」を選択します。
029.jpg

・GP(PIC 5番ピン)がON OFFしているはずなので、1kΩの抵抗とLEDを接続し、点灯していれば成功です。
点滅しているかどうかは、遅延時間を大きくするか、オシロスコープを使って確認します。
DSC01924_R.jpg
・回路図は以下になります
Untitled_2.png

・オシロスコープで確認したところ、ON時間は151μ秒でした。
030.jpg

・周期は理想値200Hzに対して、199.538Hzでした。メイン関数で無理やり作っていますが、
遅延時間を調整したり、PWM機能等を用いることでより精度の高いパルスを生成可能です。
031.jpg



・PICを始めるにあたって、「8ピンPICマイコンの使い方がよくわかる本 」後閑 哲也 (著) が
大変分かりやすく参考になりました。初めてPICを触る人には重宝すると思います。


スポンサーサイト
  1. 2011/11/13(日) 00:12:19|
  2. PIC関連
  3. | トラックバック:0
  4. | コメント:0
<<PIC「12F683」でPWM機能を使ってみる(MPLAB IDEによるPICマイコン開発) | ホーム | MPLAB IDE + PICkit3によるPICマイコンの開発(準備編)>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://motuelectro.blog.fc2.com/tb.php/15-9b78b591
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

MOTU

Author:MOTU

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

ブログ内容一覧 (2)
自作PC (5)
PIC関連 (6)
車関連 (2)
スマートフォン (3)

来訪者

検索フォーム

RSSリンクの表示

リンク

このブログをリンクに追加する

QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。