• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

单片机通过外部键盘输入

一夜春雨 2016-11-29 浏览量:1857

最近开发一个产品,其中要用到单片机验证,需要通过键盘输入数据到单片机,看输出数据的结果。比如,通过键盘输入字母"A"到单片机,通过一定的处理后让单片机能输出"HELP",后端连接PC,并能在PC上显示出来。有没有大虾知道怎么实现这一过程?

1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 首先,如果你的单片机可以直接外接标准键盘的话,那就找相应的例程驱动就好了,单片机跟PC之间通信其实就是一个串口通信而已,大部分单片机都是有串口的。

    如果你的单片机(比如STC的51单片机)不能直接接键盘,你可以用矩阵键盘去实现,如果你只要模拟26个字母,可以用5*6的矩阵就好了,能最多有30个按键。当然,也可以用AD键盘,这样的话也是比较节省IO口的,你可以去看下STC官方提供的试验箱例程,里面有关于矩阵键盘跟AD键盘的例程,串口通信也有,要验证串口通信,只需要在电脑上弄个串口助手就好了,当然STC的ISP下载软件里面也自带了串口助手,例程源码也都有,STC单片机价格也不是很贵,资源还是比较丰富的,常用的封装基本都有。STC官网地址:http://www.stcmcu.com/ 







    • 发布于 2016-11-30
    • 举报
    • 评论 1
    • 1
    • 0
一夜春雨 回复了 SingleYork:谢谢,懂了! 回复

其他答案 数量:5
  • 最简单的方法,单片机的TTL口通过USB转接线连接到PC,在PC端打开串口工具,输入自己定义好的字符,发送给单片机。单片机这边判断接收到相应的字符后去执行对应的功能,然后把结果再发回串口,这样PC就能显示了。

    单片机这边伪代码:

    switch (buf[0])

    {

        case 'A':

            SendToTTL("HELP", 4);

            break;

        default:

            break;

    }

    PC端不需要编程,用串口工具显示。


    另外,因为没有指定单片机型号,所以不能确定你的单片机是否有USB口,所以最保险的办法就是用串口来实现。


    • 发布于2016-11-30
    • 举报
    • 评论 1
    • 2
    • 0
一夜春雨 回复了 LiuYang :谢谢 回复

  • 楼主指的是通过键盘输入,那单片机需要支持键盘驱动吧 

    如果是普通的按键式 通过IO口就可以检测到 要是USB键盘,应该支持USB通信才行

    单片机操作鼠标键盘可用CH374U芯片,例程如下:

    374做主机操作鼠标、键盘的例子程序:


    至于 检测到 显示到PC 可以通过串口就可以实现



    • 发布于2016-11-29
    • 举报
    • 评论 0
    • 1
    • 0

  • 如果是用STM32,可以直接用各個Nucleo/Discovery開發板附的USB_HID範例工程,然後設置使用UART將輸入的Key值輸出到UART即可,燒錄上板子,插上USB Keyboard,電腦開啟Serial Console接收UART傳來的訊息,就大功告成嚕

    • 发布于2016-11-30
    • 举报
    • 评论 1
    • 1
    • 0
一夜春雨 回复了 MOP :谢谢 回复

  • 超级终端 检测串口输入字符 然后在从PC打印出字符 ~
    • 发布于2016-11-30
    • 举报
    • 评论 1
    • 1
    • 0
一夜春雨 回复了 Eagleson :谢谢 回复

  • 在单片机中实现如下功能:

    1.通过usb口,或是PS_2口,这个可以看你选的单片机的品牌及型号,去官网看看相应的用例

    2.将其检测到的键盘输入进入转换,比如A 转 HELP,这个转换规则及协议需要在单片机上实现。

    3.然后连接电脑,用uart,或是usb等之类的接口接到电脑,将其输出 。

    • 发布于2016-11-30
    • 举报
    • 评论 0
    • 1
    • 0

相关问题

问题达人换一批

单片机通过外部键盘输入