大阪・日本橋 でんでんタウン
発明ロボット塾 4月
組み込みマイコン( H8マイコン)
のことを勉強しよう
担当 トライアングル・エレクトロニクス 久保幸夫
はじめに
• この講座は、
中学校の技術家庭科で習う、
レベルの知識を小学生(高学年)~中学生を対象に
身に付けることを、目的としています。
同、知識レベルを大きく上回ることや、H8マイコンに特化した
プログラム等の解説は割愛しておりますので、...
ごちゅうい
• ぶひんのほうこう、つなぎまちがいに
ちゅういすること
• ショートさせないこと
• さきのとがったぶひんもあるので、
ちゅういすること
• こまかいぶひんがおおいので、
なくさないこと
• あそばないときは、
かならずACアダプ...
組み込みマイコンって
• 機械の中に入っている
小さなコンピュータ
• 何をしているの?
機械を動かす
制御(せいぎょ)
クイズ これ!なんだ!
制御(せいぎょ)の例
• 炊飯器(すいはんき)
– ごはんをたくやつ
– おいしいごはんを たくには、火の強さの加減が大切
火のつよさを
調整(ちょうせい)する
火が弱い(よわい)と
うまくたけない
火が強いと(つよい)と
こげてしまう
温度(...
温度(おんど)を見て
調整(ちょうせい)するには
• 温度をしらべる センサー
• マイコンにデータをとりこむ
• 処理(しょり)
• プログラムで制御(せいぎょ)
• ヒーターをつける、けす
入口
出口
処理
計測
制御
クイズ組込みマイコン!
クイズです!
何の機械か
あててください
なぞのマイコン基板(おもて)
なぞのマイコン基板(うら)
なぞのマイコン基板は
なんでしょうか?
ヒント
おうちにある電気製品です
よく使います
この部屋にもあります
こわれると、たいへんです
マイコンをつかってます
ねだんは6万円ぐらいでした
2001年製でした
ルネサス 740ファミリマイコン
75311M4搭載
LEDランプがついています
おしボタンスイッチがついています
赤外線(せきがいせん)センサがついています
(手元リモコン用)
リレーがついています
電気(AC100V)のオン・オフをします
バッテリーの充電(じゅうでん)回路と
モータの回路がついています
バキュームセンサー
空気(くうき)圧をはかります
なぞの機械
• ヒント
• おおきなバッテリーが入って
ます。充電できます
• コードレスでつかえます
• 500Wの強力
DCモータが付いています
なぞの機械
• ヒント
–おうちにある機械ですが、
コードレスタイプです
–うごかすと、
モータの音がします
•うい~ん
なぞの機械
• ヒント
–機械のおなかが、いっぱいになる
と、あかいLEDがつきます
–パックをとりかえます
•わかったかな!?
•むずかしい?
•じゃ、大ヒント!
こんな機械です
•わかったかな!?
•こたえは!
コードレス掃除機
コードレス掃除機
赤外線手元スイッチ
(リモコン発光側)
オン/オフ・モード切替
(強/弱/おまかせ)
赤外線受信ユニット
手動切替SW
バッテリー残量表示
(4個のLED)
ゴミパック交換常ランプ
(LED)
パワーブラシ
(モータ)
モータ...
コードレス掃除機のシステム
入力 出力処理
(制御・演算・記憶)
マイコン
空気圧
センサ
赤外線
ユニット
モータ
ドライ
ブ回路
DC
モータ
回転
センサスイッチ
安全
スイッチ
手元
スイッチ
LED表示
集塵室
(ごみ
パック)
空気...
システムって!?
• 「複数の機械を組み合わせて、
ぜんたいとして、うまく動か
すためのしくみ」
って、いっても・・・
むずかしいよね!
システムには…
• 入口がある
• 処理(しょり)をおこなう
• 出口がある
• システム的に考える
入口、処理、出口を考える
入力 出力処理
(制御・演算・記憶)
計測 制御
組み込みマイコンはシステムの中心
• 機械のシステムの中心が
組み込みマイコン
• 現在の多くの
電気製品(家電製品、通信・情報機器)
ロボット、機械
乗り物(自動車、飛行機、電車…)など
は、組み込みマイコンで動いている!
昔の(30年前)組み込みマイコン基板
SRAM ROM Z80CPU パラレルIO×2個
マイコン
インタフェース
I/O(入口・出口)メモリ
組み込みマイコン基板の構成
• メモリ(記憶)
プログラムやデータを覚える
• マイコン
プログラムをメモリから読んで動作
– 制御
– 計算
• インタフェース 外との出入口
– 入口 INPUT
– 出口 OUTPUT
I/O(アイオー)ポ...
いまのマイコン基板
インタフェース
I/Oポートなど
(入口・出口)
マイコン
メモリ
ぜんぶ、1個の
ICに入って入る
ルネサス H8マイコン H8/3058F 16ビットマイコン
最新のマイコン基板
ARMマイコン STM32ディスカバリ 32ビットマイコン
インタフェース
I/Oポートなど
(入口・出口)
マイコン
メモリ
さらに高性能!
ICが小さくなった!
電気が少なくて良い
今の組み込みマイコン
一つになった、小さくなった
高機能(いろんなことができる)
高性能になった(処理がはやい)
値段が安くなったやすい
はやい
ちいさい
なんでもできる
どんどんべんりになったけど、
組み込みマイコンをうごかすには
プログラム...
組み込みマイコンのプログラム
• C言語(しーげんご)で書く
– コンピュータ専用の言葉
main(){
・・・・・・・・・・・・
int c=0; //割り込み回数
EI; //割り込み許可
while (1){
sw = ~P2.DR.BY...
Arduino(アルドゥイーノ)も
• Arduino使ったことある人もいるよね
• ArduinoのプログラムもC言語風
– Arduinoのプログラム(スケッチ)は、
C言語をベースにした言語
Arduino
(アルドゥイーノ)
Arduinoのプログラム
Arduino
のIDE
開発環境
(かいはつかんきょう)
Arduinoのプログラム開発
• Arduinoのプログラム開発
USBケーブル
プログラム開発はおなじ
• Arduinoのプログラム開発も
組み込みマイコンのプログラム開発も
きほんはおなじ
• ただ!
– Arduinoは
マイコンをつかいやすく、はやくつくれる
• こまかいことは、 Arduinoのほうでやってくれる...
41
組み込みマイコン(H8)
のプログラム開発
• パソコンで(C言語)でプログラムをつくる、
マイコンのメモリ(フラッシュメモリ)に書き込む
RS-232Cで接続
開発環境 GCC Developer Lite を使用プログラムを入れる
今日は、H8マイコンを使った工作だ
• 今日は、H8マイコンを使った工作に
挑戦(ちょうせん)します
– さすがに、 H8マイコンのC言語プログラムを
ぜんぶわかるのは、むずかしい
– かんたんにせつめいします。
// I/Oの設定
P2.DD...
なにを作るか?
• なにを作るか?
–なにをうごかすのか?
–なにを検知して、どのように動かすの
か?
• これを仕様(しよう)といいます
–これをよく考えたあと
システムとして考える
–入口は? 処理は? 出口は?
計測 制御
今日、工作するものは?
•なにを
つくるの?
今日は・・・
ふみきり
踏切かんかん装置つくります
踏切かんかん装置
今回は プラレールは使いません
光センサーで
電車を検知
カンカンカン
LEDが
チカチカ
踏切かんかん装置のシステム
• 入力
–光センサー(CDS)で電車を検知
• 処理 光センサーの状態を見る
もし、電車を検知したら、
2個のLEDをチカチカ点灯
カンカン音を鳴らす
• 出力 LEDが2個 交互にチカチカ
カンカンの音を出す装置...
光センサー(CDS)で電車を検知
光センサーの検知は
明るい
光センサーの検知は
暗い
電車キタッー!!
マイコンで、この光センサーの
明るい、暗い、の二つの状態を検知して、
調べることで、
電車のあり、なしを検知できる
システムが決まったら
• システムを
ハードウェアとソフトウェアに分ける
• ハードウェア(部品)
– 目に見える、さわれる
マイコンもハードウェア
• ソフトウェア(プログラム)
– 目に見えない、頭でかんがえる
パソコンで、プログラムをつく...
システムのハードウェア(部品)
• 入力
光センサー(CDS)とスイッチ
(H8マイコンのI/Oポートにつながる)
• 処理
H8マイコン
(アナログ出力から音を出す)
• 出力 LED2個( I/Oポートから出力)
音を出す装置
アンプ、スピ...
ハードウェアをもっと細かく
• H8マイコンのI/Oポートを決める
• 入力
光センサー(CDS) ポート6の1番( P61)
スイッチ(ディップスイッチ) ポート2の1番( P21)
• 出力
– LED2個
• LED(右) ポート5の2番...
システムのソフトウェア
( H8マイコンのプログラム)
• 入力
– 光センサー(CDS)とスイッチがつな
がったI/Oポートから、状態を読み込む
• 処理
– 光センサー(CDS)の状態を判断して、
出力を指示する
• 出力
• 2個のLED...
H8マイコンのプログラム
フローチャート(流れ図)
決まった時間をつくる
センサーの状態を読み込む
電車あり?
2つのLEDをチカチカ
カンカンの音を出す
スタート
なし
あり
ポート6の1番( P61)を
読み取る
ポート5の2番(P52)
...
決まった時間をつくる
ちょっとむずかしいので、とばしてもOK
Arduinoの場合は delay()を使えますが、H8マイコンの
場合は、ありません。自分で作る必要があります。ここ
では、H8マイコンのタイマと呼ぶ機能を使って、一定時
間を作っ...
むずかしいので、とばしてもOK
H8マイコンのタイマと呼ぶ機能を使っています
一定時間ごとに、「割り込み」という機能で、知らせてくれます
タイマの準備
void ituinit(void) //ITUイニシャライズ
{
ITU0.TCR.BIT...
センサーの状態を読み込む
ポートP20(スイッチ)とポートP60(CDSセンサ)の値を
変数swとcdsに読み取る。
Main(){
・・・・・・・・・・
while (1){ //繰り返し
sw = ~P2.DR.BYTE; //ポートP2か...
電車あり?
電車があるのか?無いのかの判断をする
while (1){
//センサーの状態を読み込む
・・・・・・・・・・・・・・・・
if ((sw & 0x01)||(cds & 0x01) ) { //もし、センサーが検知(暗い)かったら...
2つのLEDをチカチカ
ふみきりカンカン状態で一定時間ごとに行う処理
if(chikachika == 0) // 変数chikachikaが0だと
{
P5.DR.BYTE=0x05;//LED P50 P52 点灯 0101 //LED左点...
カンカンの音を出す
//ITUインターバルタイマ割り込み
void int_imia0 (void)
{
ITU0.TSR.BIT.IMFA = 0; //割り込みステータスフラグクリア
//波形データ出力
if (sindata[c] >= ...
踏切カンカンのプログラム
• 踏切カンカンのプログラムは、
すでにH8マイコンに書きこんであります。
• ハードウェア(回路)を工作すると、
踏切カンカン装置を作ることができます。
踏切カンカン装置の工作
• ミドリとオレンジの部分を、工作します
• 細かいことは別の資料で説明します
マイコン
スイッチ
アンプ
回路
LED
2個CDS
センサー
スピー
カー
TA7368 ミニアンプ部品セット
各自で工夫してみよう
• 今回の工作では、踏切の形まで工作しませ
ん。各自、工夫してみてください。
• お手持ちのプラレールや、ブロックなどで作っ
た模型の電車と組み合わせると、
より踏切らしくなります。
参考
さらに自分でプログラムしたい人は
• 参考書(開発環境のCD付)
• C言語による H8マイコン プログラミング
入門
• 技術評論社 横山 直隆 (2003/8/30)
• この本と、USB-シリアル変換コネクタが
あれば、C言語による...
参考
H8マイコンのフラッシュROMの書込み1
• 専用書込みソフト
• H8Write Turboを使用する
(CD-ROMの中にあり)
• MOT形式のファイルをフラッ
シュ書込みソフトを使用して、
H8マイコンに書込みできる。
• RS2...
参考
H8マイコンのフラッシュROMの書込み2
• フラッシュROMの書込みは、
RS232C経由でPCから書き込
む
• H8マイコン側の S7スィッチを
RUNの反対側に切り替える
• CPUボードのCN5 MD2に
ヘッダピンを挿す
• ...
ご清聴ありがとうございました
ご清聴ありがとうございました
お問い合わせ、
講演・執筆・工作教室等の依頼は
Tw:@tentenV3 もしくは、FB または
http://triangle-ele.com/ のフォームから
パッチン電子工作も
...
Upcoming SlideShare
Loading in …5
×

でんでんタウン発明ロボット塾マイコン入門工作20140406

1,994 views

Published on

大阪日本橋・でんでんタウン工作教室 発明ロボット塾4月(2014年4月6日)
組み込みマイコン( H8マイコン) のことを勉強しよう
トライアングル・エレクトロニクス  久保幸夫 @tentenV3

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,994
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

でんでんタウン発明ロボット塾マイコン入門工作20140406

  1. 1. 大阪・日本橋 でんでんタウン 発明ロボット塾 4月 組み込みマイコン( H8マイコン) のことを勉強しよう 担当 トライアングル・エレクトロニクス 久保幸夫
  2. 2. はじめに • この講座は、 中学校の技術家庭科で習う、 レベルの知識を小学生(高学年)~中学生を対象に 身に付けることを、目的としています。 同、知識レベルを大きく上回ることや、H8マイコンに特化した プログラム等の解説は割愛しておりますので、ご了承ください ませ。 D 情報に関する技術 (3) プログラムによる計測・制御について, 次の事項を指導する。 ア コンピュータを利用した計測・制御 の基本的な仕組みを知ること。 イ 情報処理の手順を考え,簡単なプ ログラムが作成できること
  3. 3. ごちゅうい • ぶひんのほうこう、つなぎまちがいに ちゅういすること • ショートさせないこと • さきのとがったぶひんもあるので、 ちゅういすること • こまかいぶひんがおおいので、 なくさないこと • あそばないときは、 かならずACアダプターを抜いておくこと
  4. 4. 組み込みマイコンって • 機械の中に入っている 小さなコンピュータ • 何をしているの? 機械を動かす 制御(せいぎょ)
  5. 5. クイズ これ!なんだ!
  6. 6. 制御(せいぎょ)の例 • 炊飯器(すいはんき) – ごはんをたくやつ – おいしいごはんを たくには、火の強さの加減が大切 火のつよさを 調整(ちょうせい)する 火が弱い(よわい)と うまくたけない 火が強いと(つよい)と こげてしまう 温度(おんど)を見て うまく調整(ちょうせい)する
  7. 7. 温度(おんど)を見て 調整(ちょうせい)するには • 温度をしらべる センサー • マイコンにデータをとりこむ • 処理(しょり) • プログラムで制御(せいぎょ) • ヒーターをつける、けす 入口 出口 処理 計測 制御
  8. 8. クイズ組込みマイコン! クイズです! 何の機械か あててください
  9. 9. なぞのマイコン基板(おもて)
  10. 10. なぞのマイコン基板(うら)
  11. 11. なぞのマイコン基板は なんでしょうか? ヒント おうちにある電気製品です よく使います この部屋にもあります こわれると、たいへんです マイコンをつかってます ねだんは6万円ぐらいでした 2001年製でした
  12. 12. ルネサス 740ファミリマイコン 75311M4搭載
  13. 13. LEDランプがついています
  14. 14. おしボタンスイッチがついています
  15. 15. 赤外線(せきがいせん)センサがついています (手元リモコン用)
  16. 16. リレーがついています 電気(AC100V)のオン・オフをします
  17. 17. バッテリーの充電(じゅうでん)回路と モータの回路がついています
  18. 18. バキュームセンサー 空気(くうき)圧をはかります
  19. 19. なぞの機械 • ヒント • おおきなバッテリーが入って ます。充電できます • コードレスでつかえます • 500Wの強力 DCモータが付いています
  20. 20. なぞの機械 • ヒント –おうちにある機械ですが、 コードレスタイプです –うごかすと、 モータの音がします •うい~ん
  21. 21. なぞの機械 • ヒント –機械のおなかが、いっぱいになる と、あかいLEDがつきます –パックをとりかえます
  22. 22. •わかったかな!? •むずかしい? •じゃ、大ヒント!
  23. 23. こんな機械です
  24. 24. •わかったかな!? •こたえは!
  25. 25. コードレス掃除機
  26. 26. コードレス掃除機 赤外線手元スイッチ (リモコン発光側) オン/オフ・モード切替 (強/弱/おまかせ) 赤外線受信ユニット 手動切替SW バッテリー残量表示 (4個のLED) ゴミパック交換常ランプ (LED) パワーブラシ (モータ) モータの制御 省エネルギー (空気圧を検知し、 吸い込み力を制御) バッテリー充電・放電
  27. 27. コードレス掃除機のシステム 入力 出力処理 (制御・演算・記憶) マイコン 空気圧 センサ 赤外線 ユニット モータ ドライ ブ回路 DC モータ 回転 センサスイッチ 安全 スイッチ 手元 スイッチ LED表示 集塵室 (ごみ パック) 空気圧(吸込み圧)を検知 モータの回転を検知 計測 制御
  28. 28. システムって!? • 「複数の機械を組み合わせて、 ぜんたいとして、うまく動か すためのしくみ」 って、いっても・・・ むずかしいよね!
  29. 29. システムには… • 入口がある • 処理(しょり)をおこなう • 出口がある • システム的に考える 入口、処理、出口を考える 入力 出力処理 (制御・演算・記憶) 計測 制御
  30. 30. 組み込みマイコンはシステムの中心 • 機械のシステムの中心が 組み込みマイコン • 現在の多くの 電気製品(家電製品、通信・情報機器) ロボット、機械 乗り物(自動車、飛行機、電車…)など は、組み込みマイコンで動いている!
  31. 31. 昔の(30年前)組み込みマイコン基板 SRAM ROM Z80CPU パラレルIO×2個 マイコン インタフェース I/O(入口・出口)メモリ
  32. 32. 組み込みマイコン基板の構成 • メモリ(記憶) プログラムやデータを覚える • マイコン プログラムをメモリから読んで動作 – 制御 – 計算 • インタフェース 外との出入口 – 入口 INPUT – 出口 OUTPUT I/O(アイオー)ポート 昔はメモリ、マイコン、I/Oポートがべつべつ
  33. 33. いまのマイコン基板 インタフェース I/Oポートなど (入口・出口) マイコン メモリ ぜんぶ、1個の ICに入って入る ルネサス H8マイコン H8/3058F 16ビットマイコン
  34. 34. 最新のマイコン基板 ARMマイコン STM32ディスカバリ 32ビットマイコン インタフェース I/Oポートなど (入口・出口) マイコン メモリ さらに高性能! ICが小さくなった! 電気が少なくて良い
  35. 35. 今の組み込みマイコン 一つになった、小さくなった 高機能(いろんなことができる) 高性能になった(処理がはやい) 値段が安くなったやすい はやい ちいさい なんでもできる どんどんべんりになったけど、 組み込みマイコンをうごかすには プログラムを作ることが必要
  36. 36. 組み込みマイコンのプログラム • C言語(しーげんご)で書く – コンピュータ専用の言葉 main(){ ・・・・・・・・・・・・ int c=0; //割り込み回数 EI; //割り込み許可 while (1){ sw = ~P2.DR.BYTE; //データ入力、“1”、“0”を反転 cds= ~P6.DR.BYTE; //データ入力、“1”、“0”を反転 if ((sw & 0x01)||(cds & 0x01) ) { if( f_kankan==0){ f_kankan=1; P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 chikachika = 0; ・・・・・・・・・・・・ 入力 処理 出力 計測 制御
  37. 37. Arduino(アルドゥイーノ)も • Arduino使ったことある人もいるよね • ArduinoのプログラムもC言語風 – Arduinoのプログラム(スケッチ)は、 C言語をベースにした言語 Arduino (アルドゥイーノ)
  38. 38. Arduinoのプログラム Arduino のIDE 開発環境 (かいはつかんきょう)
  39. 39. Arduinoのプログラム開発 • Arduinoのプログラム開発 USBケーブル
  40. 40. プログラム開発はおなじ • Arduinoのプログラム開発も 組み込みマイコンのプログラム開発も きほんはおなじ • ただ! – Arduinoは マイコンをつかいやすく、はやくつくれる • こまかいことは、 Arduinoのほうでやってくれる – 組み込みマイコンのプログラム開発は こまかいことも、ぜんぶプログラムで書く めんどくさいけど、高性能!
  41. 41. 41 組み込みマイコン(H8) のプログラム開発 • パソコンで(C言語)でプログラムをつくる、 マイコンのメモリ(フラッシュメモリ)に書き込む RS-232Cで接続 開発環境 GCC Developer Lite を使用プログラムを入れる
  42. 42. 今日は、H8マイコンを使った工作だ • 今日は、H8マイコンを使った工作に 挑戦(ちょうせん)します – さすがに、 H8マイコンのC言語プログラムを ぜんぶわかるのは、むずかしい – かんたんにせつめいします。 // I/Oの設定 P2.DDR = 0; //ポート2入力 P2.PCR.BYTE = 0xff; //プルアップMOS ON P6.DDR = 0; //ポート2入力 P5.DDR =0xff; //ポート5出力 //変数の定義 unsigned char sw; unsigned char cds; int wt; ・・・・・・
  43. 43. なにを作るか? • なにを作るか? –なにをうごかすのか? –なにを検知して、どのように動かすの か? • これを仕様(しよう)といいます –これをよく考えたあと システムとして考える –入口は? 処理は? 出口は? 計測 制御
  44. 44. 今日、工作するものは? •なにを つくるの?
  45. 45. 今日は・・・ ふみきり 踏切かんかん装置つくります
  46. 46. 踏切かんかん装置 今回は プラレールは使いません 光センサーで 電車を検知 カンカンカン LEDが チカチカ
  47. 47. 踏切かんかん装置のシステム • 入力 –光センサー(CDS)で電車を検知 • 処理 光センサーの状態を見る もし、電車を検知したら、 2個のLEDをチカチカ点灯 カンカン音を鳴らす • 出力 LEDが2個 交互にチカチカ カンカンの音を出す装置 (音のアンプ、スピーカー)
  48. 48. 光センサー(CDS)で電車を検知 光センサーの検知は 明るい 光センサーの検知は 暗い 電車キタッー!! マイコンで、この光センサーの 明るい、暗い、の二つの状態を検知して、 調べることで、 電車のあり、なしを検知できる
  49. 49. システムが決まったら • システムを ハードウェアとソフトウェアに分ける • ハードウェア(部品) – 目に見える、さわれる マイコンもハードウェア • ソフトウェア(プログラム) – 目に見えない、頭でかんがえる パソコンで、プログラムをつくる • できた、プログラムは マイコンに入れる
  50. 50. システムのハードウェア(部品) • 入力 光センサー(CDS)とスイッチ (H8マイコンのI/Oポートにつながる) • 処理 H8マイコン (アナログ出力から音を出す) • 出力 LED2個( I/Oポートから出力) 音を出す装置 アンプ、スピーカー
  51. 51. ハードウェアをもっと細かく • H8マイコンのI/Oポートを決める • 入力 光センサー(CDS) ポート6の1番( P61) スイッチ(ディップスイッチ) ポート2の1番( P21) • 出力 – LED2個 • LED(右) ポート5の2番( P52) • LED(左) ポート5の3番( P53) – アナログ出力(DA変換出力) DA出力0番(DA0)
  52. 52. システムのソフトウェア ( H8マイコンのプログラム) • 入力 – 光センサー(CDS)とスイッチがつな がったI/Oポートから、状態を読み込む • 処理 – 光センサー(CDS)の状態を判断して、 出力を指示する • 出力 • 2個のLEDを交互(たがいに)点滅させる • カンカンの音を作り、 アナログ出力(DA変換出力)から音を出す
  53. 53. H8マイコンのプログラム フローチャート(流れ図) 決まった時間をつくる センサーの状態を読み込む 電車あり? 2つのLEDをチカチカ カンカンの音を出す スタート なし あり ポート6の1番( P61)を 読み取る ポート5の2番(P52) ポート5の3番(P53) を交互にオン・オフ出力 DA出力0番(DA0) からカンカンカンの音を出力 読み取った センサの 状態で、 判断する。もし電車があったら… これは、概念を理解してもらうために、 簡単にした流れ図です 実際には、H8マイコンの タイマと呼ぶ機能を使っており、 少し複雑です
  54. 54. 決まった時間をつくる ちょっとむずかしいので、とばしてもOK Arduinoの場合は delay()を使えますが、H8マイコンの 場合は、ありません。自分で作る必要があります。ここ では、H8マイコンのタイマと呼ぶ機能を使って、一定時 間を作っています。
  55. 55. むずかしいので、とばしてもOK H8マイコンのタイマと呼ぶ機能を使っています 一定時間ごとに、「割り込み」という機能で、知らせてくれます タイマの準備 void ituinit(void) //ITUイニシャライズ { ITU0.TCR.BIT.CCLR = 1; //カウンタクリア要因 ITU0.TCR.BIT.TPSC = 0; //25MHz 周期 0.04μs ITU0.GRA =120; //一定時間の値を設定 } タイマのスタート処理(main()の中) ITU0.TIER.BIT.IMIEA = 1; //IMFAフラグによる割り込み許可 ITU.TSTR.BIT.STR0 = 1; //タイマスタート
  56. 56. センサーの状態を読み込む ポートP20(スイッチ)とポートP60(CDSセンサ)の値を 変数swとcdsに読み取る。 Main(){ ・・・・・・・・・・ while (1){ //繰り返し sw = ~P2.DR.BYTE; //ポートP2からデータ入力、“1”、“0”を反転 cds= ~P6.DR.BYTE; //ポートP6からデータ入力、“1”、“0”を反転 if ((sw & 0x01)||(cds & 0x01) ) { ・・・・・・・・・・ } }
  57. 57. 電車あり? 電車があるのか?無いのかの判断をする while (1){ //センサーの状態を読み込む ・・・・・・・・・・・・・・・・ if ((sw & 0x01)||(cds & 0x01) ) { //もし、センサーが検知(暗い)かったら if( f_kankan==0){ //ふみきりカンカン状態にして f_kankan=1; P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 //LED(左)をつける chikachika = 0; //チカチカさせるための変数 } EI; //カンカン音とチカチカをするためにタイマ起動 ITU0.TIER.BIT.IMIEA = 1;//タイマ 割込み有効 ITU.TSTR.BIT.STR0 = 1; //タイマスタート }
  58. 58. 2つのLEDをチカチカ ふみきりカンカン状態で一定時間ごとに行う処理 if(chikachika == 0) // 変数chikachikaが0だと { P5.DR.BYTE=0x05;//LED P50 P52 点灯 0101 //LED左点灯 chikachika = 1; } else{ P5.DR.BYTE=0x0A;//LED P51 P53 点灯 1010 //LED右点灯 chikachika = 0; }
  59. 59. カンカンの音を出す //ITUインターバルタイマ割り込み void int_imia0 (void) { ITU0.TSR.BIT.IMFA = 0; //割り込みステータスフラグクリア //波形データ出力 if (sindata[c] >= 128 ) { DA.DADR0 = (sindata[c]-128)/(x/1000) ; } else { DA.DADR0 = (sindata[c])/(x/1000) ;//dataを x/1000 で減衰 } c+=1; if(c==128) c=0; if (x > 2000) { //音の減衰処理 カンカンの音を カンカンらしくする処理 ・・・・ むずかしいので、とばしてもOK DA出力0番(DA0)から 「カンカンカン」の音を出力 カンカンカンの音を生成するた めに、DA変換を使って、SIN波 のデータをアナログの波形に 変換しています。さらに、踏切 のカンカンの音らしくするため に、音を加工していますが、 複雑なので、ここでは割愛しま す
  60. 60. 踏切カンカンのプログラム • 踏切カンカンのプログラムは、 すでにH8マイコンに書きこんであります。 • ハードウェア(回路)を工作すると、 踏切カンカン装置を作ることができます。
  61. 61. 踏切カンカン装置の工作 • ミドリとオレンジの部分を、工作します • 細かいことは別の資料で説明します マイコン スイッチ アンプ 回路 LED 2個CDS センサー スピー カー TA7368 ミニアンプ部品セット
  62. 62. 各自で工夫してみよう • 今回の工作では、踏切の形まで工作しませ ん。各自、工夫してみてください。 • お手持ちのプラレールや、ブロックなどで作っ た模型の電車と組み合わせると、 より踏切らしくなります。
  63. 63. 参考 さらに自分でプログラムしたい人は • 参考書(開発環境のCD付) • C言語による H8マイコン プログラミング 入門 • 技術評論社 横山 直隆 (2003/8/30) • この本と、USB-シリアル変換コネクタが あれば、C言語による開発ができます。
  64. 64. 参考 H8マイコンのフラッシュROMの書込み1 • 専用書込みソフト • H8Write Turboを使用する (CD-ROMの中にあり) • MOT形式のファイルをフラッ シュ書込みソフトを使用して、 H8マイコンに書込みできる。 • RS232CケーブルでPCとマイ コンを接続 • H8マイコンは、書込みモード (マザーボードのS7 SW を書 込)、マイコン基板のMD2ピン をショートさせる。
  65. 65. 参考 H8マイコンのフラッシュROMの書込み2 • フラッシュROMの書込みは、 RS232C経由でPCから書き込 む • H8マイコン側の S7スィッチを RUNの反対側に切り替える • CPUボードのCN5 MD2に ヘッダピンを挿す • (電源を切って切り替えるこ と) RUN write
  66. 66. ご清聴ありがとうございました ご清聴ありがとうございました お問い合わせ、 講演・執筆・工作教室等の依頼は Tw:@tentenV3 もしくは、FB または http://triangle-ele.com/ のフォームから パッチン電子工作も よろしく! ただいま 段ボール 工作と電子工作の融 合を策略中! ダンボール くっすん は、東洋紙工株式会社の製品です くっすん は、四條畷市商工会が管理・運営しています ダンボール くっすん

×