AVRISP mkIIへ再挑戦

以前、挑戦してあえなく撃沈したAVRISP mkIIでしたが、今回再挑戦しました。
回路は前回試した以下の回路からLEDを2つに減らし、7ピンのVccと8ピンのGNDの間に0.1μFのコンデンサを入れ、電源を+5VのACアダプターにしました。

前回試したATmega88PのISP&4LED回路

前回試したATmega88PのISP&4LED回路

上の回路図を見ながらブレッドボード上に組んだのが下の写真。

ブレッドボード上に組んだATmega88PのISP&2LED回路

ブレッドボード上に組んだATmega88PのISP&2LED回路


最初に組んだらLEDが1つ付きっぱなしでATmega88Pがチンチンに熱くなり、AVRISP mkIIからは認識されない状態でした。
「チンチンに熱くなるのは+/-を間違えていることが多いな」と配線を調べたら7ピンのVccと8ピンのGNDを1ピンずれてGNDに+5Vを入れていました。たぶん、前回もこの間違いを犯していたんだと思います。
さらに、22ピンのGNDをつなぐのを忘れていて、それも直しました。

これでOKと、AVR Studio 4で以下のようなテストプログラムを書いてHEXファイルを書き込んでみたら、見事動きました。

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
	char bit = 0x01;
	DDRD = 0x0F;
	PORTD = bit;
	_delay_ms(10);

	while (1) {
		bit <<= 1;
		if (bit > (1 << 1)) {
			bit = 0x01;
		}
		PORTD = bit;
		for (char i = 0; i < 10; i++) {
			_delay_ms(10);
		}
	}
	return 0;
}

「7ピンのVccと8ピンのGNDの間に入れたコンデンサを抜いたらどうかな?」と抜いてみましたが、それでも動きました。

「AVRってすごくシビアで動かすのが難しい」と思い込んでいたのですが、自分のミスで動かなかっただけで、ちゃんとつなげばちゃんと動くのがわかってスッキリしました。

メモ:AVRISP mkIIのブレッドボード用自作ケーブルはちゃんと考えて作らなかったので、赤のワイヤーが2ピンになっていて、紫のワイヤーが1ピンになっています。

カテゴリー: AVR, 回路 タグ: , , , , , , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA