前回、P48,P48を使ってLチカを試してみました。

今回はP60を使ってLチカを試してみます。

 

ハードウェアマニュアルによると、

P6DDRレジスタの0ビット目を1にするとP60が出力ポートとなり、P6DRの0ビット目が出力される。

P6DDRレジスタの0ビット目を0にするとP60が入力ポートとなる。

BCRレジスタのWAITEビットを0にするとP60が入出力ポートとなる。

BCRレジスタのWAITEビットを1にした場合はWAIT入力端子になるのでP60DDRは1にセットしないこと。(今回は関係ない)

 

BCR(バスコントロール)レジスタ

リセットおよびハードウェアスタンバイモード時に、HC6にイニシャライズされる。

ということでWAITEの初期値は0でしたが不安な場合はプログラムでBCRレジスタにC6を書き込んでも良いかもしれません。

 

P60も前回のP47,P48と同じように使える筈。

前回のプログラムを書き換えます。

 

#include <h8/reg3067.h>
#include <h8/syscall.h>

#define LED1 1;

int main(int argc, char **argv){
 int i;
 
 ABWCR=0xff;
 P6DDR = 0x01;
 
 while(1){
  printf("\nLED Test\n");
  for(i=0; i<10; i++){
   P6DR = LED1;
   sleep(10);
   P6DR = 0;
   sleep(10);
  }
 }
 return 0;
}

 

コンパイル、変換、転送は前回と同じです。

転送出来ない場合は、一度USBを抜き差しすると良いかもしれません。

 

P60ポートはIC4の5番ピンに繋がっておりIC4には5VもGNDも接続されています。

IC4のGNDは1,3,4ピンです。

 

というとこで、P60をI/Oポートにすると下の写真のように少し幸せになれます。

 

以上、ご利用下さい。(。・ω・)ノ゙

 

MENUに戻る