stm32单片机能做人机交互吗

不请自来!
首先 , 明确人机交互界面的定义
人机交互界面,顾名思义就是人和机器交互的接口,包括人向机器输入指令,机器向人展示指令执行的结果或者机器运行的状态等 。
第二、人机交互界面包含的内容有哪些
【stm32单片机能做人机交互吗】
人机交互界面包含输入和输出两个部分的内容,输入最简单的是按键、还可以是触摸屏 。输出显示部分可以是LED指示灯、8段数码管、LCD等等
第三、stm32如何实现人机界面之人机界面输入
A、按键实现 如果按键很少IO充足的情况下,一个IO对应一个按键是比较简单的实现方法 。

stm32单片机能做人机交互吗

B、如果按键比较多可以采用矩阵键盘的实现方式,或者通过AD转换通过AD采样来实现多按键扫描 。
stm32单片机能做人机交互吗

IO 扫描矩阵按键
stm32单片机能做人机交互吗

ADC采样按键,实际是利用电阻分压和ADC采样来识别出哪一个按键被按下 , 这种电路好处是只需要一个IO即可 , 对于管脚资源有限的项目非常合适 。
触摸屏 , stm32可以支持电阻或者电容式触摸屏 , 电阻触摸屏实际就是通过ADC来实现的 。原则上来说,只要支持ADC就能实现电阻触摸屏输入 。电容式触摸屏有的stm32单片机可以支持支持 。但是在实际项目中 , 通常采用模块化的设计,电容触摸屏和控制器通常集成在一起形成模组,这样做的好处是电容触摸屏模组程序和项目代码分开,有利于模块之间的解耦,另外不同项目之间复用也很有好处 。通常模组还用I2C或者SPI接口和stm32单片机进行通信
stm32单片机能做人机交互吗

stm32如何实现人机界面之人机界面输出
A、LED指示灯输出,实际就是通过GPIO输出高电平或者低电平来控制的 , 这种是最简单实现方式,但是可以表达的信息也比较有限
stm32单片机能做人机交互吗

B、8段数码管实现方式,8段数码管显示本质上还是驱动LED,只不过每个数码管由8个LED组成,可以表达的信息也更丰富,比较可以显示数字、小数点、简单的字符(虽然比较丑陋,但终归是有了)
stm32单片机能做人机交互吗

C、LCD stm32单片机对LCD支持也是很强大的
可以支持128*64的点阵式LCD或者OLED显示屏,也可以支持更大分辨率的LCD , 比如640*480 , 甚至1024*768等分辨率 , 取决于具体的stm32芯片型号 。有些LCD模组内部有显存,不需要占用stm32内部的ram,但是有些高分辨率的LCD,则需要stm32的ram来支持lcd刷新 , 内存不够的话可能还需要外部扩展 。
stm32单片机能做人机交互吗


stm32单片机能做人机交互吗

总结 , stm32做人机见面还是可以的 , 当然需要根据具体的项目需求 , 选择相应的芯片型号,需要学习的知识:GPIO输入输出、ADC数模转换、I2C总线编程、SPI总线编程、LCD驱动相关知识,当然做UI界面的话可能还需要涉及UI显示库相关的编程 , 比如ucUI、emWin等等 。

经验总结扩展阅读