ロボット講座

目次

部品

モータドライバ
フォトリフレクタ
タイヤ
ギアボックス
AVRマイコンATmega328P-PU
ICソケット
基盤
その他諸々

環境設定

最新版の「WinAVR」「AVRStudio」をダウンロードしてきます
WinAVRダウンロード

AVRStudioダウンロード
AVRStudioは「Atmel AVR 8 ビットおよび 32 ビットマイクロコントローラー」のページから、「ツール」のページヘ。
「ツールとソフトウェアについての詳細 Atmel AVR デバイス」という文字の下にある。【推奨▼】をクリックして【すべて】を選択。
下にスクロールして行くと【Software Tools】と書かれたところに【Atmel Studio】【Studio Archive】という項目があります。
最新版のAVRstudioは【Atmel Studio】に、それ以前のものは【Studio Archive】にあります。
最新のAVRStudioを使ったほうが良さそうです。

今回は純正ライターではなくusbaspを使用。
純正ライターを使用。
購入はここから
AVRマイコンなページを参考に設定。

プログラム

LED点滅

	#include <avr/io.h>
	int main(void)
	{
		DDRD = 0xB0;
		long i;
		while(1){		for(i=0;i<20000;i++){ } 
			PORTD ^= 0xB0;
		}
	}

スイッチでLEDオンオフ

	#include <avr/io.h>
	
	int main(void)
	{
	DDRD = 0xB0;// 1000 0000 PD7を出力 それ以外を入力
	PORTD = 0xAF;// 0111 1111 入力をプルアップする
	
	PORTD |= 0xB0;// 1000 0000 #7だけ出力 led点灯
	while(1){
		PORTD ^= 0xB0;
		if(bit_is_set(PIND,PD0)) { // ポートD#0 ==1 なら
			PORTD |= _BV(PD7);
			}else{
			PORTD &= ~_BV(PD7);
			}
		}
	
	}

スイッチを押している間LED点滅

	#include <avr/io.h>
	
	int main(void)
	{
		DDRD = 0xB0;	// 1000 0000 PD7を出力 それ以外を入力
		PORTD = 0xAF;	// 0111 1111 入力をプルアップする
		
		int i;
		
		while(1){
			PORTD &= ~_BV(PD7);			// 0000 0000 led消灯
			while(bit_is_clear(PIND,PD0)) {
				for(i=0;i<20000;i++){ }
				PORTD ^= BV(PD7);
				}
		}
	
	}

参考

AVRマイコンなページ
http://elec-studio.eco.coocan.jp/tool_soft01.html


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-07-10 (日) 16:31:33 (2839d)