本PICマイコンには、あらかじめプログラムが書き込まれているので、PICマイコンをいじる必要はありませんが、PICマイコンのプログラムを拡張される方は、次の事項を参考にして下さい。
マイコン開発ソフトは、「マイクロチップ社のMPLAB IDE v8.10(無料)」を利用しています。
尚、プロジェクトファイル名は、ファイル名だけでなくそのファイルを置くパスも、すべて半角英数字にしないと、動きません。
日本語のフォルダーに入れ、ファイル名を半角英数字では動きませんので、注意して下さいね。
(例 C:\モータ\motor\motor.mcp は、「モータ」が日本語のフォルダーなので動きません。)
delay関数を利用していますので、次の作業をしています。(パソコンのシステムは、Cフォルダーにあることとします。)
C:\Program Files\HI-TECH Software\PICC\LITE\9.60\samples\delayのdelay.cとdelay.hを、プロジェクトファイルと同じフォルダーにコピーする。
そしてコピーしたdelay.hの #define XTAL_FREQ 4MHZ の4を10に変更。
ちなみに、使用したファイルをダウンロード(右クリックして、対象をファイルに保存)できるようにしておきました。
ダウンロード出来るファイルは、4を10に変更してあります。
delay.cファイルのダウンロードはこちらです。(delay.c)
delay.hファイルのダウンロードはこちらです。(delay.h)
PIC16F84Aマイコンには、次のC言語プログラムが書き込まれていますので、そのままコピーして利用することが出来ますが、マイコンへ書き込む機材によって、コンフィグの書き方が違うので、そのままソースをコピーして書き込んでも、上手く動作しないかもしれません。
その際は、HEXファイルをダウンロード(右クリックして、対象をファイルに保存)して、書き込んでみて下さい。
HEXファイルのダウンロードはこちらです。(motor01.hex)
C言語ソースは、この下からコピーしてご利用下さい。
#include<pic.h>
#include"delay.h"
#include"delay.c"
__CONFIG(HS & WDTDIS & PWRTEN & UNPROTECT);
void main()
{
TRISA = 0b11111; /*TRISは入出力設定 0が出力 1が入力*/
TRISB = 0b00000000; /* TRISB = 0;と同じ */
int x;
x=1;
while(1)
{
if(RA0 == 0){
PORTB=0b1001;
DelayMs(x);
PORTB=0b1100;
DelayMs(x);
PORTB=0b0110;
DelayMs(x);
PORTB=0b0011;
DelayMs(x);
}
if(RA0 == 1){
PORTB=0b0011;
DelayUs(255);
DelayUs(255);
DelayUs(255);
DelayUs(255);
PORTB=0b0110;
DelayUs(255);
DelayUs(255);
DelayUs(255);
DelayUs(255);
PORTB=0b1100;
DelayUs(255);
DelayUs(255);
DelayUs(255);
DelayUs(255);
PORTB=0b1001;
DelayUs(255);
DelayUs(255);
DelayUs(255);
DelayUs(255);
}
}
}
|