自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PNP_NPN简析【软工理解后直接入门开发项目,专业硬件勿入】

NPN/PNP傻傻分不清,简单了解即可入门看懂电路图,进行代码编写并控制相关器件

2023-02-23 16:22:00 1436 1

原创 #STM32 3.根据官方库新建ARM工程

通过官方库文件,新建ARM工程,理论基础,可以不写,但是不能不知道

2022-09-02 00:30:15 466

原创 #STM32 2.寄存器位操作方法及GPIO点亮一颗LED

基础的GPIO输出方法,配合使用的寄存器BSRR ODR ,时钟控制RCC,寄存器位操作的方法列举

2022-09-01 16:47:12 810

原创 #STM32 1.从C51驱动一颗LED到认识ARM_GPIO(最浅显入门)

C51到ARM过渡期 ,最浅显打破入门壁垒,DOR BSRR等寄存器封装方法及来源

2022-09-01 11:44:06 578

原创 #C51 IIC通讯(底层配置时序)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、IIC核心知识点三、编程实现样例1:PWM+占空比软件调整1.设计思路:2.代码设计3.调试验证样例2:PWM+外部中断检测频率1.设计思路:2.代码设计3.调试验证总结前言IIC通讯:二线制SDA/SCL提示:以下是本篇文章正文内容,下面案例可供参考一、场景以AT24C02A(2Kb[256 *8]

2022-01-08 19:53:32 2663

原创 #C51中断定时(PWM输出+外部中断频率检测)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、PWM简介三、编程实现1.样例1:PWM+占空比软件调整1.3单总线控制DS18B202. 温度转换方式2.1 强制float型直接运算2.2 整数与小数分离3.代码框架设计总结前言C51单片机自身无PWM输出,可以借用T1定时中断输出一定频率的脉冲信号,且占空比可调,便于继续开发提示:以下是本篇文章正文内

2021-12-30 17:50:35 5056

原创 #C51中断计数功能(简单频率测量)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、编程实现设计思路代码设计总结前言T0/T1中断计数功能使用,及简单频率测量提示:以下是本篇文章正文内容,下面案例可供参考一、场景方案1:单位时间计数,如1s计数,即为频率。有误差,频率约高误差逐步减小,适用于精度要求不高的测量方案2:测周法:外部中断下降沿触发,第1个负跳变时打开定时器开始计数,第2

2021-12-30 03:23:11 1851 2

原创 #C51按键处理(外部中断的应用)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、编程实现总结前言了解外部中断触发方式及响应处理样例:外部中断INT0 && INT1处理按键事件提示:以下是本篇文章正文内容,下面案例可供参考一、场景样例功能:INT0按下计数+1,INT1按下计数-1,显示范围0~9999二、编程实现1.主函数:开机界面显示默认初值1234,

2021-12-30 02:20:54 6135

原创 #C51按键处理(初阶基础)

单个按键逻辑1.等待按下2.按键抖动2.1硬件消抖:电容2.2 软件消抖,延时消抖5-20ms3.有效按下4.松开抖动unsigned char key_num = 0;//充分考虑是否需要赋初始值0。任何局部变量建立后记得清0。标志法其它位置清0,或者每次进入函数体初始化清0。if(!key1){ delay(10); //消抖。缺点:进程占用,复杂程序影响其它时基。后续采用中断定时 if(!key1) key_num1 = 1; } while(!key1);//

2021-12-29 10:00:20 1687

原创 C51单总线器件编程实现(单个DS18B20为例)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、DS18B20简介二、使用步骤1.引入库2.读入数据总结前言C51单总线器件编程实现(单个DS18B20为例)提示:以下是本篇文章正文内容,下面案例可供参考一、DS18B20简介测量精度高 DS18B20 的测量范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C范围内,精度为 ± 0.5°C

2021-12-25 00:20:43 979

