学了那么多年的单片机,你真的学会了吗?

单片机I/O驱动,为什么一般选用三极管而不是MOS管?(作者:硬件笔记本)

这里其实有两个问题:

1.单片机为什么不直接驱动负载?

2.单片机为什么一般选用三极管而不是MOS管?

图1

答:1.单片机的IO口,有一定的带负载能力。但电流很小,驱动能力有限,一般在10-20mA以内。所以一般不采用单片机直接驱动负载这种方式。

2.至于单片机为什么一般选用三极管而不是MOS管?需要了解三极管和MOS管的区别,如下:①三极管是电流控制型,三极管基极驱动电压只要高于Ube(一般是0.7V)就能导通。②MOS管是电压控制型,驱动电压必须高于阈值电压Vgs(TH)才能正常导通,不同MOS管的阈值电压是不一样的,一般为3-5V左右,饱和驱动电压可在6-8V。

我们再来看实际应用:

处理器一般讲究低功耗,供电电压也越来越低,一般单片机供电为3.3V,所以它的I/O最高电压也就是3.3V。

①直接驱动三极管

3.3V电压肯定是大于Ube的,所以直接在基极串联一个合适的电阻,让三极管工作在饱和区就可以了。Ib=(VO-0.7V)/R2。

图2驱动三极管示意图

②驱动MOS管

通过前面也了解到,MOS管的饱和电压>3.3V,如果用3.3V来驱动的话,很可能MOS管根本就打不开,或者处于半导通状态。

在半导通状态下,管子的内阻很大,驱动小电流负载可以这么用。但是大电流负载就不行了,内阻大,管子的功耗大,MOS管很容易就烧坏了。

所以,一般选择I/O口直接控制三极管,然后再控制MOS管。

图3I/O口驱动三极管后再驱动MOS管

当I/O为高电平时,三极管导通,MOS管栅极被拉低,负载RL不工作。

当I/O为低电平时,三极管不导通,MOS管通过电阻R3,R4分压,为栅极提供合适的阈值电压,MOS管导通,负载RL正常工作……

实例分析stm32单片机六大滤波算法(作者:liuxiaofei126)

在某些特定场合,不可避免地要用到数学运算,尽管单片机并不擅长实现算法和进行复杂的运算。下面主要是介绍如何用单片机实现数字滤波。

在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。

为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。

一、采用数字滤波算法克服随机干扰的误差具有以下优点:

二、限幅滤波算法

该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值A进行比较。

A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次采样有效;否则取上次采样值作为本次数据的样本。

算法的程序代码如下……

单片机编程:如何“喂狗”的灵魂拷问...(作者:嵌入式客栈)

单片机程序写那么多,看门狗狗天天见,你的狗狗养的对么?不停的“喂狗”,只要狗不叫就完了嘛?真是这样么?事实上可能不是你想的那么简单.....

看门狗也称为看门狗定时器,本质上是一种定时电路或者软件定时器机制。

工作原理:

看门狗的硬件基础是一个计数器,该计数器被设置为某个定时初值,然后递减至零。软件负责经常将计数重置为其定时初值,以确保计数永远不会达到零。如果确实达到零,则意味着某种故障发生,该采取对应措施应对,或重启或进入失效安全状态,具体取决于系统的设计。

通俗讲也称为喂狗,这个定时值相当于狗粮,狗狗吃饱了,胃里不断消耗狗粮,如果在消耗完之前没有在喂狗粮,再狗狗饿得直叫唤,发出预警消息。反言之,一个一直正常工作的系统,其看门狗总是被喂养的很好,不会饿了狂叫。

看门狗机制在电子系统中作用非常之重要,这里举个极端的栗子,火星车如果程序挂了,就相当于失联,如果没有看门狗电路。你想象一下是什么场景,无法通讯无法唤醒,秒变太空垃圾~

原因万万千,憋慌!你还有个好狗狗在帮你,让看门狗来收拾残局吧。在一个复杂的嵌入式系统中,不可能保证没有bug,但是通过使用看门狗,您可以保证没有任何bug会无限期地挂起系统。

常见的处理策略有哪些呢……

STM32单片机最小系统详解(作者:程序员小哈)

STM32F103RCT6:

STM32F103RCT6是一种嵌入式-微控制器的集成电路(IC),32位Cortex-M3内核处理器,速度是72MHz,程序存储器容量是256KB,程序存储器类型是FLASH,RAM容量是48K,封装LQFP64。

STM32单片机命名规则:

STM32单片机最小系统:

