WASA-DENSOH

第2回動作確認

 

では、マイコン回路に試しにプログラムを書き込んでみましょう。
MPLABでプログラムを書く→dspicguyでプログラムを書き込む→動作させる。
って手順をやってみましょう。

1、まずMPLABを起動してください。


プロジェクトの作り方

を見て。プロジェクトを作ってください。
そして

プログラムを書いてみる

を参考にしながらプログラムを書き込みましょう。が、書いていると面倒なのでコピーして貼り付けてください。
これがプログラムです、

#include<p30f2012.h>

#define	LCD_E	LATFbits.LATF4
#define	LCD_RS	LATFbits.LATF5

unsigned char t;

void _ISR _AltT1Interrupt(void){
	IFS0bits.T1IF=0;
	if (t)t=0;else t=1;
	LATCbits.LATC13=t;
}

void port_init(void){
	TRISB=0x0f;
	TRISFbits.TRISF4=0;
	TRISFbits.TRISF5=0;
	TRISCbits.TRISC13=0;
	TRISDbits.TRISD9=1;
	LCD_E=0;
}
void lcd_init(void){
	delay_sec(20);
	lcd_write2(0x30,0);
	delay_sec(5);
	lcd_write2(0x30,0);
	delay_sec(5);
	lcd_write2(0x30,0);
	delay_sec(5);
	lcd_write2(0x20,0);
	delay_sec(5);
	lcd_write(0x2E,0);
	lcd_write(0x08,0);
	lcd_write(0x0D,0);
	lcd_write(0x06,0);
	lcd_write(0x02,0);
	delay_sec(5);
}

void lcd_write(unsigned char c,char cc){
lcd_write2(c,cc);
lcd_write2(c<<4,cc);
delay_sec(2);

}

void lcd_write2(unsigned char c,char cc){
	LATB=c;
	LCD_RS=cc;
	delay_sec(0);
	LCD_E=1;
	delay_sec(0);
	LCD_E=0;
	delay_sec(1);
}

void delay_sec(int i){
	int ii;
	while(i){
		for(ii=0;ii<0xffff;ii++) asm("NOP");
		i--;
	}

}

void main(void){
	port_init();
	lcd_init();
	
	INTCON2bits.ALTIVT=1;
	SRbits.IPL=2;
	T1CON=0;
	TMR1=0;
	PR1=0xFFFF;
	T1CON=0b1000000000110000;
	
	IPC0bits.T1IP=3;
	IFS0bits.T1IF=0;
	IEC0bits.T1IE=1;
	
	lcd_write('O',1);
	
	while(1){
	
	}

}

そして、コンパイルをしてください。


ちなみに コンパイルしたものをここに置いておきます。
dspic_test.hex

右クリックから「対象をファイルに保存」で保存してください


2、dspicguyで書き込み。

マイコン基板をシリアル通信ケーブルでパソコンと接続してください。
繋ぎました?
そしたらdspicguyを起動してください。ちいさい画面が出てくると思います。
その画面の、COMポート番号をシリアル通信ケーブルのポート番号に合わせてください。
そしたら、さっき作ったdspic_test.hexをOPEN_HEXボタンを押して選んでください
画面へファイルをドラッグ&ドロップでもOKです。
そしたらマイコン基板の黒いスイッチありましたよね?マイコンのそばの。あれを液晶側に切り替えてから電源を入れてください。
電源LEDだけでなく、マイコンの右側のLEDも1つだけついたと思います。
そしたらマイコン基板の押しボタンを押してください。LEDが2つともついたと思います。
これで通信スタンバイです。
できたらdspicguyのDOWNLOADボタンを押してください。

転送が始まるとLEDがチカチカし始めます。転送が終わったら2つついていたLEDがチカチカした後1つだけになります。
そうなったら転送成功です。マイコンの電源を切って切り替えスイッチを下にしてください。

もう1ど電源を入れると液晶に「OK」の文字が出るはずです。
まとめるとこんな感じ。

切り替えスイッチ 上:プログラム書き込みモード
  この状態で電源を入れてボタンを押すとLEDが2つついて転送スタンバイ。
下:プログラム実行モード
  この状態で電源を入れるとプログラムが実行される。
電源が入った状態でこのスイッチを切り替えないこと!
プログラム転送手順  
マイコンとパソコンをつなぎ、「プログラム書き込みモード」でマイコンを起動。
dspicguy起動。COMポートを設定して、書き込みたいプログラムを選ぶ
DOWNLOADボタンを押して書き込む。
書き込みが終わると点滅していたLEDが1つに。マイコンの電源を切る
スイッチを切り替え「プログラム実行モード」にして起動。

上手くいかない場合:
配線は正しいですか?→確認してください。
COMポートは正しいですか?→dspicguyのCOMポート設定の数字を1から順番に切り替えて 通信できるポートを探してください。正解は1つです。

 

TOPへ