4IS ディジタルシステムA (2回目)

IS4 ディジタルシステムA
(I/Oポート)
使用教室:11号棟2F(11-202)コンピュータ演習室
担当教員:熊谷(和),力武
資料サイト:熊谷研究室 授業資料
(http://hirose.sendai-nct.ac.jp/~ckuma/class/)
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
2.主な機能の活用 2.1 I/Oポート
2
• ATmega64Lの入出力回路構成
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆I/Oポートに関係するレジスタ
3
• PA~PF:8ビット×6,PG:5ビット 計53ビット
すべて,内蔵プルアップ抵抗付き双方向入出力ポートで,吐き
出しと吸い込み両方とも高い能力の対称駆動特性を有する.
• 関係するレジスタ
①PORTx :出力,プルアップ設定
②DDRx :入出力方向設定
③PINx :入力
• 初期化手順
①入出力方向の設定(DDRx)
②入力の場合,プルアップ設定(PORTx)
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆プルアップ
4
• 入力ポートがグランドでも電源電圧でもない不安定な入力状態とな
るのを防ぐための回路構成のこと
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆サンプルプログラム(simpleio)
IS4ディジタルシステムA
5
Information System Engineering Dept. SNCT
◆PORTC出力の内訳
PINE
PING
PING & 0x1F
PINE & 0xC0
(PINE & 0x04)<<3
(PING & 0x1F) |
(PINE & 0xC0) |
((PINE & 0x04)<<3)
6
sw7
×
0
sw7
0
sw6
×
0
sw6
0
×
×
0
0
sw5
sw7
sw6
sw5
IS4ディジタルシステムA
各値の2進数表示
×
×
sw4
sw3
sw4
sw3
0
0
0
0
sw4
sw3
sw5
sw2
sw2
0
0
×
sw1
sw1
0
0
×
sw0
sw0
0
0
sw2
sw1
sw0
Information System Engineering Dept. SNCT
◆サンプルプログラム(countsw)
IS4ディジタルシステムA
7
Information System Engineering Dept. SNCT
◆サンプルプログラム(countsw2)
IS4ディジタルシステムA
8
Information System Engineering Dept. SNCT
○練習問題2
9
1. 組込みソフトウェアテキスト(AVR編)→4 I/Oポート 講義資料内
のサンプルプログラム(countsw)を打ち込み,実習ボード上で
チャタリング動作を確認せよ.
2. 組込みソフトウェアテキスト(AVR編)→4 I/Oポート 講義資料内
のサンプルプログラム(countsw2)を打ち込み,実習ボード上で
チャタリングが除去された動作を確認せよ.
3. サンプルプログラム(countsw2)の動作を,フローチャートおよび
タイミングチャートを用いて説明せよ.また,このプログラムの
チャタリング除去方法の問題点を考えよ.
IS4ディジタルシステムA
Information System Engineering Dept. SNCT
◆練習問題2-3の解説
10
• countsw2のチャタリング除去方法の問題点を考えよ.
○問題点
1. 一定時間ウェイトを入れているだけなので,それ以上の時間チャ
タリングが続いても対処できない.
2. ウェイトの間の入力が無視されてしまう.
3. メインループでウェイトを入れているので,その間他の処理がで
きない.
1と2は避けるのが難しい(機械的な問題)
→対症療法,機械側で対策して貰うのが本筋
3は割り込みで対処 →後の回で説明
IS4ディジタルシステムA
Information System Engineering Dept. SNCT