ATMELマイコンでLEDを光らせよう
電子おもちゃ設計論の授業課題が全然進んでいないのだが、とりあえずマイコンでLEDを光らせる「最も単純な回路」が動いた。ガイの協力というか、ガイに寄生したというか、とりあえずガイに迷惑をかけたのは間違いなさそうなのだが、とりあえず動いた。ガイごめんなさい。

マイコン側のプログラムは以下。いささか、わからない部分が多い。
int main( void )
{
io8bit nowled ; ← nowledっていうio8bit型の変数を宣言
outp(0xff,DDRD); /* PD1-PD6 PortD for output */
↑PD1-6をアウトプットのためのポートDとして設定
outp(0xfe,DDRB); /* PB0-PB1 PortB for input */
↑PD0-1をアウトプットのためのポートBとして設定
nowled = 0x00; /* LED init all Low */
↑変数nowledを0x00で初期化
for (;;)
{
if((inp(PINB) & 0x01) != 0x00) /* check switch */
↑もしPINBが0じゃなかったら、&0x01の意味がわからん。
nowled = 0x01; /* LED0 on set */
↑nowledを0x01(点灯)に
else
nowled = 0x00; /* LED off set */
↑それ以外の場合、nowledを0x00(消灯)に
outp(nowled, PORTD); /* LED out */
↑PORTDにnowledを入れる
}
}
で、このプログラムで、PD0 端子(Pin 2)だけが点灯ってことになるらしいのだが、なぜそうなるのかが、わからない。
わかる方、是非アドバイスを。

























最近のコメント
suga on GINZA HANDS: GJ!
koga on GINZA HANDS: あのう、、、"DIY
そん on bibtexでコンパイルが通らないときはjbibtex: これを参考にして助か
ikuo on i.got.an.iphone: 何これ!? はじめて
itsuki on i.got.an.iphone: ダメ人間みーっけた。
suga on 第二世代iPodが新品に: そうですね。 この当
aki on 第二世代iPodが新品に: なるほど。。。ありが
suga on 第二世代iPodが新品に: はじめまして。 申
aki on 第二世代iPodが新品に: はじめまして。 よ