回路を組み立てる

ブレッドボード上に回路を組み立てます.

電源だけつなげれば動きますが,何も出力が無いと動いているのかどうか 分からないのでLEDとか付けてみましょう.

circuit01.png

ライタを繋ぐために,RESET,Vcc,GNDの3本を 適当な場所に並べて引き出して置いてください.

board01.jpg

USBから電源を取るのが嫌な人は5VのACアダプタ等を繋いでください. 3Vあたりでも動いたりするので乾電池2本でも大丈夫だとは思います.

AVRに書き込み

AVRにプログラムを書き込みます.やっとです.

下のようにライタのケーブルを接続してください. 良く見えなければ回路図を見てピンの名前で判断してください.

&ref(): File not found: "board02.jpg" at page "Texts/AVR/02";

ヒューズの設定

AVRのヒューズを書き換えて適当に設定します. ヒューズというと一度書き換えると終わりみたいですが,何度も書き換えられます.

デフォルトでは,1MHzで動作しているので,8MHzに設定を変更します. 別の周波数で動作させたい場合は,外部クロックを繋ぐ必要があります.

   hidspx -ph -d10 -fl11100010

たぶん,こんな感じで. 変な設定にすると,ヒューズを書き換えられなくなる(つまり元に戻せない)ので 注意してください. (パラレルライタというライタを使えば元に戻せるので,やってしまったら言ってください)

サンプルプログラム

   #define F_CPU 8000000
   #include <avr/io.h>
   #include <util/delay.h>
   void delay_ms(uint16_t t) {
      while (t--) _delay_ms(1);
   }
   int main()
   {
       DDRD = 0xFF;
       for(;;) {
           PORTD = 0b0011;
           delay_ms(500);
           PORTD = 0b0000;
           delay_ms(500);
       }
   }

古いgccだと0bxxxで数値を二進表記できないかもしれません.

コンパイル&書き込み

   avr-gcc -mmcu=atmega88 -Wall -O2 test.c
   avr-objcopy -O ihex -R .eeprom a.out test.hex
   hidspx -ph test.hex

LEDが点滅すればOK.

total: 37170  / today: 1  / yesterday: 0  / now: 1

添付ファイル: filewrite.bat 134件 [詳細] fileboard01.jpg 429件 [詳細] filegcc-mega88.bat 159件 [詳細] filecircuit01.png 443件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-09-22 (火) 17:21:11 (1307d)