自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

翻译 STM32学习100步之第九十四-九十五步——看门狗

看门狗看门狗是什么看门狗定时器(WDT, Watch Dog Timer)是单片机的一个组成部分,它实际上是一个计数器,一般给看门狗计数值,程序开始运行后看门狗开始倒计数。如果程序运行正常,过一段时间CPU应发出指令让看狗复位,重新开始倒计数。如果看门狗减到0就认为程序没有正常工作,强制整个系统复位。看门狗是一个计数器启动后开始倒计时每过一 段时间CPU要重新写入计数值(喂狗)?CP...

2019-07-19 15:50:15 1344

翻译 STM32学习100步之第九十六步——定时器的其他应用

定时器的3种功能1、捕获器:测量波形的频率和宽度2、比较器:分为模拟比较器和输出比较器模拟比较器:比较两组输入电压的大小(STM32F103无此功能)输出比较器:产生可调频率和可调占空比的脉冲波形3、PWM:脉宽调制器,产生固定频率但占空比可调的脉冲波形其中PWM功能前面已经介绍,下面介绍其他功能普通定时定时器可以用于独立时间计时功能,原理和嘀嗒定时器、看门狗基本相同。定时时间到...

2019-07-18 23:17:08 682

翻译 STM32学习100步之第八十九步-第九十一步——加速度传感器MPU6050

MPU6050传感器MPU-6000 ( 605Q)为全球首例整合性6轴运动处理组件,相较于多组件方案,免除了组合陀螺仪鸟加速器时间轴之差的问题,减少了大量的封装空间。当连接到三轴磁强计时,MPU-60X0提供完整的9轴运动融合输出到其主I2C或SPI端口(SPI仅在MPU- 6000上可用)。MPU6050封装如下:其模块化PCB板以及引脚定义:具体6轴旋转示意图如下:MPU6...

2019-07-18 17:33:00 2061

翻译 STM32学习100步之第八十六步-第八十八步——温湿度传感器DHT11

温湿度传感器DHT11DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传 感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高 的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快 响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的 湿度校验室中进行校准...

2019-07-18 14:55:04 5485

翻译 STM32学习100步之第八十三步-第八十五步——定时器与PWM模块

定时器定时器本质上是一个以单位时间为准的计数器,计数值可从0开始累加,也可从一个设定数值递减。每隔一个固定时间计时器的值加1或减1,当加到(或减到)到头时,会产生一个溢出信号,并将计时值清0重新计时。利用定时器溢出可产生总周期,利用PWM可以调制该周期的占空比。对于我们的STM32F103定时器的计数方式如下:STM32F103通用定时器(TIM 2、3、4)STM32F103xx增...

2019-07-18 01:35:55 1470 2

翻译 STM32学习100步之第八十二步——舵机

舵机的应用舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。目前,在高档遥控玩具,如飞机、潜艇模型,遥控机器人中已经得到了普遍应用。舵机的原理图:通过向单片机的一个端口,产生PWM波驱动舵机转动的角度。其具体转动原理如下图的PWM波:一个PWM波的周期是20ms,当高电平是0.5ms是转动0°,当高电平是2.5ms时转动180°,可以按照比例关系,将...

2019-07-17 20:19:12 763

翻译 STM32学习100步之第七十二-七十六步——外部中断、其驱动函数以及嵌套中断

中断所谓的中断是对于CPU而言,简单说起来就是当没有中断触发时,CPU处理main()中或其他不是中断函数,一旦中断触发(相应的中断标志位变化),CPU会立即退出现在正在执行的main()函数,转而执行中断函数内部的内容(名称不可修改)。其中事件不需要CPU的参与,需要特定的硬件电路连接。外部中断外部中断/事件控制器(EXTI)外部中断/事件控制器包含19个边沿检测器,用于产生中断/事...

2019-07-17 17:47:59 947

翻译 STM32学习100步之第七十七-七十八步——阵列键盘原理

阵列键盘阵列键盘的产生是为了节省单片机的IO端口,利用循环扫描的方式逐一扫描键盘的状态(方法不唯一,这里以反转扫描法介绍)。这里用反转法扫描。这个图表的意思是当某个按键按下时对应的线路接通,比如,让5按下时,则b与2线连通。所谓反转扫描,即先设定PA0-PA3为上拉电阻输入模式(没有按键按下时,IO端口为高电平),设置PA4-PA7为推挽输出模式,输出低电平0。再在设定PA0-PA3为推挽...

