完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人目前想用普通的单片机模拟一个PS/2 鼠标 、、然而出了 很多问题 。。求大神帮助。。
单片机使用的是51内核 , PS/2的 时钟和数据线 都接在I/O 口上 ,并且能输出5V左右,拉高拉低都不成问题。。时钟线接在中断0上、、、 然后根据PS/2协议,写了程序。。。。但是开机和主机的交互有问题。。。没法识别 PS2RecChar是单片机接收到的主机发送的指令。。。然后这个switch 是根据指令返回给主机的,OnPS2SendChar();是单片机发送函数。 switch(PS2RecChar) { case 0xC8 :OnPS2SendChar(0xFA);break; case 0x64 :OnPS2SendChar(0xFA);break; case 0x50 :OnPS2SendChar(0xFA);break; case 0x0A :OnPS2SendChar(0xFA);break; case 0x03 :OnPS2SendChar(0xFA);break; case 0xE9 :OnPS2SendChar(0xFA);OnPS2SendChar(0x00); OnPS2SendChar(0x02);OnPS2SendChar(0x64);break; case 0xE8 :OnPS2SendChar(0xFA);Delay40us(); OnPS2SendChar(0xFA);break; case 0xE7 :OnPS2SendChar(0xFA);break; case 0xE6 :OnPS2SendChar(0xFA);break; case 0xF6 :OnPS2SendChar(0xFA);break; case 0xF5 :ESB=0;OnPS2SendChar(0xFA);break; case 0xF4 :ESB=1;LED1=~LED1;OnPS2SendChar(0xFA);break; case 0xF3 :OnPS2SendChar(0xFA);break; case 0xF2 :OnPS2SendChar(0xFA); OnPS2SendChar(0x03);break; case 0xF0 :OnPS2SendChar(0xFA);break; case 0xFE :LED2=~LED2;OnPS2SendChar(0x08);OnPS2SendChar(0x00); OnPS2SendChar(0x00);OnPS2SendChar(0x00);break; case 0xEE :OnPS2SendChar(0xFA);break; case 0xEC :OnPS2SendChar(0xFA);break; case 0xEB :OnPS2SendChar(0xFA);break; case 0xEA :OnPS2SendChar(0xFA);break; case 0xFF :OnPS2SendChar(0xFA); OnPS2SendChar(0xAA); OnPS2SendChar(0x00);break; default: OnPS2SendChar(0xFA);break; } 目前的情况是 我用PS/2鼠标 开机 然后拔下来使用单片机模拟的PS/2接口 , 这个时候 我模拟的按键1按下是模拟鼠标左键按下。。按下后电脑有反应,发现是鼠标左键按下了 ,。。因为主机上还有一个USB接口的鼠标。。。我动一下USB 鼠标。。PS/2 接口的鼠标直接被主机屏蔽了 ,,,我换上正常的PS/2鼠标以后发现 没法用了 只能重启、、、我现在是想能够完成开机识别PS/2鼠标就行了 有木有大神帮个忙、、 if(KEY1==0) //如果自动打开按键按下 { Delay(15); //按键消抖 if(KEY1==0) { while(!KEY1); OnPS2SendChar(0x09); OnPS2SendChar(0x00); OnPS2SendChar(0x00); OnPS2SendChar(0x00); } } |
|
相关推荐
1 条评论
3个回答
|
|
{:3:}{:3:}
|
|
|
|
|
|
|
|
我花了一个月时间 做了一个 USB 转 PS2 鼠标 转接,PS/2 协议已经烂熟于心。目前除了 个别机器上 不能工作之外,已经基本稳定,我用的是STM32 芯片。可惜这个帖子 已经过去快两年了。
|
|
5 条评论
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
205 浏览 0 评论
求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?
1253 浏览 1 评论
【RA-Eco-RA4E2-64PIN-V1.0开发板试用】开箱+Keil环境搭建+点灯+点亮OLED
848 浏览 0 评论
【敏矽微ME32G070开发板免费体验】使用coremark测试敏矽微ME32G070 跑分
853 浏览 0 评论
【敏矽微ME32G070开发板免费体验】开箱+点灯+点亮OLED
1073 浏览 2 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12010 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 20:45 , Processed in 0.651931 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号