原创 C51单总线时序图分析与底层编程配置(DS18B20为例)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、编程实现1.初始化(复位)2.写入数据3.读数据4.测试总结前言单片机与外设之间的数据通讯常用的主要有:I2C、SPI、SCI总线。I2C:同步串行二线制(1时钟线1数据线)SPI:同步串行三线制(1时钟线1输入线1输出线)SCI:异步通讯(1输入线1输出线)单总线:1根线,既有时钟,又有双向数据提示:本章

2021-12-05 03:56:50 2084

原创 #C51串口通讯5-#一串数据#中断定时+超时接收+接收应答+CRC校验

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、场景二、编程实现1.自定义协议2.代码设计3.测试验证总结前言提示:1.在#3章基础上,中断定时+超时接收2.增加CRC校验方式及接收应答处理提示:以下是本篇文章正文内容,下面案例可供参考一、场景示例:主机下发命令,从机解析并应答,CRC校验二、编程

2021-12-04 21:24:47 1587

原创 #C51串口通讯4-#一串数据#中断即时解析用户自定义协议(握手接收应答)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2021-12-03 02:57:24 1336

原创 #C51串口通讯3-#一串数据#中断即时解析用户自定义协议

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、场景二、代码设计1.逻辑构思2.读入数据总结前言1.上一章(中断定时+超时接收)的设计逻辑基础上,进一步贴近“用户自定义协议”。实际开发中,往往通过一串有效数据的帧头来选择接收与解析。2.本章调试目的是:判断帧头来接收/处理一串数据3.大多情况下,选用“增大帧头的特征字节”的方式来判断一串数据,避免帧头与数据区字节重合的现象提示:以下是本篇文章正文内容,下面案例可供参考一、场景示例一串数据:固定帧头(AA

2021-11-28 21:59:27 4202 1

原创 #C51串口通讯2-#一串数据#定时中断实现超时接收(推荐)

简介目的实现一串非固定长度的数据接收,并返回对应数据(数据解析的基础框架)设计思想借助T0定时器,不断的计数+1接收到一帧数据(1Byte)后,串口中断服务函数将定时器T0计数清0(类似喂狗),并创建一个计数标志一帧数据(1Byte)长度约为1.04ms[9600bps,1,0,1]。当串口中断数据接收完毕后,短时间无有效数据接收并进入中断服务函数,此时T0计数器不被清0,不断累加持续检测到大于固定时间时,认为此刻一串数据已传输完毕。固定时间间隔一般设置3-5倍的一帧数据长度(1.04ms

2021-11-23 00:31:29 5601

原创 #C51串口通讯1-#一串数据#接收与发送(基础概念)

设计思路1 中断服务函数传输一帧数据(1Byte),寄存器SBUF2 建立缓冲区数组recv_buf[MAX_LENGTH]。其中,MAX_LENGTH***数组长度大小要大于实际接收的数据长度***。因为字符串结尾是’\0’,否则会出错unsigned char recv_buf[MAX_LENGTH];#define MAX_NUM 3 //一串数组数据最大的索引号#define MAX_LENGTH 4 //一个字符串数据实际长度 '\0'3 接收到固定数据长度的字节数时,置标志r

2021-11-21 09:09:55 4666

原创 多文件模块化设计与调用

1.不同文件,函数调用一个. c文件带一个. h文件c文件中负责函数定义及变量的定义,h文件中负责函数和变量的申明(不允许赋初值),以及常量和I/O口的宏定义举例:1. main. c:#include<reg51.h>#include"delay.h" //包含头文件void main(){ while(1) { Delay_Xms(); }}2. delay. c://函数定义void Delay_Xms(unsigned int xms)

2021-11-11 00:42:50 216

原创 RC电路充放电分析

RC电路充放电分析简介:电容隔直流特性,RC滤波电路原理,单片机上电复位直观分析1.RC微分电路1.零输入响应:输入信号为02.零状态响应:电路中所有储能原件及电源状态为0分析时,视作电压源短路,电流源开路上图,直流电源E,内阻r 。t=0时,对于电容而言,通电瞬间视作电压为0的电压源,等效于短路,电流最大(Icmax=E/(R+r))。通过电容电流及两端电压如下图。...

2018-11-10 11:57:29 1861

空空如也

空空如也

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

TA关注的人

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