#はじめに
書籍に沿って引き続き進めていきます。
#7セグメントLEDとは
こんなもの ↓ (Fritzingより)
7つの数字を表すLED + 「.」のLED用のピン計8ピンと
上下真ん中のコモンピン2つのピンから成り立っています。
簡単に言うと8個のLEDが1つになったもの。
2種類のLEDがあり、カソード(-)がコモンになっているもの(図上)、アノード(+)がコモンになっているもの(図下)があります。
ちなみに今回はカソードコモンを使用します。
#使用部品
- PSoC 5LP
- 抵抗(100Ω)
-
74HC4511
→ 取り扱っていない?TC4511BPでも代用できるはず。 - 7セグメントLED(カソードコモン)
#0を表示してみる
プログラム無しでとりあえず表示させてみます。
#7セグドライバーを使用してみる
ドライバーを使用すると、2進数を変換して表示できます。
下図で74HC4511の下から出ている線4本が2進数の信号になっています。
(0=GND, 1=5V)
オレンジ | 緑 | 黄 | 茶 | 表示 |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 0 | 1 | 1 |
0 | 0 | 1 | 0 | 2 |
0 | 0 | 1 | 1 | 3 |
0 | 1 | 0 | 0 | 4 |
0 | 1 | 0 | 1 | 5 |
0 | 1 | 1 | 0 | 6 |
0 | 1 | 1 | 1 | 7 |
1 | 0 | 0 | 0 | 8 |
1 | 0 | 0 | 1 | 9 |
…オレンジだけカタカナ |
#PSoCで制御する
先ほど出ていた4本をPSoCへ接続します。
PSoCの設定を追加
TopDesign.cysch → Degital Output Pin → Number of pins を4へ変更してください(私は8にしましたが…8でも大丈夫です。)
2を表示させるプログラム
#include "project.h"
#include "stdio.h"
int main(void)
{
CyGlobalIntEnable;
for(;;)
{
LED_1_Write(2);
}
}
すごく簡単です(o^―^o)
配線は大変ですが(´・ω・`)