電気情報工学科3年生 後期 実験実習 Experiments in Electric Engineering —H 8マイコン応用実験— 秋田工業高等専門学校 電気情報工学科 実験実施日:第 1 回 第2回 第3回 第4回 年 年 年 年 氏名・グループ番号 月 月 月 月 日 日 日 日 目次 i 目次 1 目的 1 2 原理 1 1 2.1 マイコン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 実験日程 1 4 H8 マイコン I/O ボード TERA2 2 5 ソフトウェアとプログラムの転送方法 3 5.1 ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 必要なファイル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 5.2 5.1.3 コンピュータの設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . プログラムの用意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 5.3 5.2.1 アセンブラ言語によるプログラムの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 アセンブルによるプログラムの変換 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . プログラムの転送 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 5.4 マイコンの起動 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1.1 5.1.2 6 7 セグメント LED による数字の表示 6.1 6.2 7 ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LCD 表示実験 7.1 ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 モーター実験 8.1 8.2 9 ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6 6 7.2 8 アセンブラ言語 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 光センサ実験 9.1 11 ハードウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 9.2 ソフトウェア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 10 実験報告会について 12 11 レポート内要について 13 11.1 記述内要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 11.2 レポートのまとめかたの注意 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 目次 ii 諸注意 以下,注意事項を箇条書きするので,厳守すること.これは「H8 マイコン応用実験」にのみ適用する. 1. 実験時の服装など • 電気工作実習室で実験を行う.作業服の必要ないが,実験に相応しい服装で参加すること. 2. 実験ノート • A4 の実験ノートを携帯し,常に実験に関するメモをとること. • 実験ノートへの記述は,ボールペンあるいは万年筆とする.鉛筆は不可とする. 3. レポートの提出 • 前期あるいは後期の最後の実験の場合は,その 1 週間後とする. • 提出期限に遅れたものは,原則受け取らないこととする. • 未提出のレポートがある場合は,単位を与えることができないので注意すること. • 提出先は,担当教員のレポート入れとする. 4. レポートの再提出 • 内容に不備があるものはレポートの再提出を求めることがある. • 再提出の期限は,再提出を言い渡された 1 週間以内とする. 5. レポートの書き方 • ガイダンスのときには配布した「実験実習のレポートの書き方」(実験実習の手引) を参考にすること. 6. その他 • 放課後,実験を行うこともできる.その場合は,担当教員に申し出ること. 1 目的 1 H8Tiny マイコン 3664 を使って,機器の制御実験の基本を学習する.特に 7 セグメント LED,LCD ディス プレイ,モーター,センサーの制御を行ってみる.マイコンへのプログラムはアセンブラ言語を使用し,後期の 授業「コンピュータ基礎」で学習した内要の実習もかねている. また,この実験は 5∼6 名のグループに分かれて実施し,各グループに全体を統括するリーダー,ハードウェ アの作成を担当するハードウェア担当,ソフトウェアを担当するソフトウェア担当,プレゼンテーションを担当 するプレゼン担当を割当て,一人一役で実習を進めていく. 原理 2 マイコン 2.1 メモリや周辺回路、CPU を内蔵した産業用の LSI を総称して,ワンチップ・マイコン— 略してマイコン 1 — と呼ぶ.ひとつのパッケージの中に,コンピュータの動作に必要な回路が全て組み込まれている.これひとつ で,独立したコンピュータとなっており,プログラムを書くことにより,様々な動作が可能である.そのため, 機器の制御に向いており,家電製品を中心に広く使われている. マイコンは,CPU とメモリ,I/O ポート(入出力ポート)から成っている.その様子を図 1 にしめす.I/O ポートを一つのチップに内蔵することにより,容易に機器の制御が可能となっている.制御の内容はプログラム により記述が可能なため,複雑な処理ができる. ワンチップマイコン 外部機器 電圧HL/アナログ CPU メモリー ROM RAM (プログラム) センサーや スイッチ I/Oポート モーターやスピー カーなど 電圧HL/アナログ 図 1: マイコンの概念図 3 実験日程 この実験は,4 回 (150 分× 4) で行い,スケジュールは以下のとおりである. 1 日目 • 実習内要のガイダンス • 班分け,担当決め,ハードウェアとソフトウェアの作成 2 日目 • ハードウェアとソフトウェアの作成 • ハードウェアとソフトウェアの理解 1 もともとは,マイクロコンピュータ (microcomputer) の略 4. H8 マイコン I/O ボード TERA2 2 3 日目 • ハードウェアとソフトウェアの理解 • プレゼンテーションの理解 4 日目 • プレゼンテーション 4 H8 マイコン I/O ボード TERA2 TERA2 ボードは D-sub コネクタやスイッチが基盤上に配置され,H8 マイコンを実装するだけで簡単に回路 を作成することができる.図 2 に TERA2 の回路図を示す.右下の電源入力 (1,2) に 9V を入力し,Vcc で 5V が 出力される. AE-3664 AE-3664FP CN2 D-subコネクター 9 8 7 6 CN2B CN1B CN1C CN1D 1 1 26 1 1 1 2 2 25 2 2 2 10 10 10 10 12 12 3 4 4 2 1 CN1 CN2A 5 3 CN1 CN1A 5 6 7 8 9 9 10 10 11 11 12 SW2 13 14 15 16 Vcc 17 18 19 20 20 21 21 21 22 22 22 20 20 20 20 23 23 23 23 23 24 24 24 24 24 25 25 25 25 25 26 26 26 26 26 26 1 3 5 2 1 ジャンパーピン(JP) 2 4 6 2k LED2(赤) 2k LED2(緑) 3.3k 2 3 1 Vcc SW1 図 2: TERA2 の回路図 3 2k POWER SW LED3(赤) + 2 - 1 3 ソフトウェアとプログラムの転送方法 5 5.1 5.1.1 ソフトウェア アセンブラ言語 この実験ではアセンブラ言語を用いてマイコン制御を行う.マイコンは機械語と呼ばれる二進数(0 と 1,つ まり high と low)の命令コードによって動作を行っている.この二進数表現でマイコンに命令をすると自在に マイコンを制御することが可能となるが,人間が命令を効率よく作成するためには二進数表現は不便である.そ こで,二進数表現を人間が理解しやすい表現に改めたアセンブル言語を用いて命令を書く.アセンブル言語をマ イコンが理解できる二進数表現に置き換える作業をアセンブルという.アセンブラ言語は,3 学年におこなって いる“ コンピュータ基礎 ”で学習している内容である.必要に応じて,教科書「H8 アセンブラ入門」[5] を参考 にし,プログラムの内容を理解すると良い. 5.1.2 必要なファイル この実験で必要となるプログラム群は以下の 6 種類である. • ASM38.EXE • LNK.EXE • HTERM.EXE • 3664.MOT • MONITOR.ABS • TEST.ABS • “各実験に必要なファイル”.MAR(アセンブラ言語) これらをノートパソコンの作業用ディレクトリに保存されていることを確認すること. 5.1.3 コンピュータの設定 プログラムをマイコンに書き込むためには,パソコンとマイコンの通信設定を行う必要がある.以下の項目に ついて通信ポートの設定を行うこと.Windows の場合,シリアルケーブルを USB ポートに接続した状態でエク スプローラで以下の画面に移動する. “コントロールパネル”→ “システム”→ “ハードウェア”→ “ ハードウェア” → “デバイスマネージャ”→ “ポー ト (COM と LPT)”→ “通信ポート (COMxx)”(この xx の値をメモしておく)→ “ポートの設定” • “ビット/秒”:「19200」を設定 • “データビット”:「8」を設定 • “パリティ”:「なし」を設定 • “ストップビット”:「1」を設定 • “フロー制御”:「Xon/Xoff」を設定 通信時にタイムアウト (Timeout Error) が頻繁におきる場合は,“ポートの設定”→” 詳細入力”→”COM の詳細 設定” での受信バッファを低めに設定し,通信を再び試みること. 設定が完了したら “OK” をクリックしポート設定を終了する. 5. ソフトウェアとプログラムの転送方法 4 プログラムの用意 5.2 アセンブラ言語によるプログラムの作成 5.2.1 この実験ではアセンブラ言語を用いてプログラムを作成していく.3 年生 “コンピュータ基礎” の講義で勉強 している言語である.作成したファイルは拡張子を.MAR とし,必要なファイル群と同じディレクトリに保存 する. 5.2.2 アセンブルによるプログラムの変換 拡張子が.MAR であるファイルはマイコンが理解できる表現にはなっておらず,これを 2 進数化する作業が必 要となる.この作業をアセンブル処理という.必要なファイル群にはアセンブル処理を行うためのプログラム “ASM38.EXE” があり,アセンブルファイル名を指定して実行する. アセンブル処理の手順は以下の流れである. 1. コマンドプロンプトを立ち上げ,作業用ディレクトリに移動する. 2. ASM38.EXE ***.MAR と入力し,“Enter” キーをタイプする. (Error および Warning が 0 の場合,***.OBJ,***.LIS,***.ABS というファイルが生成される. ) 3. LNK.EXE ***.OBJ と入力し,“Enter” キーをタイプする. (***.ABS ファイルが生成される.) 5.3 プログラムの転送 プログラムの転送にはコマンドプロンプトを用い,コマンドを用いて行う.まず,“メニュー”→ “プログラ ム”→ “コマンドプロンプト” とたどりコマンドプロンプトを立ち上げる. この状態でターミナルは C:Y =xxxxx と表示され (xxxx はコンピュータによって異なる) カーソルは点滅してい る状態である.この状態で以下の手順によりパソコン上のプログラムをマイコンに転送する. 1. 作業用ディレクトリに cd コマンドを用いて移動する. 2. パソコンとシリアルケーブルで接続している TERA2 に 9V 電池を接続し,電源(スライドスイッチ)を ON にする. 3. ターミナル上で HTERM COMxx(xx は上で調べたポート番号) とタイプし Enter キーをタイプする. この状態でターミナル上には以下のように表示される. D:=>HTERM COMxx Terminal Program for H Series Monitor Ver 5.0 Copyright (C) Hitachi, ltd.2000 Copyright (C) Hitachi ULSI Systems Co., Ltd.2000 4. “Ctrl + F” タイプし,以下のように表示させる. D:=>HTERM COMxx Terminal Program for H Series Monitor Ver 5.0 Copyright (C) Hitachi, ltd.2000 Copyright (C) Hitachi ULSI Systems Co., Ltd.2000 5.3. プログラムの転送 Set Boot Mode and Hit Any Key. 5. “Enter” キータイプし,以下のように表示させる. D:=>HTERM COMxx Terminal Program for H Series Monitor Ver 5.0 Copyright (C) Hitachi, ltd.2000 Copyright (C) Hitachi ULSI Systems Co., Ltd.2000 Set Boot Mode and Hit Any Key. Bit rate Adjustment Completed Input Control Program Name : 6. “Control Program Name” が聞かれているので,“3664.MOT” とタイプし Enter キーを押す. D:=>HTERM COMxx Terminal Program for H Series Monitor Ver 5.0 Copyright (C) Hitachi, ltd.2000 Copyright (C) Hitachi ULSI Systems Co., Ltd.2000 Set Boot Mode and Hit Any Key. Bit rate Adjustment Completed Input Control Program Name : 3664.MOT transmit address = xxxxx Flash Memory Erase Completed. Input Program File Name : 7. アセンブルによってできた “xxx.ABS” を入力し Enter キーを押す. D:=>HTERM COMxx Terminal Program for H Series Monitor Ver 5.0 Copyright (C) Hitachi, ltd.2000 Copyright (C) Hitachi ULSI Systems Co., Ltd.2000 Set Boot Mode and Hit Any Key. Bit rate Adjustment Completed Input Control Program Name : 3664.MOT transmit address = xxxxx Flash Memory Erase Completed. Input Program File Name : xxx.ABS transmit address = xxxxxx Program Completed 以上でプログラムのマイコンへの転送は完了である. 5 6. 7 セグメント LED による数字の表示 6 5.4 マイコンの起動 マイコン上のジャンパーピン JP2,JP3 を外し,TERA2 上のスライドスイッチをスライドさせ,SW3 の POWER SW と SW1 を ON 側にするとマイコンのプログラムが実行される. 6 6.1 7 セグメント LED による数字の表示 ハードウェア TERA2 CN1B-1 CN2A-9 CN2A-10 CN2A-11 CN2A-12 CN2A-13 CN2A-14 CN2A-15 CN2A-16 IN-1 a IN-2 b IN-3 c R1 g 6 R2 R3 R4 f GND a b 7 8 9 10 a IN-4 d IN-5 e f IN-6 f IN-7 g IN-8 DP R1~R8 : 2k e e R5 1 b g d LED (Cathode common) c DP 3 4 5 d GND c DP R6 R7 R8 2 図 3: 7 セグメント LED 実験回路 6.2 ソフトウェア リスト 1: 7 セグメント LED による数字の表示プログラム LED.MAR 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 .HEADING ”LED−A FOR H8/3664F” . PRINT LIST ;================================== ; ; LED−A TEST PROGRAM FOR H8/3664F ; ; H8/3664 SINGLECHIP NORMAL MODE ; ;================================== .CPU 300HN ; H8/300H NORMAL MODE, 1 6 BIT ADDR ;================================== ; RESET VECTOR TABLE ;================================== . SECTION VECTOR,DATA,LOCATE=H ’ 0 ; .DATA. L RESET ; . SECTION PROG,CODE,LOCATE=H ’ 34 ;================================== STACK: .EQU H ’ FF80 PCR8 : .EQU H ’FFEB PDR8 : .EQU H ’FFDB ;================================== RESET : MOV. L #STACK, SP MOV. B #H ’FF , R0L 7 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 MOV. B R0L ,@PCR8 MOV. B #H ’ 3F , R0L BSR BB MOV. B #H ’ 0 6 ,R0L BSR BB MOV. B #H ’ 5B, R0L BSR BB MOV. B #H ’ 4F , R0L BSR BB MOV. B #H ’ 6 6 ,R0L BSR BB MOV. B #H ’ 6D, R0L BSR BB MOV. B #H ’ 7D, R0L BSR BB MOV. B #H ’ 0 7 ,R0L BSR BB MOV. B #H ’ 7F , R0L BSR BB MOV. B #H ’ 6 7 ,R0L BSR BB BRA AA BB: MOV. B R0L ,@PDR8 MOV. L #H ’ 28B0AB, ER0 CC: DEC. L #1,ER0 BNE CC RTS ;==================================== .END AA: 7 7.1 LCD 表示実験 ハードウェア CN1B-1 TERA2 Vcc 5V CN1B-23 DB0 CN2A-9 DB1 CN2A-10 DB2 CN2A-11 DB3 CN2A-12 DB4 CN2A-13 DB5 CN2A-14 DB6 CN2A-15 DB7 CN2A-16 RS CN1B-14 R/W CN1B-15 CN1B-16 E IN-1 IN-2 IN-3 1 2 3 4 104 1 IN-9 VR1 10k IN-4 IN-5 IN-6 IN-7 IN-8 IN-9 IN-10 IN-11 IN-11 IN-5 IN-6 IN-7 IN-8 104 図 4: LCD 表示実験回路 2 3 4 5 6 7 8 9 10 VDD VSS V0 RS R/W E DB0 DB1 DB2 DB3 11 DB4 12 DB5 13 DB6 14 DB7 LCD 7. LCD 表示実験 8 7.2 ソフトウェア リスト 2: LCD 表示実験のプログラム LCD.MAR 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 .HEADING ”LCD1 FOR H8/3664F” . PRINT LIST ;================================== ; ; LCD1 TEST PROGRAM FOR H8/3664F ; ; H8/3664 SINGLECHIP NORMAL MODE ; ;================================== .CPU 300HN ; H8/300H NORMAL MODE, 1 6 BIT ADDR ;================================== ; RESET VECTOR TABLE ;================================== . SECTION VECTOR,DATA,LOCATE=H ’ 0 ; .DATA. L RESET ; . SECTION PROG,CODE,LOCATE=H ’ 34 ;================================== STACK: .EQU H ’ FF80 PCR5 : .EQU H ’FFE8 PDR5 : .EQU H ’FFD8 PCR8 : .EQU H ’FFEB PDR8 : .EQU H ’FFDB ;================================== RESET : MOV. L #STACK, SP MOV. B #H ’FF , R0L MOV. B R0L ,@PCR5 MOV. B R0L ,@PCR8 MOV. B #H ’ 2 0 ,R0L MOV. B #H ’ 0 4 ,R1L MOV. B R0L ,@PDR8 MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 BB: DEC. L #1,ER2 BNE BB MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 CC: DEC. L #1,ER2 BNE CC MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 DD: DEC. L #1,ER2 BNE DD MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 EE : DEC. L #1,ER2 BNE EE MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 FF : DEC. L #1,ER2 BNE FF MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 GG: DEC. L #1,ER2 7.2. ソフトウェア 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 BNE GG MOV. B #H ’ 0 0 ,R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 HH: DEC. L #1,ER2 BNE HH MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 JJ : DEC. L #1,ER2 BNE JJ MOV. B #H ’ E0 , R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 KK: DEC. L #1,ER2 BNE KK MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 LL : DEC. L #1,ER2 BNE LL MOV. B #H ’ 0 0 ,R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 MM: DEC. L #1,ER2 BNE MM MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 NN: DEC. L #1,ER2 BNE NN MOV. B #H ’ 6 0 ,R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 4 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 PP : DEC. L #1,ER2 BNE PP MOV. B R0L ,@PDR8 MOV. B #H ’ 0 0 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 QQ: DEC. L #1,ER2 BNE QQ ;================================= MOV. B #H ’ 4 0 ,R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 5 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 RR: DEC. L #1,ER2 BNE RR MOV. B R0L ,@PDR8 MOV. B #H ’ 0 1 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 SS : DEC. L #1,ER2 BNE SS MOV. B #H ’ 8 0 ,R0L MOV. B R0L ,@PDR8 MOV. B #H ’ 0 5 ,R1L MOV. B R1L ,@PDR5 9 8. モーター実験 10 138 139 140 141 142 143 144 145 146 147 148 149 MOV. L #H ’ 04FFFF, ER2 DEC. L #1,ER2 BNE TT MOV. B R0L ,@PDR8 MOV. B #H ’ 0 1 ,R1L MOV. B R1L ,@PDR5 MOV. L #H ’ 04FFFF, ER2 UU: DEC. L #1,ER2 BNE UU AA: BRA AA ;================================== .END TT: 8 8.1 モーター実験 ハードウェア 図 5: モーター制御実験回路 8.2 ソフトウェア リスト 3: モーター制御のプログラム MOTOR1.MAR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 .HEADING ”MOTOR1−TEST FOR H8/3664F” . PRINT LIST ;================================== ; ;MOTOR1−TEST PROGRAM FOR H8/3664F ; ; H8/3664 SINGLECHIP NORMAL MODE ; ;================================== .CPU 300HN ; H8/300H NORMAL MODE, 1 6 BIT ADDR ;================================== ; RESET VECTOR TABLE ;================================== . SECTION VECTOR,DATA,LOCATE=H ’ 0 ; .DATA. L RESET ; . SECTION PROG,CODE,LOCATE=H ’ 34 ;=================================== STACK: .EQU H ’ FF80 PCR8 : .EQU H ’FFEB PDR8 : .EQU H ’FFDB 11 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 ;================================== RESET : MOV. L #STACK, SP MOV. B #H ’ 0 0 ,R0L MOV. B R0L ,@PCR8 AA: MOV. B #H ’ 0 1 ,R0L MOV. B R0L ,@PDR8 MOV. L #H ’ 28B0AB, ER0 BB: DEC. L #1,ER0 BNE BB MOV. B #H ’ 0 0 ,R0L MOV. B R0L ,@PDR8 MOV. L #H ’ 28B0AB, ER0 CC: DEC. L #1,ER0 BNE CC BRA AA ;=================================== .END 9 9.1 光センサ実験 ハードウェア 図 6: 光センサ実験 9.2 ソフトウェア リスト 4: 光センサ実験のプログラム SENSOR.MAR 1 2 3 4 5 6 7 8 9 10 11 12 13 .HEADING ”CdS FOR H8/3664F” . PRINT LIST ;================================== ; ; CdS−CHECK PROGRAM FOR H8/3664F ; ; H8/3664 SINGLECHIP NORMAL MODE ; ;================================== .CPU 300HN ; H8/300H NORMAL MODE, 1 6 BIT ADDR ;================================== ; RESET VECTOR TABLE ;================================== 10. 実験報告会について 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 . SECTION VECTOR,DATA,LOCATE=H ’ 0 ; .DATA. L RESET ; . SECTION PROG,CODE,LOCATE=H ’ 34 ;================================== RESET : MOV. L #STACK, SP MOV. B #H ’ 0 3 ,R0L MOV. B R0L ,@PCR8 DD: BTST . B #2,@PDR8 BEQ DD MOV. B #H ’ 0 6 ,R1L EE : SUB .W #1,R1 BEQ DD MOV. B #H ’ 0 1 ,R0L MOV. B R0L ,@PDR8 MOV. L #H ’ 28B0AB, ER0 BB: DEC. L #1,ER0 BNE BB MOV. B #H ’ 0 2 ,R0L MOV. B R0L ,@PDR8 MOV. L #H ’ 28B0AB, ER0 CC: DEC. L #1,ER0 BNE CC MOV. B #H ’ 0 ,R0L MOV. B R0L ,@PDR8 BRA EE ;=================================== STACK: .EQU H ’ FF80 PCR8 : .EQU H ’FFEB PDR8 : .EQU H ’FFDB ;=================================== .END 10 実験報告会について この実験では,全 4 回のうち最終回を報告会とする.各グループで取り組んだテーマについて,以下の内要に ついて発表を行う. 1. 実験目的 2. グループ紹介 3. 実験内容 1. ハードウェアの構成と動作原理 2. ソフトウェアの概要 3. 実験結果 4. 応用事例 4. 作成回路のデモンストレーション 発表時間は 1 グループ当り 10 分程度とし,5 分程度の質疑応答を行う.各グループは必ず 2 つ以上の質問をす ること. 発表スライドはパワーポイントを用いること.また,スライドには必要に応じて図・表・写真が使われている ことが望ましく,スライドの見栄え(デザイン)も考慮すること. 13 11 11.1 レポート内要について 記述内要 各グループが実施する実験内容について, 1. 目的 2. 実験内容(ハード,ソフト,結果) 3. 考察 4. 応用事例 5. 感想 参考文献 を記述すること.実験結果については適宜写真を掲載することが望ましい. 11.2 レポートのまとめかたの注意 今回の実験はグループワークで実施する.そのため,実験で作成するプログラムや回路図については各グルー プのメンバーで分担しても良いこととする.ただし,考察については個人毎にオリジナルの内要を記述するこ と.丸写しは採点の対象としない. 参考文献 [1] 鹿取佑二.C 言語で H8 マイコンをつかいこなす. (株)オーム社,2005. [2] 島田義人.”H8/Tiny マイコン完璧マニュアル ”CQ 出版社.2005. [3] 米田聡.はじめる 組込み Linux,ソフトバンククリエイティブ(株)2007 [4] 寺下晴一.楽しい H8Tiny マイコン工作,CQ 出版社.2004 [5] 浅川毅,堀桂太郎 共著,H8 アセンブラ入門,東京電機大学出版局 2003
© Copyright 2024 Paperzz