![](https://img-blog.csdnimg.cn/20190918140053667.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
51单片机
文章平均质量分 88
51单片机
乙酸氧铍
这个作者很懒,什么都没留下…
展开
-
12864 OLED屏显示日历
目录calendar.c测试程序效果普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 stdint.h见【51单片机快速入门指南】1:基础知识和工程创建 I2C版OLED驱动程序见【51单片机快速入门指南】4.2:原创 2022-01-18 06:59:19 · 753 阅读 · 0 评论 -
在51单片机上使用递归的注意事项
目录问题应对措施原理普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0问题 在Keil C51中直接使用递归会报如下警告: recursive call to non-reentrant function 原创 2021-11-11 06:57:01 · 2262 阅读 · 1 评论 -
适用于单片机的FFT快速傅里叶变换算法,51单片机都能用
目录源码FFT.cFFT.h使用方法效果其他部分的代码main.c普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0算法来自FFT算法的使用说明与C语言版实现源码 —— 原作者:吉帅虎移植十分简单,不依赖其他库,可自定义点数源码FFT.c/********************************************************************原创 2021-11-10 00:04:37 · 15464 阅读 · 23 评论 -
【51单片机快速入门指南】仿真实例:幅值可调、频率可调的函数发生器(方波、三角波、正弦波)(1~10kHz)
目录效果设计思路:STC89C52Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0效果0 ~ 5V ,50Hz的正弦波:1 ~ 4V,500Hz的三角波:1.5 ~ 3.5V,1000Hz的正弦波1.5 ~ 3.5V,5000Hz的方波1.5 ~ 3.5V,10000Hz的方波设计思路:&nbs原创 2021-12-05 10:33:16 · 5345 阅读 · 9 评论 -
【51单片机快速入门指南】9:省电模式(低功耗)
目录硬知识实验正常工作掉电模式空闲模式普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 摘自《STC89C52系列单片机器件手册》 仅支持掉电模式,不支持空闲模式 &nbs原创 2021-12-18 22:38:34 · 4626 阅读 · 4 评论 -
【51单片机快速入门指南】8:看门狗定时器(WDT)
目录硬知识测试程序main.c现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 摘自《STC89C52系列单片机器件手册》适用型号:STC89C51,STC89C52,STC89C53,STC89C14,STC89LE51,STC89LE52,STC89LE53,STC89LE14原创 2021-12-18 15:23:49 · 4982 阅读 · 0 评论 -
【51单片机快速入门指南】7:片上EEPROM
目录硬知识IAP及EEPROM新增特殊功能寄存器介绍EEPROM空间大小及地址小常识大建议常见问题普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 STC89C5x系列单片机内部集成了的EEPROM是与程序空间是分开的,利用ISP/IAP技术可将内部Data Flash当EEPROM,擦写次原创 2021-12-12 00:29:37 · 2906 阅读 · 1 评论 -
【51单片机快速入门指南】6.4:DHT11、DHT22单总线温湿度传感器
目录硬知识DHT11DHT22通信协议读取步骤数据解读DHT11DHT22示例程序DHT11_22.cDHT11_22.h测试程序main.c实验现象DHT11DHT22STC89C52Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识摘自《温湿度模块 DHT11产品手册》、《数字温湿度传感器 DHT22》典型原创 2022-01-14 21:21:21 · 6968 阅读 · 1 评论 -
【51单片机快速入门指南】6.3.1:使用1-WIRE搜索算法搜索单总线上所有DS18B20的ID(基于二叉树)
目录源码OWSearch.c测试程序实验现象Proteus仿真实机测试普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 移植自1-WIRE搜索算法 串口部分见【51单片机快速入门指南】3.3:USART 串口通信&原创 2021-12-06 23:38:19 · 918 阅读 · 0 评论 -
【51单片机快速入门指南】6.3:DS18B20 单总线数字温度计的多路读取
目录硬知识DS18B20介绍时序初始化时序写时序读时序命令ROM 操作命令ROM 搜索举例存贮器操作命令示例程序DS18B20.cDS18B20.h测试程序定时器中断服务函数单传感器时ID的获取 main.c单传感器读取温度和读取特定ID传感器的温度普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 &n原创 2021-12-06 06:58:07 · 3488 阅读 · 0 评论 -
【51单片机快速入门指南】6.2:SPI 、八线、四线控制 LCD12864 屏幕及Proteus的仿真(支持中文汉字)
目录示例程序LCD12864.cLCD12864.h测试程序显示图片main.c实验现象显示字符实验现象普中51-单核-A2STC89C52Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0移植自【STM32】STM32驱动 LCD12864程序代码(串行方式) —— Z小旋,其图片显示部分有修正。示例程序VSS原创 2021-12-05 05:28:36 · 4411 阅读 · 2 评论 -
【51单片机快速入门指南】6.1:LCD1602的八线、四线控制及自定义符号,完美兼容Proteus仿真
目录示例程序LCD1602.cLCD1602.h测试程序实验现象仿真现象八线制四线制普中51-单核-A2STC89C52Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0示例程序LCD1602.c#include <STC89C5xRC.H>#include "stdint.h"#include "原创 2021-12-05 03:58:16 · 4224 阅读 · 0 评论 -
SPI驱动0.96/1.3寸 OLED屏幕,易修改为DMA控制
目录OLED SPI 端口定义七针OLED引脚定义六针OLED引脚定义驱动程序oled.coled.holedfont.h使用main.c实验现象STC实验箱4IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0OLED SPI 端口定义本节引自STM32驱动0.96寸OLED液晶屏(12864液晶屏) —— 小牧同学两种屏幕的引脚数不一样,左边的有7个引脚,而右边的只有6个。其次,端口的原创 2022-01-10 08:19:36 · 4350 阅读 · 0 评论 -
【51单片机快速入门指南】5.3:SPI控制晶联讯JLX12864G_08602 LCD屏幕
目录示例程序JLX12864G_08602.cJLX12864G_08602.hJLX12864G_08602_Font.cJLX12864G_08602_Font.h测试程序main.c效果STC12LE5A60S2 12MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0示例程序 stdint.h见【51单片机快速入门指南】1:原创 2021-12-04 06:47:55 · 4035 阅读 · 0 评论 -
【51单片机快速入门指南】5.2:SPI读取 12位ADC XPT2046 芯片
目录硬知识ADC 简介分辨率转换误差转换速率ADC 转换原理逐次逼近型 ADC双积分型 ADCXPT2046 芯片介绍参考电压内部参考电压外部参考电压输入工作模式单端工作模式差分工作模式温度测量电池电压测量压力测量数字接口笔中断输出转换周期16 时钟周期转换数字时序15 时钟周期转换数据格式8 位转换模式示例程序XPT2046.cXPT2046.h测试程序main.c实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers原创 2021-12-04 03:35:35 · 8548 阅读 · 1 评论 -
【51单片机快速入门指南】5.1:SPI与DS1302时钟芯片
目录硬知识DS1302 简介DS1302 使用控制寄存器日历/时钟寄存器DS1302 的读写时序电路设计示例程序DS1302.cDS1302.h测试程序main.c实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10硬知识 摘自《普中 51 单片机开发攻略》原创 2021-12-03 23:23:48 · 1741 阅读 · 0 评论 -
【51单片机快速入门指南】5:软件SPI
目录硬知识SPI协议简介SPI接口介绍SPI接口连接图SPI数据传输方向SPI传输模式软件SPI程序源码Software_SPI.cSoftware_SPI.h普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 源于软件模拟SPI接口程序代码(4种模式)—— 内陆的原创 2021-12-03 15:06:56 · 3073 阅读 · 3 评论 -
【51单片机快速入门指南】4.6:I2C 与 PCF8563实时时钟日历芯片
目录硬知识概述特性功能描述报警功能模式定时器模式CLKOUT输出复位低电压检测器和时钟监视器低电压检测器和时钟监视器寄存器结构寄存器概述BCD编码格式寄存器概述Control/Status 1 寄存器(内存地址00H)Control/Status 2 寄存器(内存地址01H)Seconds,Minutes,Hours寄存器Days,Weekdays,Months/Century,Years寄存器Alarm寄存器LKOUT频率寄存器计数控制寄存器EXT_CLK测试模式上电复位(POR)override模式串行原创 2022-01-10 17:14:34 · 5514 阅读 · 0 评论 -
【51单片机快速入门指南】4.5:I2C 与 TCA6416实现双向 IO 扩展
目录硬知识IO 扩展芯片 TCA6416ATAC6416A 的寄存器IO 输入寄存器IO 输出寄存器IO 反相寄存器IO 方向寄存器TCA6416A 的操作TCA6416A 写数据TCA6416A 读数据TCA6416A 的 IO 输入寄存器硬件布局示例程序TCA6416A.cTCA6416A.h测试程序main.c实验现象普中51-单核-A2STC89C52MSP430G2553 Launchpad 扩展板 Keil uVision V5.29.0.0 PK51 Prof.Developers原创 2021-12-03 06:14:08 · 3747 阅读 · 1 评论 -
【51单片机快速入门指南】4.4.3:Madgwick AHRS 九轴姿态融合获取四元数、欧拉角
目录传感器的方向源码Madgwick_9.cMadgwick_9.h使用方法测试main.c效果STC15F2K60S2 22.1184MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10传感器的方向源码 所用MCU为STC15F2K60S2 使用内部RC时钟,22.1184MHz 原创 2021-12-03 01:52:26 · 1907 阅读 · 10 评论 -
【51单片机快速入门指南】4.4.2:Mahony AHRS 九轴姿态融合获取四元数、欧拉角
目录传感器的方向源码Mahony_9.cMahony_9.h使用方法测试main.c效果STC15F2K60S2 22.1184MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10移植自MPU6050 获取角度理论推导(三)—9轴融合算法 —— shao15232_1传感器的方向源码 为了避原创 2021-12-03 01:00:41 · 1657 阅读 · 0 评论 -
【51单片机快速入门指南】4.4.1:python串口接收磁力计数据并进行最小二乘法椭球拟合
目录硬知识Python代码使用方法串口收集数据椭球拟合验证STC15F2K60S2 16.384MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 Python 3.8.11 (default, Aug 6 2021, 09:57:55) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32参考资料:笔记:python读取串口数据并保到本地txt文件原创 2021-12-02 19:23:51 · 1632 阅读 · 0 评论 -
【51单片机快速入门指南】4.4:I2C 读取HMC5883L / QMC5883L 磁力计
HMC5883L、QMC5883L差异详解及驱动程序示例。原创 2021-12-01 15:54:19 · 5497 阅读 · 0 评论 -
【51单片机快速入门指南】4.3.4: MPU6050使用Madgwick AHRS算法实现六轴姿态融合获取四元数、欧拉角
目录源码Madgwick_6.cMadgwick_6.h测试程序main.c效果STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10移植自AHRS —— LOXO,算法作者:SOH Madgwick源码 为了避免所用RAM超标,部分变量设为idata类型,移植时需注意。原创 2021-11-26 14:34:33 · 1936 阅读 · 4 评论 -
【51单片机快速入门指南】4.3.3: MPU6050使用Mahony AHRS算法实现六轴姿态融合获取四元数、欧拉角
目录源码Mahony_6.cMahony_6.h测试程序main.c效果STC89C516 32MHz Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10 移植自MPU6050姿态解算——Mahony互补滤波 —— 大写的小写字母 &原创 2021-11-26 12:31:23 · 1870 阅读 · 6 评论 -
【51单片机快速入门指南】4.3.2: MPU6050:一阶互补滤波、二阶互补滤波和卡尔曼滤波获取欧拉角
目录源码MPU6050_Filter.cMPU6050_Filter.h使用方法测试程序一阶互补滤波效果二阶互补滤波效果卡尔曼滤波效果总结普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10参考资料:MPU6050数据采集及其意义和滤波(一阶互补滤波、二阶互补滤波、卡尔曼滤波)—— 275891381关于MPU6050姿态解算的一阶互补滤波方法原创 2021-11-26 03:10:18 · 5931 阅读 · 4 评论 -
【51单片机快速入门指南】4.3.1: MPU6050调用DMP库获取四元数和欧拉角
目录DMP.cDMP.h测试程序实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 上位机:Vofa+ 1.3.10小改自ksws0263785大佬的51单片机使用 mpu6050DMP,使之调用统一的I2C函数,方便移植到其它单片机。 stdint.h见【51单片机快速入门指南】1:基础原创 2021-11-24 19:24:15 · 17388 阅读 · 24 评论 -
【51单片机快速入门指南】4.3: I2C读取MPU6050陀螺仪的原始数据
目录示例程序MPU6050.cMPU6050.hmain.c实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 串口示波器:Vofa+ 1.3.10移植自正点原子ATK-MPU6050六轴传感器例程。示例程序 软件I2C程序见【51单片机快速入门指南】4: 软件 I2C &n原创 2021-11-24 01:56:11 · 8147 阅读 · 4 评论 -
【51单片机快速入门指南】4.2: SSD1306 OLED屏(0.96寸、1.3寸)的I2C控制详解
目录硬知识SSD1306简介I2C 接口从机地址位(SA0)I2C 总线写数据普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0手册见SSD1306-OLED驱动芯片中文手册硬知识SSD1306简介 SSD1306 是一个单片 CMOS OLED/PLED 驱动芯片,可以驱动有机/聚合发光二极管原创 2021-11-23 18:36:01 · 12796 阅读 · 5 评论 -
【51单片机快速入门指南】4.1: I2C 与 AT24C02 (EEPROM) 的跨页连续读写
目录硬知识AT24Cxx 介绍普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 摘自《普中 51 单片机开发攻略》、《24C02/24C04/24C08/24C16/24C32/24C64芯片手册》AT24Cxx 介绍  原创 2021-11-22 11:19:20 · 7851 阅读 · 3 评论 -
【51单片机快速入门指南】4: 软件 I2C
目录硬知识I2C 介绍I2C 物理层I2C 协议层数据有效性规定起始和停止信号应答响应总线的寻址方式数据传输普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识 摘自《普中 51 单片机开发攻略》I2C 介绍原创 2021-11-21 16:29:05 · 6274 阅读 · 6 评论 -
【51单片机快速入门指南】3.3:USART 串口通信
目录普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0原创 2021-11-20 18:09:24 · 4602 阅读 · 1 评论 -
【51单片机快速入门指南】3.2.1:PWM、呼吸灯与舵机
目录硬知识PWM(脉冲宽度调制)基本原理脉宽调制分类上机实战呼吸灯main.c中断服务函数修改TIM.c中的中断服务函数效果开发板电路分析普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识PWM(脉冲宽度调制)摘自百度百科。基本原理 控制方式就是对逆变电路开关器件的通断进行控制,使输出端原创 2021-11-16 07:37:06 · 3660 阅读 · 1 评论 -
【51单片机快速入门指南】3.2:定时器/计数器
目录快速使用源码普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0中断知识见【51单片机快速入门指南】3:中断系统快速使用可利用STC-ISP的计算器直接生成初始化函数传统51需设置系统频率=晶振频率,定时器时钟设为12T使能6T模式后需将系统频率x2使用更新的1T芯片则定时器时钟应改为1T,系统频率无需x2源码stdint.h见【51单片机快速入门指南】1:基原创 2021-11-15 13:15:02 · 3709 阅读 · 0 评论 -
【51单片机快速入门指南】3.1:配置外部中断触发方式和中断优先级
目录普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0原创 2021-11-08 21:14:24 · 2865 阅读 · 0 评论 -
【51单片机快速入门指南】3:中断系统
目录硬知识中断系统中断结构中断优先级中断处理普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识选自《STC89C52系列单片机器件手册》中断系统 中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。 &nbs原创 2021-11-08 07:08:28 · 2728 阅读 · 0 评论 -
【51单片机快速入门指南】2.5:并行I/O扩展与8255A
目录硬知识单片机I/O扩展基础知识I/O接口电路的功能速度协调输出数据锁存数据总线隔离数据转换增强驱动能力单片机并行扩展总线并行扩展总线的组成80C51单片机并行扩展总线I/O编址技术可编程并行接口芯片82558255硬件逻辑结构口电路总线接口电路A组和B组控制电路中断控制电路8255工作方式方式0(基本输入/输出方式)方式1(选通输入/输出方式)方式2(双向数据传送方式)8255的编程内容工作方式命令C口位置位/复位命令8255A端口地址的确定上手编程仿真原理图确定相关地址测试源码8255A.c8255A原创 2021-11-16 16:00:48 · 7787 阅读 · 3 评论 -
【51单片机快速入门指南】2.4:74HC595、LED点阵屏及其SPI控制
目录硬知识IO 口扩展方式-串转并74HC595 芯片介绍硬件设计测试源码HC74595.cHC74595.hmain.h实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识选自《普中51单片机开发攻略_V1.2》IO 口扩展方式-串转并 使用的芯片是 74HC595。开发板板载 1原创 2021-11-08 06:33:55 · 2787 阅读 · 0 评论 -
【51单片机快速入门指南】2.3:GPIO读取矩阵键盘 8个IO读16键
目录硬知识矩阵键盘介绍测试程序Key_Board.cKey_Board.hmain.c实验现象普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0硬知识选自《普中51单片机开发攻略_V1.2》矩阵键盘介绍 独立按键与单片机连接时,每一个按键都需要单片机的一个 I/O 口,若某单片机系统需较多按键,原创 2021-11-08 06:06:46 · 1730 阅读 · 0 评论 -
【51单片机快速入门指南】2.2:任意位/任意长度数码管显示数字、小数
目录源码Tube.cTube.hmain.c效果8位数码管正整数负整数正小数负小数6位数码管正整数负整数正小数负小数4位数码管正整数负整数正小数负小数普中51-单核-A2STC89C52 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0源码移植时主要只修改Tube_Num数量、位选函数Tube_Choose()和单个数码管写入函数Singe_Tube_Write()即可。Tube.c#include <R原创 2021-11-08 05:21:44 · 2286 阅读 · 0 评论