pdfファイル - 秋田工業高等専門学校

電気情報工学科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