所谓单片机最小系统,就是让单片机能够正常运行,最少且必须的器件所组成的系统。

单片机最小系统上电之后,单片机可以正常复位,下载程序,除此之外没有其他任何功能。

在最小系统保证正确的基础上,可以依次添加其他功能模块或器件,使之单片机具有实际功能。

STM32单片机最小系统包括一个复位电路和一个时钟电路。如下图1所示。

图中复位电路使用的是上电复位电路,STM32单片机NRST引脚输入低电平,则发生复位。

标题图1STM32F103单片机最小系统

电源引脚:

VDD是单片机的数字电源正极,VSS是数字电源负极,共有5个VDD引脚,5个VSS引脚。VDDA是单片机的模拟电源正极,负责给内部的ADC、DAC模块供电,VSSA是模拟电源负极。

还有一个电源引脚,就是VBAT,BAT就是Battery(电池),这个引脚用来连接电池的正极的。STM32带RTC功能(实时时钟),所以有VBAT引脚。

原理图上预留了一个CR1220纽扣锂电池,当主电源供电存在的情况下,由系统中的VCC3.3给VBAT供电;

当主电源断电之后,由CR1220纽扣电池给STM32自带的RTC模块供电,从而能够保证实时时钟模块在主电源掉电的情况下还能够正常工作。

但是这样设计的话,这里有一个矛盾需要解决。如果VBAT引脚直接与VCC3.3和CR1220连接的话,会存在下面问题:

1、当电池电压高于3.3V,电池就会输出电流到AMS1117,使得芯片发烫,还会很快消耗电池电量。

2、如果电池电压低于3.3V,AMS1117产生的3.3V,就会给电池充电,而这种CR1220电池是不能够充电的。

为了解决上面问题,我们将VBAT引脚的供电电路设计如下:

D1防止电池的电流流向AMS1117,D2防止AMS1117产生的3.3V流向电池。

之所以这样设计,用的就是“二极管的单向导通性”。

正常产品设计的时候,每个电源引脚旁边,最好放置一个0.1uF的电容滤波,用来滤除电源的噪声杂波。

复位引脚NRST

复位就是重启。STM32复位引脚是低电平复位,正常工作状态,复位引脚是高电平。

单片机的置位和复位,其目的都是为了把电路初始化到一个确定状态。复位时在单片机内部单片机是将存储设备和一些寄存器装入生产厂商预设的一个值。一般来说,单片机复位电路的作用是把一个状态机初始化到一个空的状态……

STM32单片机PVD(掉电检测)的介绍及其重要作用(作者:玩转单片机与嵌入式)

有时在一些应用中,我们需要检测系统是否掉电了,或者要在掉电的瞬间需要做一些处理。STM32就有这样的掉电检测机制——PVD(ProgrammableVoltageDetecter),即可编程电压检测器。通过PVD我们可以设定一个基准电压,当芯片的供电电压高于或低于该基准电压时便产生PVD中断,我们可以在PVD中断里做一些处理。

PVD介绍

本文以STM32F1x为例,来说明PVD的使用。

用户可以利用PVD对VDD电压与电源控制寄存器(PWR_CR)中的PLS[2:0]位进行比较来监控电源,这几位选择监控电压的阀值。

通过设置PVDE位来使能PVD。电源控制/状态寄存器(PWR_CSR)中的PVDO标志用来表明VDD是高于还是低于PVD的电压阀值。

该事件在内部连接到外部中断的第16线,如果该中断在外部中断寄存器中是使能的,该事件就会产生中断。当VDD下降到PVD阀值以下和(或)当VDD上升到PVD阀值之上时,根据外部中断第16线的上升/下降边沿触发设置,就会产生PVD中断。例如,这一特性可用于用于执行紧急关闭任务。

由PLS[2:0]的介绍可以发现PVD的电压阈值共有8个等级,实际使用时可根据自己的实际情况进行选择。

PVD的作用

在实际做产品/项目的过程中,可能大家对PVD的作用会忽视掉,下面列举PVD的作用:

这个很好理解,可能业务上就有这个需求,或者可以利用这一点来完成低功耗设备的待机时长测试。

2.通知其他处理离线

假如设备中有由干电池供电的MCU1和由锂电池供电的MCU2,MCU1的部分功能可能需要MCU2来完成,MCU1需要知道MCU2是否离线(因为锂电池可拔插,可能随时被拔)。这种情况就可以在MCU2上利用PVD来通知MCU1。通知的方式有很多,例如串口直接通知另一方自己将要断电了。

PS:当然也可通过MCU2监听MCU1的电源来实现……

