8253テストボードの製作

 
 8253は最大5MHzで動作する16ビット・プログラマブル・カウンタを3個内蔵し、6通りの動作モードをもつマイコン周辺LSIで、PIT(ProgrammableIntervalTimer)と呼ばれています。6通りの動作モードはモード0−5と呼ばれており、コントロール・ワードによって選択します。8253のカウンタ0,1,2は16ビット・ダウン・カウンタですが、データ・バスはD7からD0までの8ビット分しかありません。そこでカウンタの読み込み・書き込みは、下位8ビット・上位8ビットの順に2回に分けて行うことになります。なおPIF95回路図からもわかるように、8253は8255Aとパラレルに配置されており、規格化されたI/Oアドレスの指定で選択(チップセレクト)されます。 詳細については、「パソコン・インターフェイスの製作実習」(横山直隆 著  技術評論社)を参考にされたい。


1.プログラム開発の手順

 PIF95はクロックとして2MHzを使用しているため、このままではLEDのON,OFFが速すぎて目での確認が不可能です。そこで
(ア)2MHzを2段階で分周し、目で確認できる速さにする。
 (1)第1段階 カウンタ0を使用(2MHz−>40Hz)
 (2)第2段階 カウンタ1を使用(40Hz−>1Hz)
(イ)カウンタ2を使って各モードをテストする。
のように決めます。(1),(2)の分周プログラムは次の通りです。
  10 OUT &H27,&H38: ’カウンタ0をモード3に設定
  20 OUT &H24,&H28:  OUT &H24,&H0: ’カウンタ0に C350H(50000) をセット(40Hzに)
これでカウンタ0のOUT0からは40Hzのクロックが出力され、カウンタ1のCLK1に入力されます。
  30 OUT &H27,&H76: ’カウンタ1をモード3に設定
  40 OUT &H25,&H28: OUT &H25,&H0: ’カウンタ1に 28H(40) をセット(1Hzに)
これでカウンタ1のOUT1からは1Hzのクロックが出力され、カウンタ2のCLK2に入力されます。

1-1.モード0のプログラム

 カウンタ2に入力される1Hzのクロックを使って、モード0を確かめるプログラムを作って見ましょう。
  50 OUT &H27,&HB0: ’カウンタ2をモード0に設定
  60 INPUT "カウント N=";N
  70 OUT &H26,N: OUT &H26,0: ’カウンタ2にカウントNを設定
  80 END
8253テストボードのGATE0,1,2の各スイッチを”H”にしたのち、上記のプログラムを実行します。このときOUT0,1,2のLEDが次のように動作するか確かめてみましょう.
 (1)LED0(OUT0)は40HzでON,OFFしているか.
 (2)LED1(OUT1)は1HzでON,OFFしているか.
 (3)LED2(OUT2)は最初OFFで、LED1がN回OFFしたのちONするか.
 (4)カウンタNの値を変えるとLEDもへんかするか.
上記のプログラムの50行,60行を変えることによって各モードをテストすることができます。

1-2.時間測定プログラム

 GATE1を”H”にした時間を測定するプログラムを作ってみましょう。
  10 CLS
  20 PRINT "GATE1ヲ H ニシタジカンノソクテイ"
  30 LOCATE 0,3: PRINT "SPACEキー デ リセット"
  40 OUT &H27,&H36
  50 OUT &H24,&HD0: OUT &H24,&H7
  60 OUT &H27,&H70
  70 OUT &H25,&HFF: &H25,&HFF
  80 OUT &H27,&H40
  90 D=INP(&H25)+256*INP(&H25)
  100 T=(65535-D)/1000
  110 LOCATE 0,1: PRINT USING "###.###";T
  120 LOCATE 8,1: PRINT "s"
  130 IF INKEY$=" " THEN 50
  140 GOTO 80


8253テストボード回路図(22KB)へ

EHC事務局のページ