クロス開発したプログラムを実際にTeCマイコンで動作させることによってコンピュータの仕組みや内部動作が理解できるようになることを目標とする。
概要:
1年次に履修した基礎コンピュータ工学の内容のさらなる応用について講義と演習を通して修得する。まずコンピュータの入出力手法を学び、入出力プログラムの動作を理解する。また、クロスアセンブラによるプログラム開発の学習を通してコンピュータの仕組みや内部動作の理解を深める。その後、様々な応用課題についてクロス環境における開発とTeCマイコンによる実際の動作確認を通じて、プログラム開発の実践力を身に付ける。
授業の進め方・方法:
各回の授業では、前半に講義による課題の解説を行い、後半にプログラミング演習を行う。翌週の講義の最初に演習の解説を行う。理解度を確認するために項目毎に演習課題の一部を提出し、学習シートの役割とする。定期試験は主に例題、演習課題から出題する。
注意点:
【関連科目】基礎コンピュータ工学(1年)、コンピュータシステム概論(3年)、コンピュータアーキテクチャ(4年)
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
入出力の仕組み |
シリアル入出力の原理とマイコン上でのプログラミング方法を学ぶ。パソコンと通信できることを確認する。[演習]
|
2週 |
入出力プログラム |
入出力する文字コードについて学び、入出力プログラムを作成し、動作を確認する。[演習]
|
3週 |
クロス環境によるシステム操作 |
クロスアセンブラによるアセンブルの手順を説明し、クロスア環境によるシステム操作を学ぶ。[演習]
|
4週 |
クロスアセンブラによるプログラミング |
クロスアセンブラによる基本プログラミングを理解し、プログラムを動作させる方法を体得する。[演習]
|
5週 |
掛算・割算プログラム |
シフトによる掛算、繰返しによる掛算・割算プログラムを作る。[演習]
|
6週 |
スタック操作 |
スタックの概念を解説し、スタック操作及びスタックを用いたレジスタ操作を学ぶ。[演習]
|
7週 |
総合演習 |
入出力プログラム、基本プログラムに関する総合演習問題のプログラミングを行う。[演習]
|
8週 |
サブルーチン |
サブルーチン化について学び、サブルーチンを用いた入出力プログラムを作る。[演習]
|
2ndQ |
9週 |
中間試験 |
入出力プログラム、基本プログラム、スタック操作が理解できているか確認する。
|
10週 |
2進数表示 |
レジスタの内容を2進数に変換する方法を学び、2進数で表示するプログラムを作る。[演習]
|
11週 |
16進数表示 |
レジスタの内容を16進数に変換する方法を学び、16進数で表示するプログラムを作る。[演習]
|
12週 |
文字列操作 |
メモリ上の文字列を操作するプログラムを作る。[演習]
|
13週 |
メモリダンプ |
メモリの内容を16進数表示するプログラムを作る。[演習]
|
14週 |
総合演習 |
サブルーチンを使った2進数、16進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
15週 |
期末試験 |
サブルーチンを使ったプログラム、2進数、16進数変換、メモリ上の文字列の操作ができるかを確認する。
|
16週 |
答案返却など |
試験の解答と解説を行う。
|
後期 |
3rdQ |
1週 |
メモリ操作 |
連続したメモリ操作の手法について学び、プログラムの実行結果を確認する。[演習]
|
2週 |
メモリクリアとメモリコピー |
メモリクリアとメモリコピーするプログラムを作る。[演習]
|
3週 |
文字列入力 |
キーボード入力した文字列を操作するプログラムを作る。[演習]
|
4週 |
文字列編集 |
メモリ上の文字列を編集するプログラムを作る。[演習]
|
5週 |
10進数表示 |
レジスタの内容を10進数に変換する方法を学び、10進数で表示するプログラムを作る。[演習]
|
6週 |
10進数表示 |
レジスタの内容を符号付き10進数で表示するプログラムを作る。[演習]
|
7週 |
総合演習 |
連続したメモリ操作、10進数表示に関する総合演習問題のプログラミングを行う。[演習]
|
8週 |
中間試験 |
連続したメモリ操作、文字列操作、10進数変換に関するプログラミングが理解できているか確認する。
|
4thQ |
9週 |
ソフトタイマー |
命令を繰返し実行して一定時間のソフトタイマーを作る。[演習]
|
10週 |
音の出力 |
ソフトタイマーを使ってブザーとスピーカーから音を出力する方法を学ぶ。[演習]
|
11週 |
電子オルゴール |
音符データと電子オルゴールプログラムを作る。[演習]
|
12週 |
コンソール割込み |
割込みの概念を解説し、コンソール割込みによる割込み処理プログラムの動作を学ぶ。[演習]
|
13週 |
タイマー割込み |
タイマー割込みによる割込み処理プログラムを作る。[演習]
|
14週 |
総合演習 |
タイマーサブルーチン、割込みに関する総合演習問題のプログラミングを行う。[演習]
|
15週 |
期末試験 |
タイマー、割込み操作が理解できているかを確認する。
|
16週 |
答案返却など |
試験の解答と解説を行う。
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
基礎的能力 | 工学基礎 | 情報リテラシー | 情報リテラシー | 論理演算と進数変換の仕組みを用いて基本的な演算ができる。 | 3 | |
コンピュータのハードウェアに関する基礎的な知識を活用できる。 | 2 | |
数値計算の基礎が理解できる | 2 | |
コンピュータにおける初歩的な演算の仕組みを理解できる。 | 3 | |
専門的能力 | 分野別の専門工学 | 電気・電子系分野 | 情報 | 基本的なアルゴリズムを理解し、図式表現できる。 | 3 | |
プログラミング言語を用いて基本的なプログラミングができる。 | 3 | |
整数、小数を2進数、10進数、16進数で表現できる。 | 4 | |
基数が異なる数の間で相互に変換できる。 | 4 | |
基本的な論理演算を行うことができる。 | 3 | |
基本的な論理演算を組み合わせて任意の論理関数を論理式として表現できる。 | 2 | |
情報系分野 | プログラミング | 変数とデータ型の概念を説明できる。 | 3 | |
代入や演算子の概念を理解し、式を記述できる。 | 3 | |
制御構造の概念を理解し、条件分岐や反復処理を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 3 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 1 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
計算機工学 | 整数・小数を2進数、10進数、16進数で表現できる。 | 3 | |
整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 3 | |
基数が異なる数の間で相互に変換できる。 | 3 | |
基本的な論理演算を行うことができる。 | 2 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 2 | |
分野別の工学実験・実習能力 | 情報系分野【実験・実習能力】 | 情報系【実験・実習】 | 与えられた数値を別の基数を使った数値に変換できる。 | 3 | |