- 博客(24)
- 收藏
- 关注
原创 存储器概念学习--STM32
概述存储器是计算机结构的重要组成部分,存储器是用来存储程序代码和数据的部件,有了存储器计算机才具有记忆功能。基本的存储器种类如图:存储器按其存储介质分为“易失性存储器”和“非易失性存储器”两大类,其中“易失/非易失”是指存储器断电之后,它存储的数据是否会丢失,由于一般易失性存储器存取速度快,而非易失性存储器可长期保存数据,它们都在计算机中占据着重要的角色,在计算机中易失性存储器最典型的代表就是内存,非易失性存储器的代表则是硬盘。1.RAM存储器RAM 是“Random Access Memory
2020-08-23 20:33:05
413
原创 STM32之DMA学习
概述:传统的DMA的概念是用于大批量数据的传输,但是我理解,在STM32中,它的概念被扩展了,也许更多的时候快速是其应用的重点。数据可以从1~65535个。直接存储器存取(Direct Memory Access,DMA)是计算机科学中的一种内存访问技术。它允许某些电脑内部的硬体子系统(电脑外设),可以独立地直接读写系统存储器,而不需绕道 CPU。在同等程度的CPU负担下,DMA是一种快速的数据传送方式。它允许不同速度的硬件装置来沟通,而不需要依于 CPU的大量中断请求。【摘自数据手册】现在越来越多的
2020-08-16 17:32:02
2650
原创 基于GSM的红外体温报警器
概述本次博客记录了基于GSM的SIM900A模块与红外体温测量传感器MLX90614模块构成的体温报警系统。1.MLX90614的SMBUS协议MLX90614有两种输出方式:PWM 输出、可编程 SMBus 输出,通过 SMBus 编程可以更改模块 EEPROM 内的预设值并按照应用要求进行配置,并可以读出 EEPROM 内的配置信息;还可以读出模块 RAM 内温度等数据。(1)MLX90614 的 SMBus 协议:(2)读器件(命令决定是读 RAM 或 EEPROM)数据格式(3)写器
2020-07-19 16:13:31
1076
原创 IIC通信协议
概述之前在学习DS18B20温度传感器过程中,采用了1-wire单线总线的数据传输模式,而最近刚到手的GY-906非接触式温度采集模块则是采用的IIC通信协议,由此我打算更深一步的了解IIC在51单片机的工作原理。1.IIC工作原理I2C总线是PHLIPS公司推出的一种串行总线,它只有两根双向信号线。一根是数据线SDA(serial data I/O),另一根是时钟线SCL(serial clock)。如下图所示,IIC总线上可以挂多个器件,而每个器件都有唯一的地址,这样可以标识通信目标。数据的通信
2020-07-12 19:42:18
829
原创 DS18B20的工作原理及调试
概述在基于51单片机的温度报警系统的学习中,我用到了DS18B20这款温度传感器。DS18B20是一种单总线数字温度传感器,测试温度范围-55℃-125℃,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。单总线,意味着没有时钟线,只有一根通信线。单总线读写数据是靠控制起始时间和采样时间来完成,所以时序要求很严格,这也是DS18B20驱动编程的难点。1.DS18B20的引脚分布图DS18B20采用1-wire Bus所有数据都在一条线上传输,因此单总线协议对时序要求非常严格以确保数据的完整性。单
2020-07-05 20:58:37
12671
原创 波特率初值的计算
概述在之前的GSM模块学习过程中与单片机进行连接时,要充分考虑波特率之间的对应关系,我们在以下程序中设置了定时器1的工作模式,采用了2:8自动重载。因为部分51单片机采用11.0592MHZ的晶振频率,而也有一部分采用12MHZ的晶振频率,这里为了提高程序的可移植性,故采用了#ifdef条件编译语句,通过我们设定的晶振频率设置不同的数值初始化串口。void SerialInti()//初始化程序(必须使用,否则无法收发){TMOD=0x20;//定时器1操作模式2:8位自动重载定时器#ifdef
2020-07-05 20:38:05
25395
1
原创 GSM模块的调试(二)
概述上次介绍了GSM模块直接与电脑进行通信,这次我来向大家介绍GSM与51单片机进行通信,实现打电话功能。这里建议大家最好先使用GSM模块与电脑通信,再来使用单片机与模块通信。1、SIM900A 模块与单片机的连接SIM900A 模块提供两组 TTL 接口,一组为 2.85V 的 TTL 接口,可以与 3.3V 单片机连接直接连接(已做了电平匹配);另一组为兼容各种电压的 TTL 电平,可以与 5V、3.3V,等单片机直接连接。连接时,需将 SIM900A TXD 与单片机的 RXD 相连接,SIM
2020-06-28 15:33:27
3539
原创 GSM模块的调试(一)
概述此次我使用的GSM是基于SIM900A芯片的通信模块,其功能和800A兼容(800系列是900系列的升级款)可以实现打电话,发短信,和服务器发送指令等功能。接下来将从GSM的工作原理及通过USB与电脑连接,通过上位机发送AT指令测试发英文短信来为大家介绍这个模块。1.GSM的工作原理GSM系统的组成GSM系统(Global System for Mobile Communication)又称全球移动通信系统(全球通)。GSM通信系统主要由移动交换子系统(MSS)、基站子系统(BSS)和移动台(M
2020-06-28 15:15:26
12130
原创 PCB设计(四层板初步)
概述之前绘制的51小系统开发板属于大家常见的两层板,这次突发奇想打算在两层板的基础上继续添加两层,构成四层板,也为了增强我们整套开发板的电气特性。1、四层板绘制在PCB设计里,一般默认是双层板,即Top Layer 与BOttom Layer,在信号要求比较高的情况下,为了排除干扰,信号线与电源线分开,这时候就需要设计四层甚至更多层的PCB板,以保证信号的完整性。在下图我们可以看到,只有Top Layer 与BOttom Layer,即两层板,点击Design->Layer Stack Man
2020-05-10 21:24:22
25311
1
原创 网络标号、总线+解决元器件绿色高亮问题(PCB阶段性总结)
概述在Altium Designer这个软件中,在设计层次原理图的时候。网络标号可以代替两 根线的连接,显得美观大方。但是在多个端口相连的时候,一般不会选择网络标号相连,而是选用总线设计。下面三种连接方式产生的效果是一样的。直接用线相连。如下图所示:使用网络标号相连。如下图所示:使用总线相连。如下图所示:从总线设计图中可以看出,总线设计也使用了网络标号。这是为什么呢?那是因为使...
2020-05-03 21:31:31
1878
原创 51单片机小系统板的绘制(2)
概述继上个博客51单片机最小系统的结构讲解完成后,我又在最小系统的基础上增加了以下几个功能模块:1.蜂鸣器电路2.LED模块组3.独立按键电路4.USB串口通信电路5.IIC电路(OLED四针接口)下面我将针对以上所增添模块电路外加原理图为大家逐一讲解:1.蜂鸣器电路当向P0.7写入逻辑1时,P0.7输出高电平(+3.3V),8550的基极电流为0,此时Q1处于截止状态,电源不...
2020-04-26 22:01:17
814
原创 51单片机小系统板的绘制
概述:首先贴上一张图,这是我最近完成的部分51单片机最小系统原理图,STC89C52封装为了节省整套板子的体积特地采用的LPFP44的封装。此封装与我们常见的双列直插DIP40封装不同的是LQFP44类型的封装多出了四个引脚,分别是P4口地址E8H,AD系列P4口COH,并且相对于DIP40来说,LQFP44多出了两个外部中断:P4.2INT3,P4.3INT2,P4口仍可以寻址。一,一讲解...
2020-04-19 20:27:04
1465
1
原创 PCB设计阶段性总结1(AD09)
接触AD09这款软件已经差不多3个月的时间了,从之前一个小白到现在已经设计了3块PCB板,我向大家分享一些关于PCB的规则和封装设计我总结的经验:1.首先针对PCB的设计,必须要具备的当然也算是一些入门基础就是电路的知识,以及一些单片机的知识,这些主要是针对原理图的设计,另外,对于一些初学者,如果电路知识不是很完善,可以通过查询一些元器件的官方数据手册,或者通过立创商城提供的原理图进行仿照,这...
2020-04-15 17:07:17
1091
原创 PCB设计(2)--USB系统研究
1.STM32F103ZET6最小系统修改(1)usb系统的研究由图可知,这块开发板的USB系统采用的microusb,而与USB系统直接相连的是TTL转RS232,这其中的部分必然包括着TTL转232通信协议,如果说想将USB系统microusb进行调换的话,则必然应该从原理图中的引脚定义下手;下面我整理了microusb的引脚定义,方便大家学习:DM是USB的数据线D-(白色线),DP...
2020-04-15 17:06:51
909
原创 RCC时钟系统精讲(基于野火教程)
RCC时钟系统(HSE和HSI配置)下面是STM32F103的内部时钟树1.首先,HSE 是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,当确定 PLL 时钟来源的时候,HSE 可以不分频或者 2 分频,这个由时钟配置寄存器 CFGR 的位 17:PLLXTPRE 设置,通常设置为 HSE不分频。以下介绍部分摘自STM32官方手册,我们从框图中可以看到,这里也给大家总计一下:首先是...
2020-04-12 20:40:16
885
原创 Altium desiger09之3D封装导入PCB方法加陈列式粘贴
概述之前一直在原理图的基础上添加2D封装,但往往一个板子画出来之后,光是2D角度,直观性不是很强,所以常常会采用添加3D封装的形式来绘制或者说完善我们的PCB板。常用的3D封装可以在这个网站下载。另外,我们也可以通过AD这款软件来绘制,或者是一些CAD3D软件和solidworks来绘制。不过由于最近的PCB网站不断地开发,有不少3D封装网站可以直接拿来用http://www.3dconte...
2020-04-05 20:03:59
1139
原创 STM32--定时器简述
概述这次是STM32中定时器部分的介绍,他与51系统的不同是定时器数量的增加以及寄存器的调用,说白了,库函数还是基于寄存器的。STM32F103系列的单片机一共有11个定时器:2个高级定时器、4个通用定时器、2个基本定时器、2个看门狗定时器、1个系统滴答定时器、除去看门狗定时器和滴答定时器,其他8个定时器列表:其中,TIM1和TIM8是高级定时器TIM2 - TIM5是通用定时器T...
2020-03-29 19:48:17
1083
原创 用按键点亮LED(STM32)
概述今天给大家介绍的是GPIO的其中一种输入模式——上拉输入。按键出现在很多的应用场景,按键处理更是一门学问。因此,小R给小伙伴们介绍GPIO的上拉输入模式并简单应用于按键实验中,通过判断按键的状态来控制LED灯的亮灭情况。首先,需要了解的是:当IO做输入使用时,通过调用函数GPIO_ReadInputDataBit()来读取IO口的电平状态。其次,按键是需要消抖滴。最后,既然是按键实验,就会...
2020-03-22 19:52:11
2936
1
原创 STM32--跑马灯例程
概述我们在编写跑马灯实验时点亮一个小灯需要四步:1.声明GPIO_InitTypeDef结构体2.使能 APB2 总线上的 GPIOC时钟3.赋值GPIO_InitTypeDef结构体的三个成员,通过GPIO_Init函数初始化GPIO的某一个端口4.GPIO_SetBits和GPIO_ResetBits两个函数拉高或者拉低I/O口实现小灯的亮灭1.I/O时钟的调用首先,我们在编写跑...
2020-03-15 20:04:48
1032
1
原创 stm32寄存器(四种输入输出方式)
浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了.开漏,就等于输出口接了个NPN三极管,并且只接了e,b. c极 是开路的,你可以接一个电阻到3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V电压了.但是不接电阻上拉的时候,这个输出高就不能实现了.推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻....
2020-03-10 16:32:37
4473
原创 STM32新建工程注意事项
学过51单片机的朋友们知道,在keil4中新建C51工程不过简单的那几个步骤。而我们在MDK中新建32工程时会发现步骤不仅冗杂,而且稍有不慎,极易出错。下面我总结了新建32工程重容易出错的几个步骤,供大家学习:1.我们在新建文件夹及子文件夹时应注意,Template.uvprojx 是工程文件,非常关键,不能轻易删除。Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存...
2020-03-08 13:46:10
544
原创 STM32环境的搭建(KEIL5)
1.keil5软件的安装STM32编程需要的环境是需要KEIL5的支持,对此,keil4在有些方面是不支持的,我们就以keil5 MDK版的安装,给大家讲解一下我在安装时遇到的各种问题:这里建议大家安装MDK版的,而且C51版的和ARM版的最好不要共同安装附上链接:pan.baidu.com/s/1Rcpnh0MfRLVEbrmTfPDskQ提取码:5gp62.安装过程具体可参照软件工程...
2020-02-23 16:52:12
1948
原创 STM32最小系统概述
概述STM32最小系统是由电源 复位 时钟 调试接口 启动的搭建组合。下面我主要以STM32F103ZET6这款MCU作为介绍给大家认识。1.主芯片部分主芯片部分采用的是ST公司系列下的STM32F103ZET6,是一种嵌入式-微控制器的集成电路,是由ST公司开发的STM32F1系列的其中一种,芯体尺寸是32位,速度是72MHz,程序存储器容量是256KB,程序存储器类型是F...
2020-02-23 15:52:47
6196
原创 PCB设计阶段性总结(3)
标题micro usb和mini usb的调换1.首先要了解micro和mini USB系统的构造,在之前说到,关于在PCB中调换一个或者一类元器件的话,可以直接从他的封装下手,不过这只是针对老手来说的,下面我总结一下如何从最基础的原理图下手,深入到PCB具体调换封装。2. micro usb的原理图如图,从其中五个引脚可看出,VCC和GND部分不必说,连接CH340模块的2、3引脚分别是D-...
2020-02-16 17:05:54
640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人