自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 51单片机——LCD1602液晶显示

LCD1602是一种常用的字符型液晶显示器,可显示2行×16个字符。相比数码管等显示装置,它具有显示内容多、接口简单等优势。模块采用5×7点阵显示字符,通过8位并行接口与单片机通信。使用时需先初始化,包括清屏、设置显示模式等功能指令。数据显示通过向DDRAM写入字符ASCII码实现,每个显示位置对应特定地址。操作时序要求严格,需控制RS、R/W和E信号,并保证足够的稳定时间。LCD1602广泛应用于需要显示数字、字母和简单符号的嵌入式系统中。

2025-12-23 23:55:25 896

原创 51单片机——DAC数模转换实验(二)

摘要:本实验基于51单片机实现PWM控制的呼吸灯效果。硬件部分采用LM358运放构建同相放大电路,对PWM信号进行放大和滤波处理,驱动LED实现亮度渐变。软件设计通过定时器中断生成PWM信号,主程序采用dir标志位控制占空比增减方向,实现LED亮度从0%到70%的平滑变化(1ms步进),形成呼吸效果。关键点包括:定时器初值设置(0XFF/0XF6)、PWM周期倍数(100)、占空比动态调整(0-70)及1ms延时保证渐变流畅性。实验成功实现了DAC模块指示灯DA1的呼吸灯效果。

2025-12-22 21:15:29 652

原创 51单片机——DAC数模转换实验(一)

摘要:DAC(数模转换器)通过加权求和原理将数字信号转换为模拟信号,其核心指标包括分辨率(由位数决定)和线性度。R-2R梯形网络是典型实现方案,通过电阻分流实现电流加权。PWM技术则通过调节占空比来等效模拟电压输出,具有低成本优势但需滤波处理。两者主要区别在于:DAC直接输出连续模拟量(高精度),PWM输出离散方波(需依赖平均效应)。DAC适用于音频等精密场景,PWM更适合电机调速等对精度要求不高的应用。实际选择需根据成本、精度和具体应用需求权衡。

2025-12-21 22:42:53 848

原创 51单片机——ADC数模转换实验(二)

本文介绍了基于51单片机的ADC模块与数码管显示系统的硬件设计与软件实现。硬件部分采用XPT2046芯片作为ADC转换器,详细说明了各引脚功能,包括BUSY、DIN、CS等控制信号,以及热敏电阻、电位器等模拟信号输入电路。软件部分包含数码管驱动和ADC采集两大模块:数码管模块通过位选和段选实现动态显示;ADC模块通过SPI协议与XPT2046通信,包含数据写入、读取和完整ADC采集流程。主程序实现了电位器电压采集,经AD转换后通过数码管显示电压值(如2.5V),包含数值放大、段码转换等处理过程。系统采用模块

2025-12-21 01:14:18 1106

原创 51单片机——ADC数模转换实验

本文介绍了51单片机如何通过XPT2046芯片实现模拟信号检测。主要内容包括:1)数字信号与模拟信号的区别;2)ADC模数转换的基本原理与技术指标;3)XPT2046芯片的功能特点与工作模式。重点阐述了XPT2046作为12位ADC转换器的优势,包括其4线制通信接口、125KHz转换速率、内置温度传感器和参考电压等功能,以及单端/差分两种工作模式的选择方法。文章通过类比方式详细说明了XPT2046的时序控制和省电模式设置,为51单片机系统实现模拟量采集提供了实用指导。

2025-12-18 19:24:40 625

原创 51单片机——红外遥控(二)

摘要:本文介绍了基于51单片机的红外遥控解码及数码管显示系统的设计与实现。硬件部分采用动态数码管显示和红外接收模块,红外接收头输出引脚通过10K上拉电阻连接至P3.2引脚。软件设计包含数码管驱动(smg.c/h)和红外解码(ired.c/h)两部分:数码管模块实现动态显示功能,红外模块通过外部中断0实现NEC协议解码,包括引导码检测、数据位解析和反码校验。主程序将解码后的键值转换为数码管段码并显示。系统通过时序检测和超时保护机制确保稳定运行,具有硬件接口简单、解码可靠的优点。

2025-12-17 12:34:53 971

原创 51单片机——红外遥控(一)

红外遥控是一种短距离无线通信技术,通过红外光传输信号,适用于家电遥控等场景。其工作原理是将二进制指令调制到38kHz载波上,经放大后由红外LED发射。接收端需匹配载波频率(如38kHz)和编码方式(如NEC协议或Philips PPM)。NEC协议采用脉冲宽度调制(PWM),通过高低电平时长区分0和1。红外接收头将光信号转换为电信号,经处理后输出指令脉冲。相比有线通信(如SPI/I2C),红外通信摆脱了线缆束缚,但具有方向性强、传输距离短等特点。

2025-12-14 13:52:07 774

