Lesson1

ここからライントレーサーのプログラムを作るための流れを
少しずつ課題をクリアしていく、という感じで説明していきます。
とはいっても、いくらプログラム(ソフト)が正しくても、回路(ハード)がダメであれば動きません。逆もまた然りです。
絶対に正しいと思うのに思い通りに行かないときは回路も疑ってみましょう。勿論周りに聞くのも手です。

まず最初は、「LEDを3つとも光らせる」です。

流石に参考書レベルに書くつもりは無いので、
「C言語による H8マイコン プログラミング入門」
を持っていることを前提に進んでいきます。

また、ちなみに16進数と2進数と10進数の変換は出来ることを前提としています。
まず、H8のどのポートにLEDがつながっているかを確認してください。
今回はポート8の0,1,2BITについている時を例に説明します。

まず、ポート8(P8)を出力に設定します。

出力と入力の違いは、
出力…ピンの電圧(5Vか0Vか)をプログラムで決定できる
入力…ピンの電圧をプログラムで確認することが出来る
という感じです。

良く判らなくても、
LEDやモータを使うときは出力、スイッチを使うときは入力。
という認識でOKです。

P8は0~4の5Bitのポートです。
GDLでは「P8.DDR」に値を代入する事によって入力と出力を選ぶことが出来ます。
具体的には、箱があって、そこに1を入れるか0を入れるかによって
P8を出力(1)に設定するか入力(0)に設定するかを選択できます。

今回は0,1,2Bitを出力にしたいので
P8.DDRには2進数で00111と代入すればいい事が判ります。
ちなみに、右から0,1,2,3,4Bitとなっています。

2進数で111(0は気にしないから)というのは16進数で7ですね。
よって

P8.DDR = 0x07;

と書くと、0,1,2BITは出力、3,4は入力なります。 0xというのは16進数で、という意味です。

5V出力する

出力に設定したことでプログラムで5Vか0Vかを選べるようになりました。

実際に選ぶには[P8.DR.BYTE]もしくは[P8.DR.BIT.B(ビットの番号)]に値を代入します。
2つの違いは、BYTE単位(8桁)で書き込むか、BIT単位(1桁)で書き込むかの差です。ちなみに、8BIT=1BYTEです。

考え方はDDRと同じで、1を代入すると5V、0で0Vです。

そして、LEDのつながっているポートを5VにすればLEDは光ります。

ココから先は自分で考えてみてください。(本も参考にするとよしかも)

それが出来るようになったら、今度はモータドライバ(2本並んでいる長細いやつ)に出力してみてください。

ポートは調べましょう。

全部で4つ繋がっているはずなので、1111,0000,0011,1100,1010,0101など色々試してみてください。

/home/users/2/deca.jp-mice/web/cgi/dokuwiki/data/pages/lesson1_出力.txt · 最終更新: 2010/06/24 02:21 by member
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0