忍者ブログ
グラビアアイドルについて語るブログ。
[35] [34] [33] [32] [31] [30] [29] [28] [27] [26] [25]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

前回の実験と同様にフルカラー LED を使用し、PWM で色を変える実験をしました。

フルカラーLED

タイマ割り込みハンドラで「赤のみ点灯 → 緑のみ点灯 → 青のみ点灯」を繰り返すのですが、その都度デューティ比を設定することで、さまざまな色になります。

同時には1色しか点灯しないのでトランジスタは必須ではないと考えましたが、勉強を兼ねて追加してみました。かなり明るくなったと思います。
そろそろ回路図描かなきゃいけませんね。

[CON2-25] TOP11 → 10kΩ → 2SA1015(E)
[CON3-1] +3.3V → 2SA1015(B)
2SA1015(C) → (+)LED
LED(R-) → 680Ω → P90 [CON1-1]
LED(G-) → 680Ω → P91 [CON1-2]
LED(B-) → 680Ω → P92 [CON1-3]

以下、主要なコードです。RGB 各色において65段階で変化させています。
また、init_timer() 内の TP1OL1 の設定ですが、トランジスタを入れる前はハイレベルスタートで点灯→消灯だったのですが、トランジスタを入れると消灯→点灯になりました。

#define T 128
#define D 2

enum {
Color_Red,
Color_Green,
Color_Blue,
N_Color
};

static int color = Color_Red;
static int t[N_Color] = { 0, 0, 0 };

// ポート初期化
void init_port()
{
// P90〜P92の設定 (LED)
PMC9L = 0; // 入出力ポート
PM9L = 0; // 出力モード
P9L = 0xff; // すべて消灯

// ポート35の設定 (タイマ出力)
PFC35 = 1; // TOP11出力
PMC35 = 1; // TIP11入力/TOP11出力
}

// タイマ初期化
void init_timer()
{
// TMP1の設定
TP1CE = 0; // 動作禁止
TP1CKS = 7; // fxx/512
TP1MD = 4; // PWM出力モード
TP1OE1 = 1; // TOP11出力許可
TP1OL1 = 1; // TOP11ローレベルスタート
TP1CCR0 = T - 1;
TP1CCR1 = 0;
TP1CE = 1; // 動作許可
}

// 割り込み初期化
void init_intc()
{
// INTTP1CC0
TP1CCPR0 = 0; // 割り込み優先度 = 0
TP1CCMK0 = 0; // 割り込み許可
}

// タイマ割り込みハンドラ
void timer_int_handler()
{
switch (color) {
default:
color = Color_Red;
case Color_Red:
// 赤点灯
P90 = 0;
P91 = P92 = 1;
break;
case Color_Green:
// 緑点灯
P91 = 0;
P90 = P92 = 1;
break;
case Color_Blue:
// 青点灯
P92 = 0;
P90 = P91 = 1;
break;
}

if (++color == N_Color) {
color = Color_Red;

if (t[Color_Red] < T) {
t[Color_Red] += D;
} else {
t[Color_Red] = 0;

if (t[Color_Green] < T) {
t[Color_Green] += D;
} else {
t[Color_Green] = 0;

if (t[Color_Blue] < T) {
t[Color_Blue] += D;
} else {
t[Color_Blue] = 0;
}
}
}
}

TP1CCR1 = t[color];
}


【備考】gcc で開発しています。
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
ブログ内検索
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
最新コメント
[07/07 tiffany jewelry uk]
[09/17 車載モニター・阿蘇テック]
[08/30 愛]
[06/12 シモネッタ]
[06/11 arms22]
最新トラックバック
フリーエリア
あわせて読みたい
    Firefox 2 無料ダウンロード
    バーコード
    プロフィール
    名前:
    シモネッタ
    性別:
    非公開
    カウンター
    アクセス解析