原创 51单片机——DS1302 时钟芯片(二)

摘要:DS1302是一款实时时钟芯片,通过3线串行接口(CE、SCLK、I/O)与单片机通信。其核心功能包括:1)12个时间寄存器存储BCD格式的时间数据;2)31字节通用RAM存储用户数据;3)写保护控制寄存器确保数据安全。操作流程为:解锁写保护→发送指令(读写+地址)→传输数据→结束通信。关键时序要求:RST先低后高启动通信,SCLK上升沿写入、下降沿读取,数据采用低位先行的LSB格式。使用时需注意BCD码转换和时序匹配,VCC1备用电源可保证掉电时数据不丢失。

2025-12-12 13:59:07 1023

原创 51单片机——DS1302 时钟芯片(一)

DS1302是一款低功耗实时时钟芯片,具有31字节静态RAM,通过3线SPI接口与单片机通信。该芯片能独立维护日历数据,自动处理闰年及月份天数,支持双电源供电(主电源和备用电池),掉电时仍可持续计时。DS1302简化了标准SPI协议,仅需RST、SCLK和I/O三线即可完成数据传输,适用于51单片机等无硬件SPI的设备。其改进版本相比DS1202增加了涓流充电功能和额外存储空间,广泛应用于电子钟、工业控制等需精准计时和掉电保存的场合。

2025-12-11 13:03:26 977

原创 51单片机——DS18B02(三)

本文介绍了基于DS18B20温度传感器和动态数码管的温度检测系统设计。硬件方面,采用单片机P3.7口连接DS18B20单总线接口,利用动态数码管显示温度值。软件设计包含三个核心模块:1) 动态数码管显示模块,通过位选和段选控制实现温度数据的可视化;2) DS18B20底层驱动,包括复位、应答检测、温度转换启动和数据读取功能;3) 温度数据解析模块,处理16位补码数据并转换为实际温度值。系统实现了温度采集、处理和显示功能,其中重点阐述了单总线通信时序控制和温度数据的补码转换算法。实验结果表明,该系统能够准确测

2025-12-10 19:07:07 847

原创 51单片机——DS18B02(二)

摘要:DS18B20数字温度传感器内部结构包含电源检测、总线保护电路、64位ROM唯一标识、单线通讯接口、控制核心和高速缓存等模块。其采用独特的温度数据编码方式,通过16位补码表示正负温度值,支持9-12位分辨率设置。工作流程包括复位、发送指令、启动测温、读取数据等步骤,核心指令为0xCC(跳过ROM)、0x44(启动转换)和0xBE(读取存储器)。传感器内置CRC校验确保数据传输可靠性,支持单总线多设备组网,测温结果直接以数字量输出,无需AD转换。

2025-12-07 14:56:38 917

原创 51单片机——DS18B20(一)

DS18B20是一种采用单总线协议的数字温度传感器,仅需1根数据线即可与微处理器双向通信。其核心特点包括:宽电压工作范围(3.0-5.5V)、支持寄生电源供电、自带温度数字转换功能(无需外部ADC)。通过严格的时序控制和开漏输出特性(需外接4.7KΩ上拉电阻),实现主机主动发起、从机被动响应的半双工通信。独特的多点组网功能允许并联多个传感器,利用64位唯一ROM地址实现精准寻址。提供9位(93.75ms)和12位(750ms)两种温度转换分辨率,具有抗干扰、防反接等保护特性。相比传统模拟传感器,DS18B2

2025-12-06 21:53:16 1079

原创 51单片机——多文件结构模板

摘要:本文介绍了嵌入式开发中的多文件工程结构及其创建流程。单文件结构虽简单但难以维护,多文件结构通过模块化设计提高代码可读性和可维护性。以I2C-EEPROM为例,详细说明了创建文件夹(App、Obj、Public、User)、新建工程、分组管理、添加文件及配置魔术卡选项的步骤。重点包括工程分组与文件夹命名一致、源文件与头文件的对应关系,以及头文件路径的正确配置。该方法有效解决了单文件工程在复杂项目中的局限性。

2025-12-03 13:42:55 921

原创 51单片机——I2C-EEPROM 实验(一)

I2C总线是一种两线式串行通信协议,通过数据线(SDA)和时钟线(SCL)实现设备间通信。它具有接口简单、扩展性强等特点,支持多主机多从机架构。物理层采用上拉电阻设计,支持标准(100kbit/s)、快速(400kbit/s)和高速(3.4Mbit/s)三种传输模式。协议层定义了起始/停止信号、数据有效性、应答机制和7/10位寻址方式。数据传输以字节为单位,通过地址+R/W位确定通信方向,每个字节传输后需要从机应答。I2C通过固定地址+可编程地址的组合解决多设备并联问题,并采用仲裁机制处理多主机冲突。

2025-12-01 15:01:23 896

原创 51单片机——串口通信(一)

摘要:本文介绍了串口通信的基本原理与应用。串口通信是一种异步串行通信方式,通过帧格式(起始位、数据位、停止位)和波特率实现同步。相比并行通信,串行通信具有线路少、成本低的优势。文章还阐述了通信的基本概念,包括同步/异步通信、单工/双工传输方式,以及通信速率(比特率与波特率)的计算方法。51单片机可通过串口实现多种通信功能,其异步通信特性类似"写信"模式,通过约定规则实现数据传输。

2025-11-30 23:32:35 879

原创 51单片机——串口通信(二)

摘要:本文详细介绍了51单片机串口通信的原理与应用。主要内容包括:1. 串口通信标准(RS-232/485)及其电气特性;2. 51单片机串口内部结构(SBUF、控制寄存器等);3. 四种工作方式(方式0为同步移位,方式1-3为异步通信)及其帧格式;4. 波特率计算方法(定时器溢出率决定)。重点分析了异步通信的时序特点,包括起始位、数据位、停止位的传输机制,以及多机通信中第9位(TB8/RB8)的特殊用途。文章还详细说明了串口收发中断标志(TI/RI)的工作机制和软件处理方法。

2025-11-30 23:31:35 1043

原创 51单片机——中断系统、外部中断

本文介绍了单片机中断系统的基本原理与应用。主要内容包括:1.中断概念与流程,包括中断源、断点和中断返回;2.中断优先级机制及中断嵌套;3.STC89C5X系列单片机的中断结构,包含8个中断源和4个优先级;4.关键寄存器配置,如TCON中断标志和IE中断允许控制;5.外部中断实验示例,通过按键触发外部中断控制LED状态。文章详细阐述了中断请求条件、响应过程及实际应用方法,为单片机中断编程提供了实用指导。

2025-11-26 21:50:07 910

原创 51单片机——定时器中断

本文介绍了51单片机定时器中断的原理与应用。主要内容包括:1. 定时器基本概念,包括振荡周期、机器周期等时序知识;2. 定时器工作原理,作为16位加1计数器实现定时/计数功能;3. 定时器结构,由TMOD和TCON寄存器控制工作模式;4. 四种工作方式(0-3)的特点及初值计算方法;5. 实验示例展示如何使用定时器0实现1秒LED闪烁,详细说明了初始化配置、中断服务函数编写等关键步骤。文章通过硬件原理与软件实现相结合的方式,系统地讲解了单片机定时器中断的应用方法。

2025-11-26 21:49:09 1222

原创 51单片机——74HC595、LED点阵屏

摘要:本文介绍了利用74HC595芯片实现单片机IO口扩展的方法。74HC595是一款8位串行输入、并行输出的移位寄存器,仅需3个IO口即可扩展8个输出端口,并可级联扩展更多。文章详细阐述了其工作原理,包括数据移位、存储和输出过程,并给出了LED点阵控制的具体硬件连接方案。通过示例代码展示了如何利用74HC595实现LED点阵的行扫描显示功能,包括数据传输时序控制、消影处理等关键技术要点。同时介绍了LED点阵的基本应用场景和单个LED点亮的方法。该方案有效解决了单片机IO资源有限的问题,适用于需要控制多个外

2025-11-24 19:34:29 1383

原创 51单片机——独立按钮、矩阵按键

本文介绍了独立按键与矩阵按键的工作原理及编程实现方法。独立按键通过机械开关控制电路通断,需进行消抖处理(软件消抖5-10ms),电路采用一端接地、另一端接IO口的设计,通过检测低电平变化实现控制。矩阵按键通过行列扫描法(先列后行)检测按键位置,可节省IO资源。实验部分展示了独立按键控制LED亮灭(松手触发)和矩阵按键控制数码管显示0-F的代码实现,重点阐述了按键消抖、电平检测等关键技术要点。两种按键均需通过检测IO口低电平变化来判断状态,但电路连接方式不同。

2025-11-20 14:55:37 1015

原创 51单片机——数码管

本文介绍了数码管的基本原理与应用。数码管是一种由发光二极管组成的"8"字形显示器件,分为七段和八段、共阳和共阴两种类型。文章详细阐述了数码管的工作原理,包括一位数码管和四位一体数码管的结构特点,并介绍了常用的驱动芯片74HC245和74HC138的功能特性。通过静态数码管显示0和动态数码管显示0-7两个实验示例,说明了共阴/共阳数码管的控制方法,特别是如何利用位选和段选实现动态显示效果。实验代码展示了如何通过单片机IO口控制数码管,利用延时函数配合人眼视觉暂留现象实现稳定显示。

2025-11-19 13:48:01 1108 1

原创 51单片机——蜂鸣器实验

摘要:本文介绍了蜂鸣器的基本原理和应用设计。蜂鸣器分为有源(自带振荡源)和无源(需外部驱动信号)两种类型,通过P2^5引脚输出脉冲信号控制工作。由于功率较大,通常采用三极管或ULN2003驱动电路。软件设计方面,无源蜂鸣器需要1.5-5KHz的脉冲信号,通过调整高低电平时间来控制发声频率。示例代码演示了如何实现蜂鸣器发声与停止,以及通过改变脉冲占空比来调节音量。最后强调停止时应固定引脚为低电平以确保稳定。

2025-11-18 13:38:48 800

原创 单片机入门实验——点灯

摘要:本文介绍了51单片机控制LED灯的基础操作,包括LED特性(需3-20mA电流,需限流电阻)、寄存器工作原理(提高CPU访问效率)以及程序设计方法。详细讲解了三种LED控制方案:简单点亮、闪烁实现(使用延时函数)以及流水灯效果(采用位操作和循环移位函数)。重点展示了如何通过配置P2端口寄存器(如P2=0xFE)和利用_crol_()函数实现LED循环点亮,同时强调了在单片机编程中使用十六进制数的重要性以避免二进制与十进制的混淆。

2025-11-17 19:29:40 917

原创 DS1302 简单介绍

DS1302是由美国 DALLAS 公司推出的一款具有涓细电流充电能力的低功耗实时时钟(RTC)芯片能够为微控制器提供年、月、日、时、分、秒的时间信息,可以通过简单的串行接口进行通信实时时钟,是一种集成电路,通常称为时钟芯片。目前流行的串行时钟电路很多,如DS1302,DS1307,PCF8485DS1302 具有低功耗、备用电池接口和 RAM存储 等功能,广泛用于需要时间记录的电子设备中使用DS1302计时,而不使用定时器计时,原因如下:①定时器没有时钟芯片计时精度高。

2025-11-11 22:53:34 401

原创 51单片机:独立按键&数码管&模块化编程

51单片机:独立按键&数码管&模块化编程

2025-09-08 06:51:10 813

原创 51 单片机简单介绍

本文摘要:本文系统介绍了51单片机开发的基础知识,主要包括:1)开发工具Keil5和STC-ISP的使用方法;2)51单片机的命名规则、内部结构和最小系统组成;3)GPIO引脚分类及功能。重点阐述了STC89C52单片机的技术参数、管脚定义和应用领域,详细说明了开发环境的搭建流程和程序烧录步骤。内容涵盖单片机概念、硬件特性、软件开发等方面,为初学者提供了全面的入门指导。

2025-08-27 01:40:21 1094

原创 嵌入式 C 语言:函数

函数是一个有特定功能、代码独立的代码块;1.1 声明声明形式如下:数据类型 函数名称 (形参说明)函数体如:int abs ( int a ,int b ) { 函数体 };① 数据类型是函数返回值的数据类型,若无返回值,须将数据类型声明为 void;② 形参可以有多个,多个形参之间用 逗号 隔开;也可以没有参数,即无参函数;③ 函数体即 “ { 代码块 } ”,表示函数执行功能的代码;

2025-07-13 13:58:16 895

原创 嵌入式 C 语言:指针(二)

字符指针,指针数组,多级指针,void 指针

2025-07-06 19:45:56 960

原创 嵌入式C语言:指针

指针概述,指针遍历一维/二维数组

2025-07-04 19:56:27 1076

原创 嵌入式C语言数组:数组/字符数组

数组/字符数组

2025-06-28 18:24:57 326

原创 嵌入式 C 语言控制语句

嵌入式 C 语言控制语句

2025-05-08 16:18:42 466

原创 嵌入式C语言的运算符与输入输出

嵌入式C语言的运算符与输入输出

2025-05-01 23:48:20 740

原创 嵌入式C语言基础入门

Linux 简单指令,vi 编辑器,gcc 编译器,数据类型

2025-04-26 18:20:52 883

原创 Mybaits 快速入门

Mybaits 快速入门

2025-04-17 15:26:37 841

原创 SpringBoot 基础知识,HTTP 概述

SpringBoot 基础知识,HTTP 概述

2025-04-10 20:02:10 943

原创 Maven 基础知识

Maven 基础知识:配置环境,创建项目,依赖管理

2025-04-10 00:17:49 1055

原创 存储引擎 / 事务 / 索引

存储引擎 / 事务 / 索引

2025-04-07 00:00:07 647

原创 极速版:栈的内存/局部变量表/堆的内存细分

栈的内存/局部变量表/堆的内存细分

2025-03-30 17:50:08 565

原创 JVM 概述/结构/架构/生命周期

JVM 概述/结构/架构/生命周期

2025-03-27 00:42:48 1010

原创 阻塞队列与线程池

阻塞队列与线程池

2025-03-26 00:59:22 909

空空如也

空空如也

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

TA关注的人

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