2018.9.13
前へ
次へ
ホームページトップへ戻る


16ビットマイコンボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
いつか使ってみるつもりで入手してそのまま置いてあった16ビットCPUのことを思い出しました。
AMD社のAM188です。
その名の通り、CPUコアは80188互換の16ビットCPUです。
そのAM188を使った16ビットマイコンボードの製作記事です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第87回]



●PIOの設定

LCD表示器をAM188CPUボードに直結してコントロールするためにAM188の汎用I/O端子(Programable I/O Pins、略してPIO端子)の何本かを使います。


[出典]Advanced Micro Devices,Inc. Am186EM and Am188EM Microcontrollers User’s Manual

AM188のPIOは全部で32本ありますが、その全てが別の何らかの機能の入出力と端子を兼用しています。

[出典]Advanced Micro Devices,Inc. Am186EM and Am188EM Microcontrollers User’s Manual

このうちPIO16はPCS0(I/Oコントロール端子、Z80のIORQに相当)と端子を兼用していて、この端子をPCS0として使うための設定についての説明を[第12回][第16回]でしています。
そこでもPIOのモード設定について説明していますが、そのときはPIOではなくてPCS0の機能を選択するための設定についての説明になっていました。
今回はそれとは逆にPIOとして使うための設定を行ないますから、説明や引用文書が重なるところもありますが、重なってもわかりやすいほうがよいと思いますので、そういうことで説明を進めることにします。

それぞれの端子をPIOとして使うか、別の機能(Nomal operation)として使うかを選択するために2つのレジスタが用意されています。
PIO MODE REGISTERとPIO DIRECTION REGISTERです。
PIOは32本ありますから、それぞれを上記のレジスタの各1ビットに割り当てています。
32ビット必要ですから、PIO MODE REGISTERもPIO DIRECTION REGISTERも16ビット×2の構成になっています。


[出典]Advanced Micro Devices,Inc. Am186EM and Am188EM Microcontrollers User’s Manual

PIO Mode 0 Register(アドレスFF70)はPIO0〜PIO15をビット0からビット15に割り当てていて、PIO Mode 1 Register(アドレスFF76)はPIO16〜PIO31をビット0からビット15に割り当てています。
ビットとPIOナンバーの対応は次のPIO DIRECTION REGISTERでも同じになっています。
MODE REGISTERとDIRECTION REGISTERの同じビット位置の値が 0,0のときそのビットに対応するPIO端子はNomal operation端子になります。
0,1のときはプルアップ抵抗付きの入力端子になります。
1,0のときは出力端子になります。
1,1のときはプルアップ抵抗なしの入力になります。
プルアップと書きましたがいくつかの端子はプルダウンのようです。
上掲ののTable12−1によると、PIO1、6、22、23はプルダウンになっています。
プルアップ、プルダウンとも抵抗値は10KΩです。


[出典]Advanced Micro Devices,Inc. Am186EM and Am188EM Microcontrollers User’s Manual

説明の途中ですが本日は時間がなくなってしまいました。
続きは次回にいたします。

16ビットマイコンボードの製作[第87回]
2018.9.13upload

前へ
次へ
ホームページトップへ戻る