基本的なアルゴリズムを理解し,図式表現できる。マイクロコンピュータのハードウェアの構成について理解し,レジスタによるポート割当,初期設定の必要性を理解できる。種周辺機能を利用したプログラミングができる。
概要:
3年次の「マイクロコンピュータ基礎」におけるソフトウェア技術に加えて、外部とのデータのやりとりのためのI/Oインタフェース技術について学習する。ワンボードマイクロコンピュータにおけるI/Oインタフェース技術について、ハードウェア・ソフトウェアの両面から実習を通して理解し、さらに、PWM、ADC、タイマ割り込み、などの機能を適切に利用して応用課題に取り組む。
授業の進め方・方法:
実習を中心として授業を進める。講義資料(スライド、サンプルソース等)はLMSで提示する。
注意点:
ここの授業では、マイクロコンピュータ基礎、知能エレクトロニクス製作との関連が深い。授業で配布する演習課題のすべての解答・解説することは出来ないため、自分で考えて動作確認を行い、筋道を理解するよう努めなさい。また、グループ活動を推奨する。
|
|
週 |
授業内容 |
週ごとの到達目標 |
前期 |
1stQ |
1週 |
ガイダンス I/O制御(復習) |
マイクロコンピュータのアーキテクチャを理解する。 マイコンのI/Oピンを初期化する意味を理解する。
|
2週 |
I/Oの制御(素子の追加) 演習と解説 |
開発環境に慣れる。 I/Oピンに入出力を割り当てる意味を理解し、C言語によりI/Oを制御できる。 ブレッドボード上に配置したLEDとPSWを利用できる。
|
3週 |
I/Oの制御(素子の追加) 演習と解説 |
I/Oピンに入出力を割り当てる意味を理解し、C言語によりI/Oを制御できる。 ブレッドボード上に配置したLEDとPSWを利用できる。
|
4週 |
PWM信号の生成 演習と解説 |
PWM信号の原理を理解する。 C言語によりPWM信号を生成する方法を理解する。 オシロスコープによりPWM信号を観測する。
|
5週 |
PWM信号の生成 演習 |
C言語によりPWM信号を生成する方法を理解する。 ブレッドボード上に配置したLEDにPWM信号を出力する。
|
6週 |
ADCとPWMの利用 演習 |
ADCの原理を理解する。 C言語によりADCを利用する方法を理解する。 マイコンボード付属のボリュームを用いてPWM信号を制御する。
|
7週 |
ADCとPWMの利用 演習と解説 |
C言語によりADCとPWMを利用する。 ブレッドボード上に配置した赤外線センサを利用してLEDの明るさを制御する。
|
8週 |
実技試験 |
これまでに学んだ内容を適切に組み合わせ、与えられた条件を満たすプログラムを開発できる。
|
2ndQ |
9週 |
CLCDの利用 測距センサの利用 演習と解説 |
キャラクタLCDへ文字を表示できる。 ブレッドボード上に配置した測距センサの出力値をADCにより取り込んで適切に変換し、CLCDへ出力する。
|
10週 |
CLCDの利用 測距センサの利用 演習 |
キャラクタLCDへ文字を表示できる。 ブレッドボード上に配置した測距センサの出力値をADCにより取り込んで適切に変換し、CLCDへ出力する。
|
11週 |
ポーリングと割り込み タイマ割り込み 演習と解説 |
ポーリングと割り込みの違いを理解する。一般的な割り込みの概念を理解する。 タイマ割り込みの動作を理解する。 タイマ割り込みを利用したプログラムを作成する。
|
12週 |
タイマ割り込み 演習と解説 |
タイマ割り込みの動作を理解する。 タイマ割り込みを利用したプログラムを作成する。
|
13週 |
応用課題 |
これまで学んだ内容を組み合わせてプログラムを開発できる。
|
14週 |
応用課題 |
これまで学んだ内容を組み合わせてプログラムを開発できる。
|
15週 |
実技試験 |
これまでに学んだ内容を適切に組み合わせ、与えられた条件を満たすプログラムを開発できる。
|
16週 |
|
|
分類 | 分野 | 学習内容 | 学習内容の到達目標 | 到達レベル | 授業週 |
専門的能力 | 分野別の専門工学 | 情報系分野 | プログラミング | 代入や演算子の概念を理解し、式を記述できる。 | 3 | |
プロシージャ(または、関数、サブルーチンなど)の概念を理解し、これらを含むプログラムを記述できる。 | 3 | |
変数の概念を説明できる。 | 3 | |
データ型の概念を説明できる。 | 3 | |
制御構造の概念を理解し、条件分岐を記述できる。 | 3 | |
制御構造の概念を理解し、反復処理を記述できる。 | 3 | |
与えられた問題に対して、それを解決するためのソースプログラムを記述できる。 | 4 | |
ソフトウェア生成に必要なツールを使い、ソースプログラムをロードモジュールに変換して実行できる。 | 3 | |
主要な言語処理プロセッサの種類と特徴を説明できる。 | 2 | |
ソフトウェア開発に利用する標準的なツールの種類と機能を説明できる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを設計できる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを設計することができる。 | 3 | |
要求仕様に従って、いずれかの手法により動作するプログラムを実装することができる。 | 3 | |
要求仕様に従って、標準的な手法により実行効率を考慮したプログラムを実装できる。 | 3 | |
ソフトウェア | アルゴリズムの概念を説明できる。 | 3 | |
与えられたアルゴリズムが問題を解決していく過程を説明できる。 | 3 | |
同一の問題に対し、それを解決できる複数のアルゴリズムが存在しうることを説明できる。 | 2 | |
整列、探索など、基本的なアルゴリズムについて説明できる。 | 2 | |
時間計算量によってアルゴリズムを比較・評価できることを説明できる。 | 2 | |
コンピュータ内部でデータを表現する方法(データ構造)にはバリエーションがあることを説明できる。 | 3 | |
同一の問題に対し、選択したデータ構造によってアルゴリズムが変化しうることを説明できる。 | 2 | |
リスト構造、スタック、キュー、木構造などの基本的なデータ構造の概念と操作を説明できる。 | 1 | |
ソースプログラムを解析することにより、計算量等のさまざまな観点から評価できる。 | 2 | |
同じ問題を解決する複数のプログラムを計算量等の観点から比較できる。 | 2 | |
計算機工学 | 整数・小数をコンピュータのメモリ上でディジタル表現する方法を説明できる。 | 2 | |
基数が異なる数の間で相互に変換できる。 | 4 | |
整数を2進数、10進数、16進数で表現できる。 | 4 | |
小数を2進数、10進数、16進数で表現できる。 | 2 | |
基本的な論理演算を行うことができる。 | 4 | |
基本的な論理演算を組合わせて、論理関数を論理式として表現できる。 | 4 | |
論理式の簡単化の概念を説明できる。 | 3 | |
簡単化の手法を用いて、与えられた論理関数を簡単化することができる。 | 3 | |
論理ゲートを用いて論理式を組合せ論理回路として表現することができる。 | 3 | |
与えられた組合せ論理回路の機能を説明することができる。 | 3 | |
組合せ論理回路を設計することができる。 | 3 | |
フリップフロップなどの順序回路の基本素子について、その動作と特性を説明することができる。 | 3 | |
レジスタやカウンタなどの基本的な順序回路の動作について説明できる。 | 3 | |
与えられた順序回路の機能を説明することができる。 | 3 | |
順序回路を設計することができる。 | 3 | |
コンピュータを構成する基本的な要素の役割とこれらの間でのデータの流れを説明できる。 | 3 | |
プロセッサを実現するために考案された主要な技術を説明できる。 | 3 | |
メモリシステムを実現するために考案された主要な技術を説明できる。 | 3 | |
入出力を実現するために考案された主要な技術を説明できる。 | 3 | |
コンピュータアーキテクチャにおけるトレードオフについて説明できる。 | 2 | |