<?xml version="1.0" encoding="UTF-8" ?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns="http://purl.org/rss/1.0/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">

  <channel rdf:about="https://simonetta.blog.shinobi.jp/RSS/100/">
    <title>ぷちとまと別館</title>
    <link>https://simonetta.blog.shinobi.jp/</link>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="https://simonetta.blog.shinobi.jp/RSS/" />
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" />
    <description>グラビアアイドルについて語るブログ。</description>
    <dc:language>ja</dc:language>
    <dc:date>2007-11-10T23:02:07+09:00</dc:date>
    <items>
    <rdf:Seq>
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%81%94%E3%81%B6%E3%81%95%E3%81%9F%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%E3%83%89%E3%83%83%E3%83%88%E3%83%9E%E3%83%88%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B9%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/4%E6%A1%81%E3%81%AE7%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/javascript/%E5%87%BA%E5%BC%B5%20shibuya.js%2024" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-3-" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/linux/linux%20%E3%81%A7%20amr%20%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%82%89%E2%80%A6" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-2-" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-1-" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-8-" />
      <rdf:li rdf:resource="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-7-" />
    </rdf:Seq>
    </items>
  </channel>

  <item rdf:about="https://simonetta.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%81%94%E3%81%B6%E3%81%95%E3%81%9F%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82">
    <link>https://simonetta.blog.shinobi.jp/%E6%9C%AA%E9%81%B8%E6%8A%9E/%E3%81%94%E3%81%B6%E3%81%95%E3%81%9F%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82</link>
    <title>ごぶさたしています。</title>
    <description>どうもごぶさたしています、シモネッタです。

2か月近くブログを更新していなかったのですが、久しぶりに覗いてみたら継続してアクセスがあるようで驚きました。9月下旬に秋月のPICプログラマーを購入したものの、その後ほとんど何もしないまま現在にいたっております。

そろそろ再開したいなと考えては...</description>
    <content:encoded><![CDATA[どうもごぶさたしています、シモネッタです。<br />
<br />
2か月近くブログを更新していなかったのですが、久しぶりに覗いてみたら継続してアクセスがあるようで驚きました。9月下旬に秋月のPICプログラマーを購入したものの、その後ほとんど何もしないまま現在にいたっております。<br />
<br />
そろそろ再開したいなと考えてはいるのですが、具体的にいつ何をしようかというプランはありません。少なくともV850関係はやらないと思います。マイコンの勉強用としてお世話になりましたが、基板は極悪に使いにくかったですし、そろそろ次のステップ、PICのようなシンプルなマイコンで何ができるかを考えてやっていきたいという気持ちの方が強いです。<br />
<br />
その他の近況ですが、新しいブログを始めました。こことはかなり毛色の異なるものになっています。このブログをどうするかというのは現時点ではまったく考えていません。あまり更新していませんが、覗いてやってもいいぞという方はお立ち寄りください。<br />
<a href="http://blog.livedoor.jp/s_i_m_o_n_e_t_t_a/">ぷちとまと2号館</a><br />
<br />
また、遅ればせながらTwitterもやっています。よろしければfollowしてくださいませ。<br />
<a href="http://twitter.com/simonetta">Twitter / simonetta</a><br />
<br />
ではまた、ごきげんよう。<br />
]]></content:encoded>
    <dc:subject>未選択</dc:subject>
    <dc:date>2007-11-10T23:02:07+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%E3%83%89%E3%83%83%E3%83%88%E3%83%9E%E3%83%88%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B9%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%E3%83%89%E3%83%83%E3%83%88%E3%83%9E%E3%83%88%E3%83%AA%E3%83%83%E3%82%AF%E3%82%B9%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93</link>
    <title>CQ_V850 でドットマトリックス LED の実験</title>
    <description>8×8ドットマトリックス LED の点灯実験をしました。使用したのは、秋月で売っていた TOM-1588BH です。