STC单片机入门使用KeilC51(作者:飞多学堂)

作为国货之光,STC单片机以其价格便宜、内置接口多等特性在一些大厂不屑一顾的角落茁壮成长。今天我们来学习一下基于KeilC51的开发环境搭建,然后编写一个简单的闪灯程序。

先对一些术语去魅:

我们使用STC-ISP作为烧录软件。

下载解压完后,不用安装,直接运行,界面如下:

界面非常的朴实无华,正好是酷炫吊炸天的反面。

STC-ISP这个软件除了烧录程序,还有它用,等会儿我们再说……

单片机如何能运行如飞?高效实现数学函数的方式!(作者:小麦大叔)

那么问题来了,有一个读者朋友的硬件平台无法使用IQMath,但是他要进行一些三角函数的运算,那么该如何自己动手实现呢?

下面我们来简单介绍一下整体的思路吧,因为硬件平台的资源比较紧张。

下面我们来详细介绍一下。

这个正弦函数表达式是这样的,

具体如下图所示;

正弦波

首先我们来简单分析一下这个波形:

其实不难发现,我们只要表示出这四分之一个波形的数据,其余剩下的波形都可以通过换算表示出来。

这样做就大大节省了查表法所需要的空间。

下面我们来介绍一下具体如何实现;

首先我们得搞清楚一个点,就是量纲,统一用归一化的形式来做。

而在实际的程序中,我们是无法这样去做的,这些数值我们期望通过整形类型去访问,所以我们要做到几点:

所以这里有必要先了解一下Q格式,用左移和右移去代替乘法和除法,提高运算效率;

对于X轴的数据,于是可以将[0,2π]细分成128,256,512或者1024等等;

这里我们先细分成1024等份,正如前面提到的,只需要选择前四分之一周期的内容即可……

STM32单片机和51单片机有何区别?(作者:巧学模电数电单片机)

单片机简单来说就是集CPU(运算、控制)、RAM(数据存储-内存)、ROM(程序存储)、输入输出设备(串口、并口等)和中断系统处于同一芯片的器件。

在个人电脑中,CPU、RAM、ROM、I/O这些都是单独的芯片,然后这些芯片被安装在一个主板上,这样就构成了我们的PC主板,进而组装成电脑,而单片机将这些都集中在了一个芯片上。

51单片机:

应用最广泛的8位单片机,当然也是初学者们最容易上手学习的单片机。

最早由Intel推出,由于其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,堪称为一代“经典”,为以后的其它单片机的发展奠定了基础。0151单片机特性51单片机之所以成为经典,成为易上手的单片机主要有以下特点:

从内部的硬件到软件有一套完整的按位操作系统,称作位处理器,处理对象不是字或字节而是位。

不但能对片内某些特殊功能寄存器的某位进行处理,如传送、置位、清零、测试等,还能进行位的逻辑运算,其功能十分完备,使用起来得心应手。

同时在片内RAM区间还特别开辟了一个双重功能的地址区间,使用极为灵活,这一功能无疑给使用者提供了极大的方便。

乘法和除法指令,这给编程也带来了便利,很多的八位单片机都不具备乘法功能,做乘法时还得编上一段子程序调用,十分不便。

51单片机缺点:

51单片机应用范围:

目前在教学场合和对性能要求不高的场合大量被采用。

使用最多的器件:8051、80C51。

STM32单片机:

由ST厂商推出的STM32系列单片机,行业的朋友都知道,这是一款性价比超高的系列单片机,应该没有之一,功能及其强大。

其基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARMCortex-M内核;同时具有一流的外设,1μs的双12位ADC,4兆位/秒的UART,18兆位/秒的SPI等。

在功耗和集成度方面也有不俗的表现,当然和MSP430的功耗比起来是稍微逊色的一些,但这并不影响工程师们对它的热捧程度。由于其简单的结构和易用的工具,再配合其强大的功能,在行业中赫赫有名。

