到達目標
メカトロニクス技術者として,マイコンの構成と動作を理解し,さらに最低限必要なアセンブリ言語によるプログラミングが可能になることを目標とする.このため,各命令の詳細な動作や,レジスタ,フラグ類,メモリへのアクセス等のデータの書き込みや読み出し,演算方法などの理解が必要である.具体的なマイコンとして汎用的に広く用いられているH8マイコンを取り上げ、具体的なハードウエア構成およびアセンブリプログラムについて解説する。
本科目の到達目標は、下記である。
・マイクロコンピュータに必要とされる,レジスタ、メモリ、I/O等の基本的な構成を理解し、説明できる。
・マイコンの動作を実現するソフトウェア技術としてアセンブリ言語をとりあげ,プログラムの構成,表記方法に留意した具体的なプログラムを作成することができるとともにその内容を説明することができる。
・マイクロコンピュータの入出力について、入力および出力の接続方法を理解し、説明でき、入出力のアセンブリプログラムを作成できる。
ルーブリック
| 理想的な到達レベルの目安 | 標準的な到達レベルの目安 | 未到達レベルの目安 |
マイコンの基礎 | マイクロコンピュータに必要とされる,レジスタ、メモリ、I/O等の構成を理解し、具体的に説明できる。 | マイクロコンピュータに必要とされる,レジスタ、メモリ、I/O等の基本的な構成を理解し、説明できる。 | マイクロコンピュータに必要とされる,レジスタ、メモリ、I/O等の基本的な構成が説明できない。 |
プログラミングの基礎 | マイコンの動作を実現するソフトウェア技術としてアセンブリ言語をとりあげ,プログラムの構成,表記方法に留意した具体的なプログラムを作成することができるとともにその内容を論理的に説明することができる。 | マイコンの動作を実現するソフトウェア技術としてアセンブリ言語をとりあげ,プログラムの構成,表記方法に留意した具体的なプログラムを作成することができるとともにその内容を端的に説明することができる。 | マイコンの動作を実現するソフトウェア技術としてアセンブリ言語をとりあげ,プログラムの構成,表記方法に留意した簡単なプログラムの作成や内容を端的に説明できない。 |
マイクロコンピュータの入出力 | マイクロコンピュータの入出力について、入力および出力の接続方法を理解し、説明できる。また、複雑な入出力のアセンブリプログラムを作成できる。 | マイクロコンピュータの入出力について、入力および出力の接続方法を理解し、説明できる。また、簡単な入出力のアセンブリプログラムを作成できる。 | マイクロコンピュータの入出力について、入力および出力の接続方法を理解し、入出力のアセンブリプログラムを作成することができない。 |
学科の到達目標項目との関係
教育方法等
概要:
国内で多く使用されている組込み型マイクロプロセッサH8/3038Fを例に,回路構成や動作,ならびにアセンブリ言語によるプログラミング法を学ぶ.
任意のビット幅で利用できる各命令の動作や,これと豊富なアドレッシングモードと組み合わせたプログラム,さらに内蔵の各インターフェース回路を利用したコントロールプログラムについて学習する.
回路構成などのハードウェアは,計算機工学で取り扱われるため,内容の一部は重複することがある.
授業の進め方・方法:
基本的には講義と演習を行い、後期後半で実機を用いた実習を実施する。
講義では主にマイクロプロセッサH8の構成についてを解説し,実習では実際のH8マイコンを用いて、動作方法とアセンブラ言語によるプログラミングを習得する.
注意点:
授業計画
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス |
講義形式,内容について把握する.
|
2週 |
H8マイコンのレジスタ構成と役割 |
H8/3048マイコンのレジスタ構成と役割を理解し、説明できる。
|
3週 |
H8マイコンのメモリ構成と動作モード |
H8/3048マイコンのメモリ構成と動作モードを理解し、説明できる。
|
4週 |
アセンブリ言語 アドレス指定 |
マイコンを駆動するためのアセンブリ言語に関して、アドレス指定の方法を理解し、説明できる。
|
5週 |
アセンブリ言語 アドレス指定 |
マイコンを駆動するためのアセンブリ言語に関して、アドレス指定の方法を理解し、説明できる。
|
6週 |
アセンブリ言語 算術演算命令 |
マイコンを駆動するためのアセンブリ言語に関して、算術演算命令を理解し、命令の動作を説明できる。
|
7週 |
アセンブリ言語 論理演算、ビット操作 |
マイコンを駆動するためのアセンブリ言語に関して、論理演算およびビット操作を理解し、その動作を説明できる。
|
8週 |
前期中間試験 |
前期前半に学習した問題が解ける
|
2ndQ |
9週 |
試験解答、答案返却
|
試験解説
|
10週 |
アセンブリ言語 シフト命令 |
マイコンを駆動するためのアセンブリ言語に関して、シフト命令を理解し、その動作を説明できる。
|
11週 |
アセンブリ言語 マイコンの出力 |
マイコンの入出力に関し、その出力方法を理解し、LEDを点灯する例題についてアセンブリプログラムを作成できる。
|
12週 |
アセンブリ言語 マイコンの入力 |
マイコンの入出力に関し、その入力方法を理解し、ディップスイッチを入力する例題についてアセンブリプログラムを作成できる。
|
13週 |
アセンブリ言語 分岐処理と繰返し処理 |
マイコンを駆動するためのアセンブリ言語に関して、分岐処理および繰返し処理を理解し、各処理の動作を行うアセンブリプログラムを作成できる。
|
14週 |
タイマー |
H8/3048マイコンでの時間管理について、繰返し処理によるタイマーおよびインテグレーテッドタイマーを用いた処理について理解し、各処理の動作を行うアセンブリプログラムを作成できる。
|
15週 |
前期期末試験 |
前期後半に学習した問題が解ける
|
16週 |
試験解答、答案返却 |
試験解説
|
後期 |
3rdQ |
1週 |
入出力プログラム
|
LED点灯実験のための入出力プログラムを作成できる.
|
2週 |
入出力プログラム
|
LED点灯実験のための入出力プログラムを作成できる.
|
3週 |
モータ制御1 |
モータ駆動用ドライバICを用いたDCモータ回転制御プログラムを作成できる.
|
4週 |
モータ制御2 |
PWM信号を用いたDCモータ回転制御プログラムを作成できる.
|
5週 |
割込み処理 |
割込み処理によるLED点灯制御プログラムを作成できる.
|
6週 |
圧電スピーカ制御 |
割込み処理による周期出力信号を用いた圧電スピーカの音程制御プログラムを作成できる.
|
7週 |
前半まとめ |
前半の復習
|
8週 |
後期中間試験
|
後期前半に学習した問題が解ける
|
4thQ |
9週 |
試験解答、答案返却
|
試験解説
|
10週 |
入出力プログラムによるLED点灯実験準備 |
マイコンによるLED点灯プログラムの実験が可能な環境を構築できる。
|
11週 |
入出力プログラムによるLED点灯実験1 |
LED点灯、消灯プログラムを作成できる.
|
12週 |
入出力プログラムによるLED点灯実験2 |
複数LEDの順次点灯、消灯プログラムを作成できる.
|
13週 |
入出力プログラムによるLED点灯実験3 |
複数LEDの順次点灯、消灯プログラムを作成できる.
|
14週 |
入出力プログラムによるLED点灯実験4 |
複数プログラムの切り替えによるLED点灯パターンを切り替えるプログラムを作成できる.
|
15週 |
後期定期試験 |
後期後半に学習した問題が解ける
|
16週 |
試験解答、答案返却 |
試験解説
|
モデルコアカリキュラムの学習内容と到達目標
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 2 | |
計算機工学 | 整数・小数を2進数、10進数、16進数で表現できる。 | 2 | |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 2 | |
基数が異なる数の間で相互に変換できる。 | 2 | |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 2 | |
ハードウェア記述言語など標準的な手法を用いてハードウェアの設計、検証を行うことができる。 | 2 | |
評価割合
| 試験 | 演習 | レポート | 合計 |
総合評価割合 | 65 | 23 | 12 | 100 |
前期、後期前半 | 52 | 23 | 0 | 75 |
後期後半 | 13 | 0 | 12 | 25 |