ENGLISH page is here.
GET DinopSearchBar
サイト内検索:
HOME
VC++ TIPS
ダウンロード
DinopExifReader
DinopSearchBar
DinopSearchBar mini
DinopTabbingBar
for Firefox
大阪湾の生き物
甲子園浜の自然
甲子園浜の干潟
甲子園浜の水中
甲子園浜の野鳥
近畿の山々
植物図鑑
箕面マップ
水中機材
カメラ
ランキング
望遠鏡の世界
顕微鏡の世界
Googleのすべて
GoogleマップAPI
ニュース
読んだ本
日記
変な料理の作り方
遺伝子操作
論文紹介
デイトレード
自動売買でFX
ネットで小遣い稼ぎ
Solaris
電子工作
その他
問い合わせ
VC++用コード集
大阪湾の生き物
水中用機材
since:2000/11/15
dinopcom@gmail.com
www.dinop.comは
だいのっぷ・どっと・こむ
と読んでください。







« PSoCを使い8ビットカウンターでLEDを点滅させる | メイン | PSoCを使いキャラクタ液晶モジュールに文字を表示する »

PSoCを使い8ビットPWMでLEDを点滅させる





psoc_timer8_01.gif
前回は8ビットカウンターを利用してLEDを点滅させた。今回は8ビットPWMモジュールを利用してLEDを点滅させる。PSoC DesignerとCY8C29466を利用した。

使うモジュールが異なるだけで基本的な手順は前回と同じだ。省略されている部分は「PSoCを使い8ビットタイマーでLEDを点滅させる」や「PSoCを使い8ビットカウンターでLEDを点滅させる」を参照してほしい。

psoc_timer8_02.gif
PSoC Designerを起動して新しいプロジェクトを作成した。この画面(Device EditorのSelection画面)では利用するモジュールを選択する。今回は8ビットPWMを利用する。左側のリストの「PWMs」にある「PWM8」を右クリックして現れたメニューから「Select」を選択する。すると画面中央上側に「Counter8_1」というアイコンが追加される。

psoc_timer8_03.gif
「Config」メニューの「Interconnect」を選択して画面を切り替える。ここでPSoCの動作クロックなどの設定をする。設定箇所は赤枠内で、設定値は「PSoCを使い8ビットタイマーでLEDを点滅させる」などと同じだ。

psoc_timer8_04.gif
次にPWMモジュールを配置して設定する。「PWM8_1」を右クリックして現れるメニューから「Place」を選択する。

psoc_timer8_05.gif
すると配線図の中にPWMモジュールが配置されると同時に画面左側で詳細設定ができるようになる。画面左側を赤枠内のように設定する。具体的には
「Clock」は「VC3」に、
「Enable」は「High」に、
「CompareOut」は「Row_0_Output_2」に、
「TerminalCountOut」は「None」に、
「Period」は「99」に、
「PulseWidth」は「50」に、
「CompareType」は「Less Than Or Equal」に、
「InterruptType」は「Terminal Count」に、
「ClockSync」は「Sync to SysClk」に設定する。PWMを利用するときは「CompareOut」と「Period」、「PulseWidth」を必要に応じて設定すると覚えておくといいだろう。

psoc_timer8_06.gif
さらにPWMモジュールの出力が実際のポートに出力されるように内部配線をする。今回はポート22を利用した。

内部配線をしたら「View」メニューから「Application Editor」を選択して画面を切り替える。

psoc_timer8_07.gif
ソースコードを書くときはサンプルコードを参照すると悩まずに済む(ことが多い)。PWMモジュール用のサンプルコードを見るためにツールバーの上部で「PWMs」の「PWM8」を選択し「User Module Datasheet」ボタンを押す。

psoc_timer8_08.gif
サンプルコードはデータシートの中に用意されている。「PWM8_WritePulseWidth」までは先に設定した「Period」や「PulseWidth」をソースコード上から設定するものだ。必要ないのでそれ以外の部分を選択してクリップボードにコピーする。

psoc_timer8_09.gif
「main.asm」の中にサンプルコードを貼り付ける。そのときに「PWM8_」の部分を「PWM8_1_」のように置換する。

修正したら「Build」メニューの「Build」でビルドする。
ビルドが正常したらPSoC Programmerで書き込んでPSoCを動かせばいい。これでポート22にカウンターからの信号が出力され、MiniEval1のようにLEDが用意されている基板であればLEDがおよそ1秒ごとに光る。










Copyright (c) 1999-2007 issei. All rights reserved. (運営者情報