最近开发一个产品,其中要用到单片机验证,需要通过键盘输入数据到单片机,看输出数据的结果。比如,通过键盘输入字母"A"到单片机,通过一定的处理后让单片机能输出"HELP",后端连接PC,并能在PC上显示出来。有没有大虾知道怎么实现这一过程?
首先,如果你的单片机可以直接外接标准键盘的话,那就找相应的例程驱动就好了,单片机跟PC之间通信其实就是一个串口通信而已,大部分单片机都是有串口的。
如果你的单片机(比如STC的51单片机)不能直接接键盘,你可以用矩阵键盘去实现,如果你只要模拟26个字母,可以用5*6的矩阵就好了,能最多有30个按键。当然,也可以用AD键盘,这样的话也是比较节省IO口的,你可以去看下STC官方提供的试验箱例程,里面有关于矩阵键盘跟AD键盘的例程,串口通信也有,要验证串口通信,只需要在电脑上弄个串口助手就好了,当然STC的ISP下载软件里面也自带了串口助手,例程源码也都有,STC单片机价格也不是很贵,资源还是比较丰富的,常用的封装基本都有。STC官网地址:http://www.stcmcu.com/
最简单的方法,单片机的TTL口通过USB转接线连接到PC,在PC端打开串口工具,输入自己定义好的字符,发送给单片机。单片机这边判断接收到相应的字符后去执行对应的功能,然后把结果再发回串口,这样PC就能显示了。
单片机这边伪代码:
switch (buf[0])
{
case 'A':
SendToTTL("HELP", 4);
break;
default:
}
PC端不需要编程,用串口工具显示。
另外,因为没有指定单片机型号,所以不能确定你的单片机是否有USB口,所以最保险的办法就是用串口来实现。
楼主指的是通过键盘输入,那单片机需要支持键盘驱动吧
如果是普通的按键式 通过IO口就可以检测到 要是USB键盘,应该支持USB通信才行
单片机操作鼠标键盘可用CH374U芯片,例程如下:
374做主机操作鼠标、键盘的例子程序:
至于 检测到 显示到PC 可以通过串口就可以实现
如果是用STM32,可以直接用各個Nucleo/Discovery開發板附的USB_HID範例工程,然後設置使用UART將輸入的Key值輸出到UART即可,燒錄上板子,插上USB Keyboard,電腦開啟Serial Console接收UART傳來的訊息,就大功告成嚕
在单片机中实现如下功能:
1.通过usb口,或是PS_2口,这个可以看你选的单片机的品牌及型号,去官网看看相应的用例
2.将其检测到的键盘输入进入转换,比如A 转 HELP,这个转换规则及协议需要在单片机上实现。
3.然后连接电脑,用uart,或是usb等之类的接口接到电脑,将其输出 。