PIO-48W(98)(CONTEC) 8255A相当品を2個搭載した48点双方向入出力ボード(TTLレベル).8点単位で 入出力の設定が可能.また48点中4点を割り込み信号として使用可能. ・仕様 入出力形式:TTLレベル,正論理 入力抵抗:10KΩ(1LS-TTL負荷) 出力定格:+5V,1mA(2LS-TTL負荷) 入出力点数:48点(GND共通) 占有ポート数:8ビット 8ポート 消費電源容量:+5V,370mA 使用条件:0〜50度,20〜90%(結露なきこと) ・I/Oポートアドレスの設定 SW1とSW2で,ボードで使用されるポート群の先頭アドレスを設定.設定しよう とするポートアドレスに合わせ,それに対応するビットスイッチをONにする. ただしSW2の6, 7, 8は常にOFFとすること. CONTECでは**D0H〜**DFHの範囲を推奨(*は0〜Fの任意の値). アセンブラプログラムでの入出力はDXレジスタによるレジスタ間接入力命令に限る. ・割り込みの設定 割り込み信号入力の設定はJP1にて行う.割り込みを使用しない場合はジャンパを 外すこと: ピン番号(信号名) JP1のピン 割り込み    49(L-PC0)    1    INT0    46(L-PC3)    2 INT4 24(H-PC0) 3 INT5 21(H-PC3) 4 INT6 割り込みは入力信号のOFFからONへの立ち上がり時に発生. ただし基板No.9246のボードでは立ち下がり時に割り込み発生. ・インターフェースコネクタの端子番号と信号名   端子番号 信号名    説明   1   H-PA7 ┐   2 H-PA6 |   3 H-PA5 |   4 H-PA4 |上位Aポート   5 H-PA3 |   6 H-PA2 |   7 H-PA1 |   8 H-PA0 ┘   9   H-PB7 ┐   10 H-PA6 |   11 H-PB5 |   12 H-PB4 |上位Bポート  13 H-PB3 |   14 H-PB2 |   15 H-PB1 |   16 H-PB0 ┘   17   H-PC7 ┐   18 H-PC6 |   19 H-PC5 |   20 H-PC4 |上位Cポート  21 H-PC3 |   22 H-PC2 |   23 H-PC1 |   24 H-PC0 ┘    25   G N D       26   L-PA7 ┐   27 L-PA6 |   28 L-PA5 |   29 L-PA4 |下位Aポート  30 L-PA3 |   31 L-PA2 |   32 L-PA1 |   33 L-PA0 ┘   34   L-PB7 ┐   35 L-PA6 |   36 L-PB5 |   37 L-PB4 |下位Bポート  38 L-PB3 |   39 L-PB2 |   40 L-PB1 |   41 L-PB0 ┘   42   L-PC7 ┐   43 L-PC6 |   44 L-PC5 |   45 L-PC4 |下位Cポート  46 L-PC3 |   47 L-PC2 |   48 L-PC1 |   49 L-PC0 ┘ 50 G N D ボードを背面よりみた場合, 右上隅が1,その左が2,左上隅が24,その右が23,右下隅が26,その左が27, 左下隅が50,その右が49. ・ポートアドレスと信号端子の対応 設定したポートアドレス  D7 D6 D5 D4 D3 D2 D1 D0      +0          下位 Aポート      +1          上位 Aポート      +2          下位 Bポート      +3          上位 Bポート      +4          下位 Cポート      +5          上位 Cポート      +6       下位 8255Aコントロール      +7       上位 8255Aコントロール ・ハードウェア割り込みについて (1)PC-9801シリーズでは,割り込みコントローラμPD8259を2個カスケード接続   している.割り込みを使用するには,μPD8259をマスクリセットおよび処理先 テーブルアドレスの登録を行わなければならない. a)μPD8259における割り込みレベルとマスクビットとの対応:  INT 0:マスタ8259(02Hポート)D3ビット  INT 5:スレーブ8259(0AHポート)D4ビット  INT 6:スレーブ8259(0AHポート)D5ビット  上に示されるポートのビットをリセットすることで割り込み許可となり,  ビットをセットすることで割り込み不許可となる.  例)INT 0,INT 5を許可   IN AL,02H    ;現在のマスク状態の取り込み   AND AL,0F7H   ;INT 0に対応するビットのクリア OUT 02H,AL ;新しいマスク状態をセット   IN AL,0AH    ;現在のマスク状態の取り込み   AND AL,0EFH   ;INT 5に対応するビットのクリア OUT 0AH,AL ;新しいマスク状態をセット b)割り込みレベルと割り込み処理先登録アドレス  INT 0:セグメント0H/オフセット2CHより  INT 5:セグメント0H/オフセット50Hより  INT 6:セグメント0H/オフセット54Hより  上に示されるアドレスより割り込み処理プログラムの先頭アドレスをオフセット,  セグメントの順に登録する.  例)INT 0の割り込み処理先アドレスがセグメント1E00H,オフセット100H,    またINT 5の割り込み処理先アドレスがセグメント1E00H,オフセット    200Hの場合    MOV AX,0 ;セグメント0セット MOV DS,AX ;INT 0 MOV WORD PTR [2CH],100H ;オフセット登録 MOV WORD PTR [2EH],1E00H ;セグメント登録 ;INT 5 MOV WORD PTR [50H],200H ;オフセット登録 MOV WORD PTR [52H],1E00H ;セグメント登録 (2)割り込み処理プログラム   a)割り込み処理で使用するレジスタの退避 b)割り込み処理 c)割り込みコントローラμPD8259のリセット  MOV AL,20H ;EOIコマンドセット OUT 0,AL ;マスタμPD8259のリセット OUT 8,AL ;スレーブμPD8259のリセット  ただしINT 0の場合,スレーブμPD8259のリセットは不要. d)レジスタ復帰+IRET