2006年11月16日

PIC16F88用テストプログラム @ 電子工作

img1 img2

PIC16F88用動作テストプログラムを少し書き換えたので、紹介します。以前PIC16F84用に使っていたモノをPIC16F88用に書き換えただけです。コンフィグ以外は殆どそのままです。

このプログラムを試す場合は、ポートB(0〜7)にLEDを繋いで、クロックは10MHzのセラロックを使用してください。PIC16F88は内蔵クロックが有るのですが、84のテスト回路をそのまま利用した関係上、セラロックを使う形になってます。20MHzなど違う周波数のモノを使う場合はウェイト部分を書き換えてください。

動作としては、所謂ナイトライダーの様に光が行ったり来たりするだけです。

以下にソースを書いておきます。

先ずは、SDCC用のCファイル。コンフィグの所はよく分かってない項目があるのですが・・・。

難しいことは何もやってないので適当に書き換えて利用して貰っても良いです。私も某所のソースを書き換えて、勉強したので、ご自由にどうぞ。

#include <pic16f88.h>
int at 0x2007 __config = _HS_OSC & _LVP_OFF & _WDT_OFF & _PWRTE_OFF & _CP_OFF & _BODEN_OFF & _MCLR_OFF & _CCP1_RB3;

unsigned char p[]={
0,1,2,4,
8,16,32,64,
128,32,16,8,
4,2,1
};

void wait_wait()
{
int i;

for(i=0;i<20000;i++);
}

void main()
{
int i;
TRISB = 0;/* PortBは全て出力モード */
while (1)
{
for(i=0;i<15;i++)
{
PORTB = p[i];
wait_wait();
}
}
}

自分でコンパイルする場合は、上記のソースをtest88.cで保存した場合、
sdcc -V -mpic14 -p16f88 test88.c
としてください。

次にコンパイルしたHEXファイルです。

:020000040000FA
:0600000000008A113E28F9
:06000A00831603138601BA
:1000100083120313B101B2013208803E803E031DFA
:1000200013280F303102031808283108203EB3008E
:100030000030B40032080318320FB40733088400CC
:1000400083133418831700088312031386002F20AC
:1000500083120313B10A0319B20A0C2808002030D6
:1000600083120313AF004E30B000FF30AF07031C04
:10007000B0032F083004031D352808008312031332
:10008000A0010130A1000230A2000430A30008301A
:10009000A4001030A5002030A6004030A70080301A
:1000A000A8002030A9001030AA000830AB000430AE
:0E00B000AC000230AD000130AE008A11052810
:02400E000A2F77
:00000001FF

この文字列を適当なファイル名(test88.hexなど)で保存してライターで書き込めば動くと思います。多分。(^_^;)

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

blog comments powered by Disqus

関連日記

アマゾン広告

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

▼日記検索

Mac

Shade

3D

Flash

ゲーム

ウェブ

音楽

映画

デジカメ

Windows

Linux

携帯電話

テレビ

広島

電子工作

iOS

▼ 最近のトラックバック

▼ランキング

▼関連サイト