2019-07-17 14:34:41 2392 2

翻译 STM32学习100步之第七十二-七十六步——U盘、TF卡与单片机的通信(利用SPI总线通信)

SPI通信由图中可以看出,SPI有四条主要的信号线,即MISO(主机输入从机输出)、MOSI(主机输出从机输入),CS是对于从机而言的,当为0时,允许通信,由主机控制是否选通,另外可以使用单片机的IO端口控制多个SPI设备,只需要接至各个SPI设备的片选端即可。SCK是主机发出的时钟,接从机的时钟信号,在这种时钟信号(上升沿或下降沿)时传输数据,需要注意的是所有的SPI设备都需要共地。SPI...

2019-07-17 02:44:32 2598

翻译 STM32学习100步之第六十五-六十八步——ADC

ADC在单片机等硬件电路中,数据是以二进制数存储的(因为各种寄存器的位数决定了存储的方式),外界的模拟量(连续量无法存储在单片机中),对于单片机的各个端口只存在输出数字逻辑电平0、1,一般对应于模拟量就是0V和供电电压,如何将连续的电压值存储呢?这就用到了量化的概念,将参考电压(有时就是电源电压)在相应的ADC转换结果寄存器中所有值都设置成1,而零点电压全部设置成0,参考电压和GND电压按线性比...

2019-07-16 14:52:08 578

翻译 STM32学习100步之第六十一-六十四步——CAN总线协议

CAN总线介绍CAN是Controller Area Network的缩写(以下称为CAN)是ISO国际标准化的串行通信协议。由德国电气商博世公司在1986年率先提出。此后,CAN通过ISO1 1 898及IS011519进行了标准化。现在在欧洲已是汽车网络的标准协议。CAN协议经过ISO标准化后有两个标准: ISO1 1 898标准和ISO11519- 2标准。其中ISO1 1898是针...

2019-07-16 00:41:16 1379

翻译 STM32学习100步之第五十九-六十步——RS232与RS485通信。

RS232和RS485都是基于USART通信,是通信协议,基本原理在软件配置上相差不多,下面是连接原理图:RS232RS232是将单片机的TTL电平通过专门的芯片转换为RS232电平,在接收端,再将RS232芯片转换为单片机的TTL电平即可。其发送和接收大体上和USART相同,USART3的两个端口和PB10、PB11端口复用,硬件连接如下图:。RS485RS是一种总线模式,输出两条...

2019-07-15 15:10:24 2221

翻译 STM32学习100步之第五十七、五十八步——步进电机模块

什么是步进电机?步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从...

2019-07-15 12:09:21 2054 1

翻译 STM32学习100步之第五十六步——继电器模块模块

继电器所谓继电器就是一个开关电路,给线圈通电,利用电流的磁效应产生磁场吸合开关。具体怎么利用单片机来控制继电器,原理图如下:其中ULN2003为达林顿管,有很强的驱动能力,因为单片机输出的电流特别小,不足以使继电器能够产生强大的吸引力。内部结构如下:具体开发板连接如下:具体的三个输出接口接到了三个端口上面(某一时刻必然有两个端口是连接在一起的即构成了通路),注意这里的端口的电流特别...

2019-07-14 21:02:03 14289 2

翻译 STM32学习100步之第五十二-五十五步——OLED显示模块

