文書の過去の版を表示しています。


Exercise1 出力

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

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

流石に参考書レベルに書くつもりは無いので、 SHマイコンの参考書やSHマイコン入門サイト等 で調べていることを前提に進んでいきます。

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

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

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

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

PEは0~15の16Bitのポートです。 PFC(ピンファンクションコントロール)では「PFC.PEIORL」に値を代入する事によって入力と出力を選ぶことが出来ます。 具体的には、箱があって、そこに1を入れるか0を入れるかによって PEを出力(1)に設定するか入力(0)に設定するかを選択できます。

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

2進数で111(0は気にしないから)というのは16進数で7ですね。 よって PFC.PEIORL.BYTE = 0x07; と書くと、0,1,2BITは出力、それ以外のポートEのピンは入力なります。 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/attic/exercise1_出力.1425068298.txt.gz · 最終更新: 2015/02/28 05:18 by member
CC Attribution-Noncommercial-Share Alike 4.0 International
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