マウスインタフェースマイコン
H8,SH3などのマイコンに接続できるマウスインタフェース(PICマイコン)ができました。
PICマイコンのプログラムおよびマウスの接続回路については、以下のページを参考にしております。
「マウステスターが完成!パソコンなしでマウスで遊べます」
(ホームページの紹介は作者の杉原俊雄 様の許可をいただいております。最近、本ページの紹介を載せていただいております。ありがとうございます。)
マウステスターのLCD接続部分をマイコンH8,SH3などの汎用ポートにつなぐような仕様にしています。
list p=PIC16F628A |
![]() |
QVGAボードに組み込んだところ
|
![]() |
|
全 体
|
![]() |
![]() |
基板 表 |
基板 裏
|
SH7706
|
PIC16F628A
|
|
→
|
||
← レベルシフタ ←
|
||
→ デジタルトランジスタ →
|
![]() |
品 名
|
店舗
|
店頭購入価格(単価)
|
|
\200
|
|||
\40
|
|||
\40
|
|||
\147
|
|||
\42
|
|||
\10
|
|||
\5
|
|||
\5
|
|||
\5
|
|||
\5
|
|||
![]() |
/* PS2 MOUSE INTERFACE MICON Sample
*
* by P.IGMON
* release 2006.11
*/
#include <mes2.h>
#include <h8/reg770x.h>
#include "DIYS.h" ←ps2mouse構造体とPICマイコンとのポートの定義があります。
int main(void){
int i,ret;
ps2mouse mouse0;
DIYS_ps2mouse_initialize();// SH7706 CPUのポートの初期化をします。
for(i=0;i<300;i++){// 300回データを取得するテストです。
ret =ps2mouse_getdata(&mouse0);// この関数はエラーを検出したか、データが取得できるまで待ちます。
while (ret == -1){
printf("PS2mouse Eror detected ECODE =0x%2x\r",mouse0.mdev);
DIYS_ps2mouse_restart();
sleep(1000);
ret =DIYS_ps2mouse_getdata(&mouse0);
}
printf("mdev =0x%2x\r" ,mouse0.mdev);
printf("signs =0x%2x\r" ,mouse0.signs);
printf("movx =0x%2x\r" ,mouse0.movx);
printf("movy =0x%2x\r" ,mouse0.movy);
printf("movz =0x%2x\r" ,mouse0.movz);
printf("btn45 =0x%2x\r" ,mouse0.btn45);
printf("\r");
}
}
|