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入門
>>関連リンク
関連日記
- 2006年11月04日 PICライター到着 (9078)@ 電子工作
- 2006年11月04日 SDCC - Small Device C Compiler (7346)@ 電子工作
- 2006年11月01日 Mac OS XでPIC開発 (4539)@ Mac
- 2006年11月05日 SDCCとGPUTILSでPIC開発 (4388)@ 電子工作
- 2006年11月06日 awkでファイル名を小文字に (2492)@ Mac
アマゾン広告
この日記ページは閲覧数などの条件に応じて、閲覧制限を行っています。他からリンクしていただいても、そのリンクから辿った閲覧者が当ページの内容をご覧頂けない場合があります。ご了承下さい。