THE END
1.软件算法英文怎么写软件算法用英语怎么说沪江词库精选软件算法用英语怎么说、英语单词怎么写、例句等信息 【计】 software algorithm 相似短语 application software 应用软件 compatible software 兼容软件 cross software 交叉软件 embedded software 嵌入式软件 hybrid software 混合软件 instructional software 教学软件 interface software 接口软件 https://www.hujiang.com/ciku/953558_1813029816/
2.9大AI编程软件助力开发者效率飙升!为了满足不同行业和领域的需求,AI编程软件应运而生,它们为开发者提供了丰富的工具和库,帮助构建和训练各种机器学习模型。今天,我们就来为大家推荐9款炙手可热的AI编程软件,它们分别是TensorFlow、PyTorch、Cody、Codeium、Dcoder、Keras、GitHub Copilot、Replit Ghostwriter和Tabnine。这些软件将帮助开发者在图像分类、https://aiqicha.baidu.com/qifuknowledge/detail?id=10115820238
3.数学计算器软件有哪些?数学计算器app推荐数学计算器软件即可以用来计算数学四则运算,也可以计算方程式、函数、几何图形等等。无论是中小学生还是大学生用户都可以使用,帮助你轻松解答数学公式!http://www.downcc.com/k/shuxuejisuanqi/
4.计算机视觉开发者必备:十大顶尖工具深度解析Keras是一个运行在TensorFlow之上的高级神经网络API,它抽象了构建深度学习模型的复杂性,非常适合初学者。Keras允许开发者快速原型化模型,如图像分类、物体检测甚至更复杂的分割任务,而无需深入了解深度学习算法。 对于更有经验的开发者,Keras仍然是一个有用的工具,用于在深入定制之前快速原型化模型。Keras简化了流程,同时https://www.51cto.com/article/804373.html
5.2024年推荐算法效率开发必备工具榜单算法软件算法软件有哪些WakaTime 是一款轻量级工作统计软件,其通过插件配置的方式内嵌到开发常用的办公开发软件中,在无感知的情况下统计相关工作时间,推荐算法场景下,常用的 Pycharm、Idea、CLion、VS Code、Word、Excel、PowePoint、iterm2、Sublime Text 等均适配 WakaTime。每天各个项目的开发时长、每天浏览网页与编码时间的对比、每日代码语言https://blog.csdn.net/2401_87225440/article/details/142346207
6.用什么软件写算法–PingCode推荐算法工程师日常使用中非常多的就是 Tensorflow、Keras、Pytorch、Sklearn、Numpy、Pandas 等,其中深度算法模型主要通过 Tensorflow 实现,由于 TF 不同版本的限制,用户使用 Pycharm 配合 Anonconda 可以轻松实现多 python 环境的构建,从而从容的切换多个 TF + PY 环境,实现多环境快速切换,效率开发。https://docs.pingcode.com/docs.pingcode.com/ask/25827.html
7.像那些付费软件的注册算法一般是用什么算法?delphi2007像那些付费软件的注册算法一般是用什么算法?如果我想给我的软件加密,使用那种算法比较好?前辈们给点意见啊 //转贴 DELPHI程序注册码设计 当你辛辛苦苦用DELPHI做好了一个你认为十分不错的程序,你是否想把它发布出去成为共享软件呢? 做为一个共享软件,注册码肯定是少不了的,你可以通过判断程序是否注册来进行功能,http://blog.chinaunix.net/uid-20747930-id-721498.html
8.电梯群控软件设计用什么算法做更好全国我建议用模糊算法。虽然现在用遗传算法的人很多,但是模糊算法比遗传算法简单易懂,坐起来容易上手 https://www.1633.com/ask/237776.html
9.这50道操作系统面试题,真牛批!腾讯云开发者社区解释一下什么是操作系统 操作系统是管理硬件和软件的一种应用程序。操作系统是运行在计算机上最重要的一种软件,它管理计算机的资源和进程以及所有的硬件和软件。它为计算机硬件和软件提供了一种中间层,使应用软件和硬件进行分离,让我们无需关注硬件的实现,把关注点更多放在软件应用上。 https://cloud.tencent.com/developer/article/1815965
10.算法动画图解app苹果版下载Algorithms算法动画图解i算法动画图解适合什么人群使用? 1、IT和软件行业的人士 无论是网站创建还是网站管理,游戏开发或系统开发,当使用计算机作为团队工作或与客户一起工作时,广泛的编程和信息安全知识至关重要。用“算法动画图解”,你可以加强这些基础知识。 2、对编程和信息技术感兴趣的人 https://www.ddooo.com/softdown/159873.htm
11.100个网络基础知识普及,看完成半个网络高手27)什么是私有 IP 地址? 专用IP 地址被分配用于内部网。这些地址用于内部网络,不能在外部公共网络上路由。这些确保内部网络之间不存在任何冲突,同时私有 IP 地址的范围同样可重复使用于多个内部网络,因为它们不会“看到”彼此。 28)什么是 NOS? NOS 或网络操作系统是专门的软件,其主要任务是向计算机提供网络连接,以https://www.ahstu.edu.cn/wlzx/info/1115/2156.htm
12.汽车行业车载智能计算平台深度研究:架构趋势格局特斯拉一直以来都是自动驾驶领域的领路人,软件部分视 觉算法能力全球领先。硬件部分,早期特斯拉基于 Mobileye EyeQ4 芯片实现 ADAS 级别应用,2015 年后转用 英伟达 Xavier 芯片开发 L2 级别自动驾驶,然而外采方案下芯片核心架构在芯片厂商手中,特斯拉自主开发受 限,难以实现软硬件充分适配,因此特斯拉决定自研芯片 SoC,https://www.dongchedi.com/article/7131900552548139560
13.浅析CRC算法在软件加密保护中的应用2、用CRC校验算法,对注册名和注册码进行变形运算和判断,以此做为注册保护和授权的手段。 这两种方式在软件保护上的运用十分广泛。可以说,每一种软件加壳(加密)保护软件(如upx,Aspack,FSG等)都使用了CRC进行自身校验保护。 为了证明CRC在软件加密保护上的效果,我制作了一套测试用例,大家可以在http://www.xxx.comhttps://www.jiamisoft.com/blog/21586-crcsf.html
14.算法软件工程师和后端工程师有什么区别算法软件工程师 后端工程师 岗位职责:1、负责电源产品控制系统建模;2、负责核心控制算法研究;3、负责制定公司相关产品控制算法迭代升级规划,并组织实施;4、负责控制算法实现过程中的技术攻关及疑难问题解决;5、负责组织构建公司相关产品控制算法仿真平台;6、完成上级领导交付的其他任务。岗位要求:1、电力电子与电力传动、https://www.jobui.com/salary/pk/fuzhou-suanfaruanjiangongchengshi-pk-fuzhou-houduangongchengshi/
15.什么软件可以免费打开OFD文件?这个软件用一次就爱上什么软件可以免费打开OFD文件?OFD格式文件是国家自主设计研发的版式格式文件,在研发设计上比PDF文件多增加了一层加密算法,因此更加稳定安全?国家也大力推行OFD格式文件进行公文传输?文件通知等等?刚接触OFD格式文件的职场人很头疼,收到大量的OFD格式文件却没有合适的阅读器软件可以正确打开OFD格式文件?小编上网了https://www.foxitsoftware.cn/company/product/4146.html
16.比特币挖矿选择什么软件比较好十大值得使用的比特币挖矿软件一览比特币挖矿是一种通过计算机处理复杂算法来验证比特币交易并获取新的比特币的过程。选择一个好的挖矿软件是非常重要的,它可以帮助您提高挖矿效率,并获得更多的比特币。以下是十个值得使用的比特币挖矿软件,它们在市场上得到了广泛 。 币界网报道: 比特币挖矿是一种通过计算机处理复杂算法来验证比特币交易并获取新的比https://www.528btc.com/e/action/ShowInfo.php?classid=38&id=101869
17.用AI算法一键“脱掉”女性衣服,这软件太可怕了!Deepfake,一个利用AI算法的换脸软件,却被别有心者用于色情目的。最近,更有Deepfake的升级版Deepnude流出。 据美国科技媒体Motherboard报道,一名程序员最近开发出一款名叫DeepNude的应用,只要给DeepNude一张女性照片,借助神经网络技术,软件可以自动“脱掉”女性身上的衣服,显示出LUO体照片。 https://www.jianshu.com/p/bd694c2bdda3
18.计算机水平考试机试题A、 应用软件 B、软件系统 C、操作系统 D、系统软件 9、数码相机摄取的图像一般保存在CF或(D)卡上,可以与计算机的USB通信端口连接。 A、CCD B、VCD C、RAM D、SM 10、在powerpoint2003中,在“设置放映方式”对话框中,不可设置的放映类型是(C )。 https://www.ruiwen.com/shiti/2687168.html
19.网赌大数据分析工具(网赌数据库)大数据分析一般用什么工具分析? 大数据分析是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据分析产生的其他例子包括购买交易记录,网络日志,病历,军事监https://www.jiandaoyun.com/article/post/13404.html
20.集合因子最短路径算法在软件测试中的应用AET摘要:当前软件普遍采用爬虫程序完成部分测试功能,分析当前测试用的爬虫程序,发现耗时最多的是查找可用路径。为了避免撒网式的、无明确目地的、重复查找,提出了将集合因子最短路径算法应用于当前的爬虫程序中,以改善并提高爬虫程序在软件测试中的效率和有效性。此算法可以大大缩减爬虫程序在查找有效可用路径的时间,提高整个http://www.chinaaet.com/article/3000024472