• ベストアンサー

H8マイコンでled制御

H8/3052FのマイコンとAKI-H8-USBのキットを使用しています。 ledを制御する際に、通常はportのデータレジスタの該当ビットをlow(0)にしたときに消灯、high(1)に点灯となると思うのですが、 なぜか逆になります。つまりlowレベルのとき点灯します。 他に接続しているスイッチも逆になっているみたいです。 回路の組み立てがおかしいのでしょうか? 理由が分からず悩んでいました。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • koujikuu
  • ベストアンサー率43% (429/993)
回答No.3

「AKI-H8-USB開発ボード」回路図では、LEDアノード側がVCCにカソード側がPORTB 0-3へ接続されているのでLOWで点灯です スイッチもVCCでプルアップされている為、SW_OFF=HIGH / SW_ON=LOW になります これはN-MOS(TTL-IC)では通常、電流の吸い込みしか出来ない為、LOWで点灯するようになっていました C-MOSのロジックICでは、電流の吸い込み、吐き出し両方可能なので、PORT側にアノードを接続しカソードをGND側へ向けることにより、HIGH=点灯も可能です スイッチもTTL-ICでは、2V以上をHIGH,0.8V以下をLOWと認識する為、ノイズマージンを高くするためSW_OFF=VCC(HIGH),SW_ON=GND(LOW)が用いられます (TTL-ICではLOWを認識する為には0.8V以下0.4mA吐き出し電流が必要で、プルダウン抵抗は難しい) マイコンによっては内蔵プルアップ機能があり、プルアップ抵抗の省略も可能です。 回路図 http://akizukidenshi.com/download/ds/akizuki/AKI-H8-USB-SCH.pdf

Ry0o
質問者

お礼

完璧なご回答ありがとうございました。

その他の回答 (2)

noname#215107
noname#215107
回答No.2

回路がどうなっているかによります。 トランジスタを使用しておらず、直接LEDを駆動しているのなら、 2通りの接続が考えられます。 http://picbeginner.blogspot.jp/2009/09/blog-post_22.html このURL先の画像でシンクで引き込んでいるのなら、ポートがLの時に点灯します。

Ry0o
質問者

お礼

ありがとうございました。

回答No.1

55歳 男性 CPUの出力ポートにLEDの-側を接続していますか? LEDの+側に抵抗を接続して電源に接続していますか? Lで点灯なら回路は合っていますよ Lで点灯するのはLEDに順方向に電流が流れるからです LEDの方向を逆にするとHで点灯します

Ry0o
質問者

お礼

LEDはそういえば極性がありましたね。ご回答まことにありがとうございました。