Attachments are accessible only for community members.
Apr 25, 2019
01:12 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 25, 2019
01:12 AM
しばらく前に PSoC 4 では PSoC 5LP のように 7SEG LED のドライバコンポーネントがないのでUDB を使用して、
図の様なコンポーネントを作って力ずくで動かしました。
しかし、4100S に至っては UDB もないということでどうしたものだろうと考えていました。
確かにメインループの中でアップデートを続ければ表示は出来るのでしょうが美しくない(笑)
というわけで、タイマ割込みでCOMとSEGをアップデートするアプローチで、4桁 7SEG LEDの表示サンプルを作ってみました。
schamtic
本当は 7SEG LED の表示だけで、終わらせようと考えていたのですが、
つい出来心でなんちゃって時計の機能を入れてみました。
幸い RTC モジュールがあるので、時間管理はそちらでやってもらえる為、便利なのですが、
内蔵の低速オシレータを源振にしている為、精度はアレです。
※時計として使用されたい場合には外付けの高精度な発振源を用意する必要があると思います。
プログラムのフレームワークは、少し前にポストした UART 入出力サンプルを転用しています。
今回はアノードコモンのモジュールを使用したので、 led7seg.c というソースの先頭で
#define ASSERT 0
#define NEGATE 1
と宣言しています。
もし、カソードコモンのモジュールを使用される場合には
#define ASSERT 1
#define NEGATE 0
と変更してビルドしてください。
moto
Labels
- Labels:
-
PSoC 345 LP
0 Replies