我们学习的OLED的主控芯片是SH1106,并且的我们的OLED是64×128点阵。其中的行划分是按照每8个纵列划分,即每行有8列,方便以字节为单位整体操作。硬件连接电路如下:具体的操作函数分别如下:初始化函数:void OLED_DISPLAY_ON (void){//OLED屏初始值设置并开显示 u8 buf[28]={ 0xae,//0xae:关显示,0xaf:开显示 ...

2019-07-14 17:56:20 3046 1

翻译 STM32学习100步之第四十九-五十一步——I²C总线协议及其应用

I²C通信协议I²C底层协议较为复杂,作为初学者只需要掌握初始化和调用函数即可,该总线的作用是单片机和各个芯片之间进行通信,它们之间的通信有一种协议。连接原理图如下:...

2019-07-14 13:50:44 1157 1

翻译 STM32学习100步之第四十七-四十八步——旋转编码器驱动程序

旋转编码器旋转编码器是一种可以左右旋转,同时也可以按下,也可以按下旋转的器件,通过左右旋转对应着内部不同开关的导通,同时按下也可以旋转,由此看来旋转编码器可以实现很复杂的功能,简单的通过左右旋转可以调节音量、亮暗等功能,按键可以发挥普通按键的作用,按下按键的同时左右旋转又可以区别普通旋转的按键,因此可以用一个旋转编码器同时调节音量和亮暗(举例),同时也可以通过不同的转速实现不同的功能,总之,功能...

2019-07-13 23:55:06 5209 1

翻译 STM32学习100步之第四十五-四十六步——数码管驱动程序

TM1460芯片的介绍管脚封装如下:管脚功能如下:对于初学者只需要掌握会使用初始化函数和相应函数的调用即可(底层是根据I²C和单片机的通信协议编写)。数码管驱动的初始化函数如下: RTC_Config(); //RTC初始化 TM1640_Init(); //TM1640初始化这里初始化默认的是固定地址模式,即每调用一次display函数,点亮一个数码管的位,如果需要改变地址自...

2019-07-13 21:36:22 1638

翻译 STM32学习100步之第四十三、四步——触摸按键相关程序

触摸按键的长按以及单击、双击、三击、四击程序长按的本质是限定一段时间内电平均保持低电平有效,而双、三、四击都是根据递推关系,即双击是在单击的基础上进一步判断,以此类推,写程序时,只需要加一个标志变量,多加到for语句的判断条件即可,即for(b=0;b<count&&a==常量;a++)即可达到具体要求。在写程序时,先判断是否为长按,再进一步递推,逐渐判断即可。程序如下:...

2019-07-13 17:28:04 1008 1

翻译 STM32学习100步之第四十二步——触摸按键驱动程序

触摸按键芯片TTP223-BA6芯片介绍如下:单触摸键检测IC概述:TTP223是触摸键检测IC,提供1个触摸键。触摸检测IC是为了用可变面积的键取代传统的按钮键而设计的。低功耗和宽工作电压是触摸键的DC和AC特点。触发模式:输出有锁存。直接模式:输出无锁存。下图是选择哪种模式的组合:芯片的连接方法如下:其中J3区域在画PCB板时,在板子的触摸按键区域覆铜即可,并且此线和其他...

2019-07-13 13:11:09 1523

翻译 STM32学习100步之第四十一步——RCC时钟设置

RCC时钟晶振对于单片机的正常工作必不可少(单片机内部有许多时序逻辑电路模块),STM32F103也不例外,它内置了8MHZ的高频晶振,同时也有外部高速晶振(我们开发板采用了8MHZ的高速晶振),另外还有一个32.768KHZ的高速晶振经分频之后提供给RTC时钟做时钟信号。通过配置RCC相关的寄存器可以选用不同的晶振模块,同时还可以选择PLL锁相环的倍数,最终决定单片机主频频率是多少,我们主频...

2019-07-12 23:52:13 2036

翻译 STM32学习100步之第三十九-四十步——RTC实时时钟

RTC介绍RTC和后备寄存器通过一个开关供电,在Voo有效时该开关选择Voo供电,否则由VBAT引脚供电。后备寄存器(10个16位的寄存器)可以用于在关闭Voo时,保存20个字节的用户应用数据。RTC和后备寄存器不会被系统或电源复位源复位;当从待机模式唤醒时,也不会被复位。实时时钟具有–组连续运行的计数器,可以通过适当的软件提供日历时钟功能,还具有闹钟中断和阶段性中断功能。RTC的驱动时钟可以...

2019-07-12 17:59:31 1288

翻译 STM32学习100步之第三十三-八步——USART串口介绍

USART串口发送的三种方式 发送方式如果以字符方式发送,则按照ASCLL码表中该数值对应的字符发送即可,也可使用‘u’加单引号的方式发送。 /* 发送方法1 */ USART_SendData(USART1 , 0x55); //发送单个数值 while(USART_GetFlagStatus(USART1, USART_FLAG_TC)==RESET)...

2019-07-12 11:08:23 636

翻译 STM32学习100步之第三十二步——MIDI音乐程序

什么是MIDI音乐HIDI(Musical Instrument Digital Interface)乐器数字接口是20世纪80年代初为解决电声乐器之间的通信问题而提出的。MIDI是编曲界最为广泛的音乐标准格式,可称为“计算机能理解的乐谱”。它用音符的数字控制信号来记录音乐。一首完整的MIDI音乐只有几十KB大,而能包含数十条音乐轨道。几乎所有的现代音乐都是用MIDI加上音色库来制作合成...

2019-06-04 23:52:08 4465

翻译 STM32学习100步之第三十一步——蜂鸣器的使用

蜂鸣器分为两种:无源蜂鸣器:内部没有频率发生电路,需要外部提供频率工作,可产生不同频率的声音(stm32f103便是这种方式,发出不同频率的声音),成本较低。有缘蜂鸣器:内置频率发生电路,通电就能发出声音,声音频率固定,成本高。两种蜂鸣器从外观上看几乎没有区别,要通过型号分辨。单片机教学一般采用无源蜂鸣器,通过程序的编写发出不同的声音,还可以制作HIDI音乐或电子琴。蜂鸣器的的电路符号...

2019-06-04 23:00:51 4198

翻译 STM32学习100步之第三十步——FLASH读写程序

STM32单片机程序与数据的存储:一般来说,我们所编写的程序,下载到单片机内部的存储器中的Flash存储器,它是一种非易失性存储器,断电后,程序不会丢失。而在程序运行过程中所产生的数据,都存储在SRAM存储器中,它是一种易失性存储器,一旦断电,它的数据就会丢失,相当于复位重启。有时候断电之后再上电,我们需要程序保持着上一次运行的状态,这时就需要用Flash存储器存取保持的状态。Flash存储器...

2019-06-04 21:18:21 4404 4

翻译 STM32学习100步之第二十五步——GPIO端口的控制方法

STM32单片机的特点它不仅功能强大,而且与51单片机一个很大的不同点便是,STM32单片机有许许多多的库函数,这些库函数将功能模块化,我们只需要知道各个库函数的功能,以及怎么调用它即可,至于它内部是怎么编写、封装而成,我们并不关心,只需会用即可,使用的时候,可以查阅相关的数据手册,不需要背会,比较方便。点灯程序的原理这里的灯便是我们所说的发光二极管,一般来讲,我们使用共阳极接法,即将所有的...

2019-06-04 19:26:52 3813

翻译 STM32学习100步之第八步——调试模式和定时器

1、[调试模式2、[定时器]调试模式所谓调试的过程便是,写好程序然后用Keil进行编译,编译好之后,再利用isp烧写程序,将程序下载进单片机,让程序“跑”起来看效果如何,如果有问题,我们就修改程序,再重复上述过程,这样便显示的格外麻烦 ,而且不能观看过程中每个数值以及寄存器值的变化情况。处于以上原因,单片机公司特别的推出了调试模式,只需要连接相应的调试接口,便可在相应的界面观看数值和寄存器...

2019-05-19 16:07:27 2502

翻译 STM32学习100步之第七步——DMA和I/O端口

1、[DMA]2、[I/O端口]DMA模块使用DMA(直接存储器的访问)模块的目的在于提高效率,它的优点在于DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程,通过硬件为RAM与I/O设备开辟一条直接传送数据的通路,使CPU的效率大为提高。否则,CPU 需要从来源把每一片段的资料复制到暂存器,然后把它们再次写回到新的地方。在这个时间中,CPU 对于其他的工...

2019-05-19 15:17:28 2148

翻译 STM32学习100步之第六步——低功耗和ADC

1、[工作模式]2、[ADC模块]工作模式正常模式:系统正常工作,功耗最高。其他模式都是以低功耗、节能为目的而设定,可以使用特定的方法来唤醒CPU工作,根据不同的需求,有以下几种工作方式。休眠模式:该模式关闭了ARM内核。唤醒方式:所有内部、外部功能的中断/事件。停机模式:该模式关闭了ARM内核、内部所有的功能、PLL分频器、HSE。唤醒方式:外部中断输入接口EXTI(16个I/O之...

2019-05-19 14:31:18 2918

翻译 STM32学习100步之第五步——时钟、复位和电源管理

电源模块——电源电压范围:2.0V-3.6V,通常是3.3V(常用的稳压芯片是3.3V),若不在电压范围内,可能会使单片机不工作或者不稳定状态。——I/O口也基本和电源电压范围相同,有的可以承受5V电压,有的则不可以承受5V电压。复位模块——上电复位:打开电源的时候,复位一次——可编程的电压检测器:当单片机工作电压低于某一个电压值的时候,复位一次,保证单片机的稳定工作。时钟模块(重点)...

2019-05-19 13:40:52 1864

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除