*ロボット講座 [#xc0fddbb] **目次 [#kffc02b5] #contents **部品 [#qe0a1100] [[モータドライバ>http://akizukidenshi.com/catalog/g/gI-02001/]]~ [[フォトリフレクタ>http://akizukidenshi.com/catalog/g/gI-07266/]]~ [[タイヤ>http://akizukidenshi.com/catalog/g/gI-07903/]]~ [[ギアボックス>http://akizukidenshi.com/catalog/g/gK-09500/]]~ [[AVRマイコンATmega328P-PU>http://akizukidenshi.com/catalog/g/gI-03142/]]~ [[ICソケット>http://akizukidenshi.com/catalog/g/gI-03142/]]~ [[基盤>http://akizukidenshi.com/catalog/g/gP-03231/]]~ その他諸々 **環境設定 [#m724549d] 最新版の「WinAVR」「AVRStudio」をダウンロードしてきます~ [[WinAVRダウンロード>http://sourceforge.net/project/showfiles.php?group_id=68108]] [[AVRStudioダウンロード>http://www.atmel.com/ja/jp/products/microcontrollers/avr/default.aspx?tab=tools]]~ AVRStudioは「Atmel AVR 8 ビットおよび 32 ビットマイクロコントローラー」のページから、「ツール」のページヘ。~ 「ツールとソフトウェアについての詳細 Atmel AVR デバイス」という文字の下にある。【推奨▼】をクリックして【すべて】を選択。~ 下にスクロールして行くと【Software Tools】と書かれたところに【Atmel Studio】【Studio Archive】という項目があります。~ 最新版のAVRstudioは【Atmel Studio】に、それ以前のものは【Studio Archive】にあります。~ 最新のAVRStudioを使ったほうが良さそうです。~ %%今回は純正ライターではなくusbaspを使用。%%~ 純正ライターを使用。~ [[購入はここから>http://akizukidenshi.com/catalog/g/gM-02582/]]~ [[AVRマイコンなページ]]を参考に設定。 **プログラム [#db2d37d2] ***LED点滅 [#o04cc018] include <avr/io.h> #include <avr/io.h> int main(void) { DDRD = 0xB0; long i; while(1){ for(i=0;i<20000;i++){ } PORTD ^= 0xB0; } } ***スイッチでLEDオンオフ [#zff615f5] #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点滅 [#ea4331f9] #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); } } } **参考 [#pf185975] [[AVRマイコンなページ]]~ http://elec-studio.eco.coocan.jp/tool_soft01.html