前回の実験では3桁の7セグメント LED を使用しましたが、それを8桁に拡張すると考えればいいと思います。つまり、各列が1つの7セグ LED に相当し、各列の点灯状態(...</description>
    <content:encoded><![CDATA[8×8ドットマトリックス LED の点灯実験をしました。使用したのは、秋月で売っていた TOM-1588BH です。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-17.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1190037085/" border="0" alt="ドットマトリックスLED" /></a><br />
<br />
<a title="CQ_V850 で7セグメント LED の実験 (3)" href="http://simonetta.blog.shinobi.jp/Entry/34/" target="_blank">前回の実験</a>では3桁の7セグメント LED を使用しましたが、それを8桁に拡張すると考えればいいと思います。つまり、各列が1つの7セグ LED に相当し、各列の点灯状態(0x00〜0xff)が、7セグ LED に表示される数値に相当するという訳です。<br />
<br />
単純に8桁に拡張するのであれば、P90〜P97 を列の点灯内容に、P98〜P915 を点灯する列の選択に使用すればよいのですが、8つのポートを使用して点灯する列を1つ選択するのは無駄なので、3-to-8 ラインデコーダの TC74HC238AP を使用しました。3つのポートを使用すれば 0x00〜0x07 を表現できるので、点灯する列を決定できます。今回は P98〜P910 を使用しました。<br />
<br />
接続のメモです。(n = 1, 2, …, 8)<br />
<br />
[CON3-1]  +3.3V → 74HC238(V<sub>CC</sub>)<br />
[CON3-1]  +3.3V → 74HC238(G1)<br />
[CON3-10] GND → 74HC238(G2A)<br />
[CON3-10] GND → 74HC238(G2B)<br />
[CON3-10] GND → 74HC238(GND)<br />
<br />
[CON1-9]  P98  → 74HC238(A)<br />
[CON1-10] P99  → 74HC238(B)<br />
[CON1-11] P910 → 74HC238(C)<br />
<br />
74HC238(Y0) → 10kΩ → 2SC1815&lt;1&gt;(E)<br />
74HC238(Y1) → 10kΩ → 2SC1815&lt;2&gt;(E)<br />
74HC238(Y2) → 10kΩ → 2SC1815&lt;3&gt;(E)<br />
74HC238(Y3) → 10kΩ → 2SC1815&lt;4&gt;(E)<br />
74HC238(Y4) → 10kΩ → 2SC1815&lt;5&gt;(E)<br />
74HC238(Y5) → 10kΩ → 2SC1815&lt;6&gt;(E)<br />
74HC238(Y6) → 10kΩ → 2SC1815&lt;7&gt;(E)<br />
74HC238(Y7) → 10kΩ → 2SC1815&lt;8&gt;(E)<br />
<br />
[CON3-10] GND → 2SC1815&lt;n&gt;(B)<br />
<br />
2SC1815&lt;1&gt;(C) → (-)LED(COL1)<br />
2SC1815&lt;2&gt;(C) → (-)LED(COL2)<br />
2SC1815&lt;3&gt;(C) → (-)LED(COL3)<br />
2SC1815&lt;4&gt;(C) → (-)LED(COL4)<br />
2SC1815&lt;5&gt;(C) → (-)LED(COL5)<br />
2SC1815&lt;6&gt;(C) → (-)LED(COL6)<br />
2SC1815&lt;7&gt;(C) → (-)LED(COL7)<br />
2SC1815&lt;8&gt;(C) → (-)LED(COL8)<br />
<br />
[CON1-1] P90 → 680Ω → (+)LED(ROW1)<br />
[CON1-2] P91 → 680Ω → (+)LED(ROW2)<br />
[CON1-3] P92 → 680Ω → (+)LED(ROW3)<br />
[CON1-4] P93 → 680Ω → (+)LED(ROW4)<br />
[CON1-5] P94 → 680Ω → (+)LED(ROW5)<br />
[CON1-6] P95 → 680Ω → (+)LED(ROW6)<br />
[CON1-7] P96 → 680Ω → (+)LED(ROW7)<br />
[CON1-8] P97 → 680Ω → (+)LED(ROW8)<br />
<br />
以下、主要なコードです。タイマ割り込みハンドラで P9H への出力値を0から7まで変化させると、74HC238 経由で点灯する列が切り替わります。また、列の表示内容を P9L に出力します。100回ごとに以下の2パターンを交互に表示します。<br />
<br />
■□■□■□■□ □■□■□■□■<br />
□■□■□■□■ ■□■□■□■□<br />
■□■□■□■□ □■□■□■□■<br />
□■□■□■□■ ■□■□■□■□<br />
■□■□■□■□ □■□■□■□■<br />
□■□■□■□■ ■□■□■□■□<br />
■□■□■□■□ □■□■□■□■<br />
□■□■□■□■ ■□■□■□■□<br />
<br />
<pre><br />
#define T 128<br />
<br />
static unsigned char led[8] = {<br />
  0x55, 0xaa, 0x55, 0xaa,<br />
  0x55, 0xaa, 0x55, 0xaa<br />
};<br />
static int cur = 0;<br />
static int count = 0;<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P98の設定<br />
  PMC9L = 0; // 入出力ポート<br />
  PM9L  = 0; // 出力モード<br />
  P9L   = led[cur];<br />
  P9L   = 0;<br />
<br />
  // P98〜P910の設定<br />
  PMC9H = 0; // 入出力ポート<br />
  PM9H  = 0; // 出力モード<br />
  P9H   = (unsigned char)cur;<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 0; // インターバル・タイマ・モード<br />
  TP1CCR0 = T - 1;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  int i;<br />
<br />
  if (++count == 100) {<br />
    // LEDに表示する値を変更<br />
    count = 0;<br />
<br />
    for (i = 0; i < 8; i++) {<br />
      led[i] = ~led[i];<br />
    }<br />
  }<br />
<br />
  // 列の切り替え<br />
  if (++cur == 8) cur = 0;<br />
  P9H = (unsigned char)cur;<br />
<br />
  // 列の内容を設定<br />
  P9L = led[cur];<br />
}<br />
</pre><br />
<br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-17T23:26:24+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/4%E6%A1%81%E3%81%AE7%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/4%E6%A1%81%E3%81%AE7%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led</link>
    <title>4桁の7セグメント LED</title>
    <description>この夏から LED などで遊ぶようになって以来、秋葉原で4桁の7セグメント LED を見たことがなかったのですが、ラジオ会館の若松通商で、アノードコモンの TLR4115 というやつを発見しました（157円）。

迷わず購入したのですが、すでに3桁まで実験したこともあり、点灯させてみようという気...</description>
    <content:encoded><![CDATA[この夏から LED などで遊ぶようになって以来、秋葉原で4桁の7セグメント LED を見たことがなかったのですが、ラジオ会館の若松通商で、アノードコモンの TLR4115 というやつを発見しました（157円）。<br />
<br />
迷わず購入したのですが、すでに3桁まで実験したこともあり、点灯させてみようという気が全く起こりません（苦笑）<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-17T02:33:34+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/javascript/%E5%87%BA%E5%BC%B5%20shibuya.js%2024">
    <link>https://simonetta.blog.shinobi.jp/javascript/%E5%87%BA%E5%BC%B5%20shibuya.js%2024</link>
    <title>出張 Shibuya.js 24</title>
    <description>9/15〜16 に開催中の「Mozilla 24」のプログラム、「出張 Shibuya.js 24」（＠ベルサール九段）に行ってきました。覚え書きとしてまとめておきます。


■INSIDE Gecko

1. パース
2. コンテントツリー
3. フレームツリー
4. レイアウト(...</description>
    <content:encoded><![CDATA[9/15〜16 に開催中の「<a title="Mozilla 24 - Worldwide Continuous Event" href="http://www.mozilla24.com/" target="_blank">Mozilla 24</a>」のプログラム、「<a title="出張 Shibuya.js 24" href="http://shibuyajs.org/articles/2007/08/24/Shibuya-js-24" target="_blank">出張 Shibuya.js 24</a>」（＠ベルサール九段）に行ってきました。覚え書きとしてまとめておきます。<br />
<br />
<br />
■INSIDE Gecko<br />
<br />
1. パース<br />
2. コンテントツリー<br />
3. フレームツリー<br />
4. レイアウト(reflow)<br />
5. ディスプレイリスト<br />
6. 描画<br />
<br />
という処理の流れを、順を追って解説されました。<br />
個人的には楽しめましたが、Mozilla のソースコードに興味がない人にはどうだったでしょうか…<br />
<a title="最速チュパカブラ研究会 - 出張 Shibuya.js 24の資料" href="http://d.hatena.ne.jp/gyuque/20070916" target="_blank">プレゼンが公開されています。</a><br />
<br />
【関連】<br />
<a title="Gecko hacking tutorial - MDC" href="http://developer.mozilla.org/ja/docs/Gecko_hacking_tutorial" target="_blank">Gecko hacking tutorial - MDC</a><br />
<br />
<br />
■AutoPagerize<br />
<br />
「次のページ」を自動で読み込んでくれる Greasemonkey スクリプト。お話の重点は、スクリプトよりも  Wiki で管理している SITEINFO の方にあったような印象です。<br />
<br />
【関連】<br />
<a title="AutoPagerize - Userscripts.org" href="http://userscripts.org/scripts/show/8551" target="_blank">AutoPagerize - Userscripts.org</a><br />
<br />
<br />
■新世代ブラウザのクロス開発まとめ<br />
<br />
エディタ関連、オフライン関連など、カテゴリーごとに新機能の解説がありました。説明が駆け足だったのが少々残念でした。<br />
<br />
僕はそうではありませんが、ウェブアプリ開発者にとっては非常に貴重な情報がまとめられていたのではないでしょうか。<br />
<br />
amachang さん的には、Safari がオススメだそうです。<br />
<a title="IT戦記 - Shibuya.JS の資料「The next genaration of browsers」公開" href="http://d.hatena.ne.jp/amachang/20070917/1190052430" target="_blank">プレゼンが公開されています。</a><br />
<br />
<br />
■JSの JSによる JSのための マルチスレッド<br />
<br />
別の言語でマルチスレッド経験があると、JavaScript で同じようなことがしたい時に悩むんですよね。それを可能にしてしまったライブラリです。一度使ってみたいなと思います。<br />
<br />
【関連】<br />
<a title="A Tutorial - Concurrent.Thread.Wiki" href="http://jsthread.sourceforge.net/cgi-bin/wiki/wiki.cgi?page=A Tutorial" target="_blank">A Tutorial - Concurrent.Thread.Wiki</a><br />
<br />
<br />
■ライトニングトーク<br />
<br />
○ECMAScript4 リファレンス実装<br />
<br />
現状では、SpiderMonkey の実装も遅れ気味で、出来もイマイチらしいです。<br />
<br />
○5分でわかる Photoshop の正しい使いかた<br />
<br />
実演がかなりウケてましたね。<br />
<a title="Sep 15 2007 :: 出張 Shibuya.js 24 「正しい Photoshop の使い方」  nulog, NULL::something : out of the washer" href="http://lowreal.net/blog/2007/09/15/1" target="_blank">プレゼンが公開されています。</a><br />
<br />
○jQueryつまみぐい<br />
<br />
call と apply とか、jQuery がいかにして高速化を実現しているかというお話でした。<br />
<br />
○SHA-1の高速化tips<br />
<br />
<a title="出張Shibuya.js 24の発表資料 (mitsunari@cybozu labs)" href="http://labs.cybozu.co.jp/blog/mitsunari/2007/09/shibuyajs_24.html" target="_blank">プレゼンが公開されています。</a><br />
<br />
○Facebook.JS<br />
<br />
「<a title="[Facebook] FBJSでFacebookアプリ内でJavaScriptを利用" href="http://kawa.at.webry.info/200708/article_3.html" target="_blank">FBJSでFacebookアプリ内でJavaScriptを利用</a>」に基づいたお話でした。<br />
<br />
○JavaScript.GIF<br />
<br />
○ustream で JSONP Loader<br />
<br />
タイトルとは全然違うお話になってました。HatenaStar.js を使ってるのを誰もツッコんでくれなかったとか。<br />
<a title="最速インターフェース研究会 :: Mozilla24でしゃべってきました" href="http://la.ma.la/blog/diary_200709182227.htm" target="_blank">プレゼンが公開されています。</a><br />
]]></content:encoded>
    <dc:subject>JavaScript</dc:subject>
    <dc:date>2007-09-16T03:19:59+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-3-">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-3-</link>
    <title>CQ_V850 で7セグメント LED の実験 (3)</title>
    <description>3桁7セグ LED の点灯実験をしました。使用したのは、秋月で売っていた C-533SR（カソードコモン）です。



この LED は a〜g および dp が共通ですので、3桁同時点灯はできませんが、前回の実験と比較して、配線がすっきりしました。

接続のメモです。(n = 1, 2...</description>
    <content:encoded><![CDATA[3桁7セグ LED の点灯実験をしました。使用したのは、秋月で売っていた C-533SR（カソードコモン）です。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-13.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1189615210/" border="0" alt="7セグメントLED" /></a><br />
<br />
この LED は a〜g および dp が共通ですので、3桁同時点灯はできませんが、<a title="CQ_V850 で7セグメント LED の実験 (2)" href="http://simonetta.blog.shinobi.jp/Entry/32/" target="_blank">前回の実験</a>と比較して、配線がすっきりしました。<br />
<br />
接続のメモです。(n = 1, 2, 3)<br />
<br />
[CON3-1]  +3.3V → 74HC4511(V<sub>CC</sub>)<br />
[CON3-1]  +3.3V → 74HC4511(LT)<br />
[CON3-1]  +3.3V → 74HC4511(BI)<br />
[CON3-10] GND → 74HC4511(LE)<br />
[CON3-10] GND → 74HC4511(GND)<br />
<br />
[CON1-1] P90 → 74HC4511(A)<br />
[CON1-2] P91 → 74HC4511(B)<br />
[CON1-3] P92 → 74HC4511(C)<br />
[CON1-4] P93 → 74HC4511(D)<br />
<br />
74HC4511(a) → 680Ω → LED(a)<br />
74HC4511(b) → 680Ω → LED(b)<br />
74HC4511(c) → 680Ω → LED(c)<br />
74HC4511(d) → 680Ω → LED(d)<br />
74HC4511(e) → 680Ω → LED(e)<br />
74HC4511(f) → 680Ω → LED(f)<br />
74HC4511(g) → 680Ω → LED(g)<br />
<br />
[CON3-10] GND → 2SC1815&lt;n&gt;(B)<br />
2SC1815&lt;n&gt;(C) → (-)LED&lt;n&gt;<br />
<br />
[CON1-9]  P98  → 10kΩ → 2SC1815&lt;1&gt;(E)<br />
[CON1-10] P99  → 10kΩ → 2SC1815&lt;2&gt;(E)<br />
[CON1-11] P910 → 10kΩ → 2SC1815&lt;3&gt;(E)<br />
<br />
以下、主要なコードです。タイマ割り込みハンドラで点灯する LED を切り替え、表示する値を 74HC4511 に出力します。また、100回ごとに数値をインクリメントしています。基本的には<a title="CQ_V850 で7セグメント LED の実験 (2)" href="http://simonetta.blog.shinobi.jp/Entry/32/" target="_blank">前回の実験</a>とまったく同じなのですが、カソードコモンですのでポートへの出力値が前回とは反転しています。<br />
<pre><br />
#define T 256<br />
<br />
static int led[3] = { 0, 0, 0 };<br />
static int cur = 0;<br />
static int count = 0;<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P94の設定<br />
  PMC9L = 0; // 入出力ポート<br />
  PM9L  = 0; // 出力モード<br />
  P9L   = (unsigned char)led[cur];<br />
<br />
  // P98〜P910の設定<br />
  PMC9H = 0; // 入出力ポート<br />
  PM9H  = 0; // 出力モード<br />
  P9H   = (unsigned char)(1 << cur);<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 0; // インターバル・タイマ・モード<br />
  TP1CCR0 = T - 1;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  if (++count == 100) {<br />
    // LEDに表示する値を変更<br />
    count = 0;<br />
    led[0] += 1;<br />
    if (led[0] == 10) {<br />
      led[0] = 0;<br />
      led[1] += 1;<br />
      if (led[1] == 10) {<br />
        led[1] = 0;<br />
        led[2] += 1;<br />
        if (led[2] == 10) {<br />
          led[2] = 0;<br />
        }<br />
      }<br />
    }<br />
  }<br />
<br />
  // 点灯LEDの切り替え<br />
  if (++cur == 3) cur = 0;<br />
  P9H = (unsigned char)(1 << cur);<br />
<br />
  // 点灯LEDの値を設定<br />
  P9L = (unsigned char)led[cur];<br />
}<br />
</pre><br />
<br />
デバッグ用回路として作っておくと便利そうですが、この程度の配線でも何度か間違えましたので、ユニバーサル基板上に作ろうとすると失敗してしまうかもしれません。経験のためにも挑戦したいと考えてはいるのですが、今はブレッドボードで数をこなしていく時期なのかなとも思っています。<br />
<br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-13T02:12:52+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/linux/linux%20%E3%81%A7%20amr%20%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%82%89%E2%80%A6">
    <link>https://simonetta.blog.shinobi.jp/linux/linux%20%E3%81%A7%20amr%20%E3%82%92%E5%86%8D%E7%94%9F%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%9F%E3%82%89%E2%80%A6</link>
    <title>Linux で AMR を再生しようとしたら…</title>
    <description>Vodafone 携帯で録音した音声を Fedora PC で聴いたり変換してみようかなと思ったのですが、それ以前のところでハマってしまいました。

まずは mplayer で再生しようとしたら、共有ライブラリ（libdts.so.0）の問題で起動せず。どうも livna と freshrpms...</description>
    <content:encoded><![CDATA[Vodafone 携帯で録音した音声を Fedora PC で聴いたり変換してみようかなと思ったのですが、それ以前のところでハマってしまいました。<br />
<br />
まずは mplayer で再生しようとしたら、共有ライブラリ（libdts.so.0）の問題で起動せず。どうも livna と freshrpms の両方からアップデートしている間に、コンフリクトしてしまったようです。<br />
<br />
freshrpms の yum リポジトリを無効にし、全部ではありませんが freshrpms のパッケージをアンインストールして、livna からインストールし直すと、mplayer が起動するようになりました。<br />
<br />
が、コーデック未対応のようで、再生できず…<br />
疲れたので、今日はここまで。<br />
<br />
【追記】RealPlayer で再生できました。<br />
<br />
せっかくなので、録音した音声を置いときます。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/07-09-08_15-32.amr" target="_blank">アキバ電気街口のメガネスーパー(1) (amr)</a><br />
<a href="//simonetta.blog.shinobi.jp/File/07-09-08_15-44.amr" target="_blank">アキバ電気街口のメガネスーパー(2) (amr)</a><br />
]]></content:encoded>
    <dc:subject>Linux</dc:subject>
    <dc:date>2007-09-10T01:39:51+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-2-">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-2-</link>
    <title>CQ_V850 で7セグメント LED の実験 (2)</title>
    <description>7セグメント LED 用の BCD デコーダ/ドライバ SN74LS47 を使い、複数の7セグメント LED を点灯させる実験をしました。



最初は4桁で実験する予定だったのですが、3桁で力尽きました。二度とやりたいとは思いません。ブレッドボードでこの有様ですから、この回路を基板にはんだ...</description>
    <content:encoded><![CDATA[7セグメント LED 用の BCD デコーダ/ドライバ SN74LS47 を使い、複数の7セグメント LED を点灯させる実験をしました。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-10.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1189352534/" border="0" alt="7セグメントLED" /></a><br />
<br />
最初は4桁で実験する予定だったのですが、3桁で力尽きました。二度とやりたいとは思いません。ブレッドボードでこの有様ですから、この回路を基板にはんだ付けするのは無理だと思います（苦笑）<br />
<br />
<a title="CQ_V850 で7セグメント LED の実験 (1)" href="http://simonetta.blog.shinobi.jp/Entry/31/" target="_blank">前回の実験</a>のようなスタティック点灯では、各 LED に0〜9を点灯させるのに7つのポートが必要でしたが、74LS47 を使うと LED の数に関係なく4ポートで済みます（74LS47 を使用しなくても、ダイナミック点灯であれば7ポートで済むとは思います）。今回の実験では、LED に表示する値の出力に P90〜P93 の4ポート、点灯させる LED の選択に P98〜P910 の3ポートを使用しました。<br />
<br />
接続のメモです。(n = 1, 2, 3)<br />
<br />
[CON3-1]  +3.3V → SN74LS47(V<sub>CC</sub>)<br />
[CON3-10] GND → SN74LS47(GND)<br />
<br />
[CON1-1] P90 → SN74LS47(A)<br />
[CON1-2] P91 → SN74LS47(B)<br />
[CON1-3] P92 → SN74LS47(C)<br />
[CON1-4] P93 → SN74LS47(D)<br />
<br />
SN74LS47(a) → 680Ω → LED&lt;n&gt;(a)<br />
SN74LS47(b) → 680Ω → LED&lt;n&gt;(b)<br />
SN74LS47(c) → 680Ω → LED&lt;n&gt;(c)<br />
SN74LS47(d) → 680Ω → LED&lt;n&gt;(d)<br />
SN74LS47(e) → 680Ω → LED&lt;n&gt;(e)<br />
SN74LS47(f) → 680Ω → LED&lt;n&gt;(f)<br />
SN74LS47(g) → 680Ω → LED&lt;n&gt;(g)<br />
<br />
[CON3-1] +3.3V → 2SA1015&lt;n&gt;(B)<br />
2SA1015&lt;n&gt;(C) → (+)LED&lt;n&gt;<br />
<br />
[CON1-9]  P98  → 10kΩ → 2SA1015&lt;1&gt;(E)<br />
[CON1-10] P99  → 10kΩ → 2SA1015&lt;2&gt;(E)<br />
[CON1-11] P910 → 10kΩ → 2SA1015&lt;3&gt;(E)<br />
<br />
以下、主要なコードです。タイマ割り込みハンドラで点灯する LED を切り替え、表示する値を 74LS47 に出力します。また、100回ごとに数値をインクリメントしています。<br />
<pre><br />
#define T 256<br />
<br />
static int led[3] = { 0, 0, 0 };<br />
static int cur = 0;<br />
static int count = 0;<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P94の設定<br />
  PMC9L = 0; // 入出力ポート<br />
  PM9L  = 0; // 出力モード<br />
  P9L   = (unsigned char)led[cur];<br />
<br />
  // P98〜P910の設定<br />
  PMC9H = 0; // 入出力ポート<br />
  PM9H  = 0; // 出力モード<br />
  P9H   = (unsigned char)~(1 << cur);<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 0; // インターバル・タイマ・モード<br />
  TP1CCR0 = T - 1;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  if (++count == 100) {<br />
    // LEDに表示する値を変更<br />
    count = 0;<br />
    led[0] += 1;<br />
    if (led[0] == 10) {<br />
      led[0] = 0;<br />
      led[1] += 1;<br />
      if (led[1] == 10) {<br />
        led[1] = 0;<br />
        led[2] += 1;<br />
        if (led[2] == 10) {<br />
          led[2] = 0;<br />
        }<br />
      }<br />
    }<br />
  }<br />
<br />
  // 点灯LEDの切り替え<br />
  if (++cur == 3) cur = 0;<br />
  P9H = (unsigned char)~(1 << cur);<br />
<br />
  // 点灯LEDの値を設定<br />
  P9L = (unsigned char)led[cur];<br />
}<br />
</pre><br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-10T01:12:10+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-1-">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A77%E3%82%BB%E3%82%B0%E3%83%A1%E3%83%B3%E3%83%88%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-1-</link>
    <title>CQ_V850 で7セグメント LED の実験 (1)</title>
    <description>7セグメント LED のスタティック点灯の実験を行いました。使用したのは秋月で4個100円で売ってた LN516RA（アノードコモン）です。



後先考えず P90〜P96 に適当につないだら、激しく使いにくくなってしまいました。

[CON3-1] +3.3V → 2SA1015(B...</description>
    <content:encoded><![CDATA[7セグメント LED のスタティック点灯の実験を行いました。使用したのは秋月で4個100円で売ってた LN516RA（アノードコモン）です。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-07.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1189091514/" border="0" alt="7セグメントLED" /></a><br />
<br />
後先考えず P90〜P96 に適当につないだら、激しく使いにくくなってしまいました。<br />
<br />
[CON3-1] +3.3V → 2SA1015(B)<br />
[CON3-8] P37 → 10kΩ → 2SA1015(E)<br />
2SA1015(C) → (+)LED<br />
LED(e-) → 680Ω → P90 [CON1-1]<br />
LED(d-) → 680Ω → P91 [CON1-2]<br />
LED(c-) → 680Ω → P92 [CON1-3]<br />
LED(g-) → 680Ω → P93 [CON1-4]<br />
LED(f-) → 680Ω → P94 [CON1-5]<br />
LED(a-) → 680Ω → P95 [CON1-6]<br />
LED(b-) → 680Ω → P96 [CON1-7]<br />
<br />
この週末には、回路図エディタを探したいと思ってます…<br />
<br />
以下、主要なコードです。1, 2, 3, 4, 5, 6, 7, 8, 9, 0 の点灯パターンを繰り返します。<br />
<pre><br />
#define T (20000000 / 512) // 1000ms周期<br />
<br />
static const unsigned char led[] = {<br />
  0xbb, // 1 (b + c)<br />
  0x94, // 2 (a + b + d + e + g)<br />
  0x91, // 3 (a + b + c + d + g)<br />
  0xa3, // 4 (b + c + f + g)<br />
  0xc1, // 5 (a + c + d + f + g)<br />
  0xe0, // 6 (c + d + e + f + g)<br />
  0x9b, // 7 (a + b + c)<br />
  0x80, // 8 (a + b + c + d + e + f + g)<br />
  0x83, // 9 (a + b + c + f + g)<br />
  0x88, // 0 (a + b + c + d + e + f)<br />
};<br />
static const unsigned char *cur = led;<br />
static const unsigned char *end = led + sizeof(led) / sizeof(unsigned char);<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P96の設定<br />
  PMC9L = 0; // 入出力ポート<br />
  PM9L  = 0; // 出力モード<br />
  P9L = *cur;<br />
<br />
  // ポート37の設定<br />
  PM37 = 0; // 出力モード<br />
  P37 =  0; // Lレベル<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 0; // インターバル・タイマ・モード<br />
  TP1CCR0 = T - 1;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  if (++cur == end) cur = led;<br />
  P9L = *cur;<br />
}<br />
</pre><br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-07T00:23:55+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-8-">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-8-</link>
    <title>CQ_V850 で LED の実験 (8)</title>
    <description>前回の実験と同様にフルカラー LED を使用し、PWM で色を変える実験をしました。



タイマ割り込みハンドラで「赤のみ点灯 → 緑のみ点灯 → 青のみ点灯」を繰り返すのですが、その都度デューティ比を設定することで、さまざまな色になります。

同時には1色しか点灯しないのでトランジス...</description>
    <content:encoded><![CDATA[<a title="CQ_V850 で LED の実験 (7)" href="http://simonetta.blog.shinobi.jp/Entry/29/" target="_blank">前回の実験</a>と同様にフルカラー LED を使用し、PWM で色を変える実験をしました。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-05.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1188925498/" border="0" alt="フルカラーLED" /></a><br />
<br />
タイマ割り込みハンドラで「赤のみ点灯 → 緑のみ点灯 → 青のみ点灯」を繰り返すのですが、その都度デューティ比を設定することで、さまざまな色になります。<br />
<br />
同時には1色しか点灯しないのでトランジスタは必須ではないと考えましたが、勉強を兼ねて追加してみました。かなり明るくなったと思います。<br />
そろそろ回路図描かなきゃいけませんね。<br />
<br />
[CON2-25] TOP11 → 10kΩ → 2SA1015(E)<br />
[CON3-1] +3.3V → 2SA1015(B)<br />
2SA1015(C) → (+)LED<br />
LED(R-) → 680Ω → P90 [CON1-1]<br />
LED(G-) → 680Ω → P91 [CON1-2]<br />
LED(B-) → 680Ω → P92 [CON1-3]<br />
<br />
以下、主要なコードです。RGB 各色において65段階で変化させています。<br />
また、init_timer() 内の TP1OL1 の設定ですが、トランジスタを入れる前はハイレベルスタートで点灯→消灯だったのですが、トランジスタを入れると消灯→点灯になりました。<br />
<pre><br />
#define T 128<br />
#define D 2<br />
<br />
enum {<br />
  Color_Red,<br />
  Color_Green,<br />
  Color_Blue,<br />
  N_Color<br />
};<br />
<br />
static int color = Color_Red;<br />
static int t[N_Color] = { 0, 0, 0 };<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P92の設定 (LED)<br />
  PMC9L = 0;    // 入出力ポート<br />
  PM9L  = 0;    // 出力モード<br />
  P9L   = 0xff; // すべて消灯<br />
<br />
  // ポート35の設定 (タイマ出力)<br />
  PFC35 = 1; // TOP11出力<br />
  PMC35 = 1; // TIP11入力/TOP11出力<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 4; // PWM出力モード<br />
  TP1OE1  = 1; // TOP11出力許可<br />
  TP1OL1  = 1; // TOP11ローレベルスタート<br />
  TP1CCR0 = T - 1;<br />
  TP1CCR1 = 0;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  switch (color) {<br />
  default:<br />
    color = Color_Red;<br />
  case Color_Red:<br />
    // 赤点灯<br />
    P90 = 0;<br />
    P91 = P92 = 1;<br />
    break;<br />
  case Color_Green:<br />
    // 緑点灯<br />
    P91 = 0;<br />
    P90 = P92 = 1;<br />
    break;<br />
  case Color_Blue:<br />
    // 青点灯<br />
    P92 = 0;<br />
    P90 = P91 = 1;<br />
    break;<br />
  }<br />
<br />
  if (++color == N_Color) {<br />
    color = Color_Red;<br />
<br />
    if (t[Color_Red] < T) {<br />
      t[Color_Red] += D;<br />
    } else {<br />
      t[Color_Red] = 0;<br />
<br />
      if (t[Color_Green] < T) {<br />
        t[Color_Green] += D;<br />
      } else {<br />
        t[Color_Green] = 0;<br />
<br />
        if (t[Color_Blue] < T) {<br />
          t[Color_Blue] += D;<br />
        } else {<br />
          t[Color_Blue] = 0;<br />
        }<br />
      }<br />
    }<br />
  }<br />
<br />
  TP1CCR1 = t[color];<br />
}<br />
</pre><br />
<br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-06T00:11:28+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
  <item rdf:about="https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-7-">
    <link>https://simonetta.blog.shinobi.jp/%E3%83%9E%E3%82%A4%E3%82%B3%E3%83%B3/cq_v850%20%E3%81%A7%20led%20%E3%81%AE%E5%AE%9F%E9%A8%93%20-7-</link>
    <title>CQ_V850 で LED の実験 (7)</title>
    <description>今回はフルカラー LED を点灯させてみました。使用した LED は、日亜 NSTM515AS です。



アノードコモンですので、次のように接続しています。

[CON3-1] +3.3V → (+)LED
LED(R-) → 680Ω → [CON1-1] P90
LED(G-...</description>
    <content:encoded><![CDATA[今回はフルカラー LED を点灯させてみました。使用した LED は、日亜 NSTM515AS です。<br />
<br />
<a href="//simonetta.blog.shinobi.jp/File/led-2007-09-03.jpg" target="_blank"><img src="//simonetta.blog.shinobi.jp/Img/1188753631/" border="0" alt="フルカラーLED" /></a><br />
<br />
アノードコモンですので、次のように接続しています。<br />
<br />
[CON3-1] +3.3V → (+)LED<br />
LED(R-) → 680Ω → [CON1-1] P90<br />
LED(G-) → 680Ω → [CON1-2] P91<br />
LED(B-) → 680Ω → [CON1-3] P92<br />
<br />
データシートを見て、抵抗値は赤で400Ω弱、青・緑では50Ωくらいで計算していたのですが、試しに680Ωで点灯させてみたところ、実験するには十分明るかったので、各色すべて680Ωとしました。さすがに、青単色だと若干暗い感じはしますが。<br />
<br />
以下、主要なコードです。約1秒ごとに、以下の点灯パターンで色が変化します。<br />
無点灯 → 赤 → 緑 → 赤＋緑 → 青 → 赤＋青 → 緑＋青 → 赤＋緑＋青<br />
<pre><br />
#define T (20000000 / 512) // 1000ms周期<br />
<br />
static int count = 0;<br />
<br />
// ポート初期化<br />
void init_port()<br />
{<br />
  // P90〜P92の設定<br />
  PMC9L = 0; // 入出力ポート<br />
  PM9L  = 0; // 出力モード<br />
  P9L   = ~count & 0xff;<br />
<br />
#if defined(DEBUG)<br />
  // ポートCT6の設定 (動作確認用)<br />
  PMCCT6 = 0; // 入出力ポート<br />
  PMCT6  = 0; // 出力モード<br />
  PCT6   = 0; // Lレベル<br />
#endif<br />
}<br />
<br />
// タイマ初期化<br />
void init_timer()<br />
{<br />
  // TMP1の設定<br />
  TP1CE   = 0; // 動作禁止<br />
  TP1CKS  = 7; // fxx/512<br />
  TP1MD   = 0; // インターバル・タイマ・モード<br />
  TP1CCR0 = T - 1;<br />
  TP1CE   = 1; // 動作許可<br />
}<br />
<br />
// 割り込み初期化<br />
void init_intc()<br />
{<br />
  // INTTP1CC0<br />
  TP1CCPR0 = 0; // 割り込み優先度 = 0<br />
  TP1CCMK0 = 0; // 割り込み許可<br />
}<br />
<br />
// タイマ割り込みハンドラ<br />
void timer_int_handler()<br />
{<br />
  ++count;<br />
  P9L = ~count & 0xff;<br />
<br />
#ifdef DEBUG<br />
  PCT6 ^= 1;<br />
#endif<br />
}<br />
</pre><br />
PWM と組み合わせたりすると、癒し効果の演出も可能ではないかと思います。<br />
<br />
【備考】gcc で開発しています。<br />
]]></content:encoded>
    <dc:subject>マイコン</dc:subject>
    <dc:date>2007-09-03T02:51:29+09:00</dc:date>
    <dc:creator>シモネッタ</dc:creator>
    <dc:publisher>NINJA BLOG</dc:publisher>
    <dc:rights>シモネッタ</dc:rights>
  </item>
</rdf:RDF>
