2006年11月01日

LED点滅サンプル C言語版(PIC16F84) @ 電子工作

PICの勉強の参考にしているウェブページ「2000円以下から始められるPIC入門」にある「LED点滅サンプル C言語版」をpic_cc用に書き換えてみました。そのままのウェイトの入れ方ではエラーが出ていたので、そこは大幅に書き換えました。記述が違うので、この辺の数字は適当に加減してください。(本当はウェイトの部分は関数にした方がよいのですが、オリジナルに近い形で、コンパイルが通るようにしただけなので、こんな書き方になってます。)

ちなみにまだ動作確認をしてません。(^_^;)

#include "pic_io.c"

char i,j;

main()
{
SetP_B(0x00);

while(1){
WrPortB(0XFF);

for(i=0;i<255;i++){
for(j=0;j<255;j++);
}
WrPortB(0XAA);
for(i=0;i<255;i++){
for(j=0;j<255;j++);
}
WrPortB(0XFF);
for(i=0;i<255;i++){
for(j=0;j<255;j++);
}
WrPortB(0X55);
for(i=0;i<255;i++){
for(j=0;j<255;j++);
}

}
}

上記のファイルをledtest.cとして保存した後、/pic_cc/pic_io/pic_io.cをledtest.cと同じディレクトリーにコピーして下記のコマンドを実行。

pic_cc ledtest.c

を実行し、No errorsが出れば問題なしです。何らかのエラーが出れば、何か間違っていると思われます。私が陥った失敗としては改行コードがあります。LFで無ければダメっぽいです。CRとかCR+LFでは大量のエラーが出ます。次はアセンブラですが、PIC16F84を使っている場合は、ledtest.asmをテキストエディタで開いてinclude "16c84.h"をinclude "16f84.h"に書き換えてください。16f84.hは/pic_cc/pic_libに入ってますので、16f84.hをledtest.asmと同じ場所に置きます。準備が整ったら次のコマンド。

picasm ledtest.asm

エラーが出なければ、成功です。ledtest.hex が出来ているはずなので、そのファイルをPICに書き込めば動くはず。多分。

(注) pic_cc(Cコンパイラ)やpicasm(アセンブラ)は事前にインストールが必用です。

最後に、オリジナルの「LED点滅サンプル C言語版」やテスト回路の紹介があるページを書いておきます。

2000円以下から始められるPIC入門
>>関連リンク

閲覧数: 10284 / はてなブックマークusers

関連商品

amazon.co.jp・詳細ページへ

blog comments powered by Disqus

関連日記

アマゾン広告

この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト