单片机介绍
2022-12-06 18:31:20    32    0    0
alen

当今时代科技突飞猛进,从互联网1.0到3.0也不过短短30年时间,如今是移动互联网的时代,万物互联也从理想走进了现实.如今智慧城市,智慧校园,智慧园区,智能家居等等一切都将走进智能化的时代.而这一切的成果都离不开一块重要的基石:单片机!

说起单片机可能很多同学都不是很清楚到底是什么?

单片机又称为微控制器,跟电脑的cpu一样用于处理计算任务,不过跟电脑的cpu有点区别就是因为单片机一般主频比较低,所以计算性能比较弱,指令集也比较简单,一般用于处理一些简单的计算任务以及逻辑操作,所以也被称为MCU,由于单片机的主频比较低,所以相对的功耗也会低很多,发热量也小很多,所以非常适合用在各种智能设备中.比如,我们的手机的cpu其实就是单片机的一种.

单片机是如何控制设备的?

一般我们往单片机里写入程序,但这还无法控制外部的设备,我们还需要外围电路来进行配合;单片机与外围电路的通讯方式:ADC(模数转换),I2C(内部总线),串口(rs232,rs485),一般单片机都有多个ADC引脚,多个I2C引脚,多个串口引脚

如下图所示的开发板就标明了当前单片机的引脚信息

这里我们主要来讲讲ADC和串口通讯
比如我们要做个按下开关开灯的功能,我们可以将外部电路分解为按钮点击监测功能一起开灯功能

比如这个电路,就是一个典型的开关电路,电路默认上拉为高电平,当按钮s2被按下的时候io0被下拉为低电平,这样只要我们通过在mcu中编写代码检测io0引脚的电平状态我们就知道当前io是否被按下,这样我们就实现了一个简单的按钮点击功能

现在我们再来实现一个点灯的功能:

这个就是一个简单的点灯电路,我们在mcu启动的时候将io2引脚重置为低电平状态,一旦监测到上一步骤中的按钮被按下后我们编写代码将io2的电平设置为高电平,这样led灯就被点亮了,不过这个亮度很低,只能用来作为指示灯使用,如果我们要控制家用的220v的电灯怎么办?

那我们就需要用到太极中很重要的一个理论"四两拨千斤",我们通过3v的弱电流控制继电器或者控制晶体三级管的控制极的电平即可实现点亮220v的电灯

既然现在灯的开关已经能通过mcu控制,那我们只要mcu联网,接收远程服务器下发的开关灯指令,这样就实现了远程开关灯的功能,由此我们就实现了一个简单的物联网功能



下面,我们再来说说串口通讯:

串口通讯是单片机中广泛应用的一种通讯协议,主要用于物联网设备间的通讯,说起串口通讯大家可能比较陌生,但是在日常生活中大家其实每天都在接触:比如地铁闸机的二维码扫描器,nfc读卡器,都是通过串口协议跟上位机进行通讯的

以前玩过刷机的同学可能对下面这几个触点比较亲切:

这个就是一些智能设备上的串口通讯接口,一般设备出场时的程序就是通过这几个接口写入的,比如智能机顶盒,智能电视,智能行车记录仪等主板上我们都能看到它的身影

串口协议分为rs485和rs232协议,他们两个最主要的区别就是232的最大传输距离是15米,485协议的最大传输距离可以达到上千米




下面我就来展示一个基于串口协议的单片机应用 "PPTMan":

这个应用通过app采集手机的按键或触屏指令,转为串口指令,并通过蓝牙转键盘指令将指令发送给电脑,从而实现控制PPT播放的功能

不同的设备芯片有不同的串口指令,这些指令是芯片厂家定义的,我们现在通过ch9329这块芯片的通讯协议为例子来简单介绍下串口通讯协议:

串口协议包分为帧头,地址码,命令码,数据长度,数据,crc校验和.通过这几部分组成一个完整的串口协议数据报文.通过定长的方式取值,协议内容为16进制,在拿到内容之后我们需要将数据转换为10进制

比如我们发送一个模拟键盘A键按下的指令:
57 AB 00 02 08 00 00 04 00 00 00 00 00 10

这样我们就通过一条指令控制了设备输出一个A


这个具体有什么应用场景呢?

比如我们日常生活中使用的把枪扫码收款中的把枪里面就有一块这样的芯片,用于将把枪采集到的条码信息以键盘输出的方式输出到收银系统

还有一个场景就是之前流传广泛的dnf搬砖:

相信这个场景大家可能在网上流传的视频中都见过,通过机械臂来按压按键实现搬砖,这样做我们先不说成本有多高,就是这套机械臂系统就已经够复杂了,如果采用串口控制ch9329芯片的方式仅仅需要一片小小的芯片就能解决这个问题


以上就是今天的分享内容,感谢大家的支持





Pre: 关于ffmpeg转换视频后在ios的相册中无法展现的问题原因及处理方式

Next: docker 安装gitlab

32
Sign in to leave a comment.
No Leanote account? Sign up now.
0 comments
Table of content