基于AT89C52单片机的简易电子琴设计与实现:从原理到实践
1. 项目概述从零到一打造你的第一台单片机电子琴几年前我在整理旧物时翻出一块落灰的AT89C52开发板看着它简单的引脚和经典的40脚封装一个念头冒了出来能不能用它做点有“声”有色的东西于是这个基于AT89C52的简易电子琴项目就这么开始了。这不仅仅是一个课程设计级别的作业更是一次深入理解单片机定时器、中断、数模转换以及系统设计的绝佳实践。对于电子爱好者、单片机初学者甚至是参加过蓝桥杯等竞赛需要夯实基础的同学来说这个项目都能让你把书本上抽象的“定时/计数器”、“中断向量”变成指尖流淌的音符。整个项目的核心目标很明确用最经典的51内核单片机AT89C52配合矩阵键盘、蜂鸣器或扬声器实现一个能演奏至少一个八度音阶7个白键5个黑键共12个半音的简易电子琴。我们不仅要完成硬件电路的设计与焊接更要利用Proteus这样的仿真软件在电脑上先完成逻辑验证和“软调试”这能极大节省你的时间和元器件成本。最终你将得到一个看得见、摸得着、听得到的完整作品从原理图到代码从仿真到实物成就感直接拉满。2. 核心设计思路与方案选型2.1 为什么是AT89C52在STM32、GD32等32位单片机大行其道的今天选择AT89C52似乎有些“复古”。但正是这种复古带来了无可比拟的学习优势。首先它的内核架构简单清晰没有复杂的外设和时钟树让你能聚焦于最核心的定时器、中断和IO操作。其次关于它的资料浩如烟海从数据手册到各种教程几乎你遇到的每一个问题都能找到答案。最后它价格低廉烧录方便使用常见的USB转TTL工具配合STC-ISP等软件即可非常适合作为入门和验证想法的平台。这个项目中的所有概念——IO扫描、定时器中断产生方波、延时消抖——都是嵌入式开发中最基础的基石掌握了它们再迁移到STM32或其他更复杂的平台会事半功倍。2.2 声音产生原理方波与音调要让单片机发出不同音调的声音最直接的方法就是利用其定时器产生特定频率的方波信号。音乐中的每个音阶都对应一个固定的频率。例如中音CDo的频率是523.25 Hz。这意味着如果我们让单片机的一个IO口以523.25次/秒的速度在高电平和低电平之间切换就能产生一个523.25 Hz的方波信号。将这个信号通过一个简单的放大电路如三极管驱动推动蜂鸣器或扬声器我们就能听到Do这个音。AT89C52内部有两个16位定时器/计数器Timer0和Timer1。我们可以将定时器设置为自动重载模式每隔一个固定的时间这个时间由目标频率决定就产生一次中断在中断服务程序里翻转某个IO口如P1.0的电平从而产生连续的方波。计算这个重载值THx, TLx是软件部分的关键。公式基于单片机的机器周期。假设我们使用11.0592MHz的晶振这个频率非常常见因为它能使串口通信的波特率非常精确则机器周期为12/11.0592MHz ≈ 1.085μs。注意这里使用的是标准12T模式的51单片机AT89C52即是。有些增强型51单片机如STC的一些型号支持1T模式计算方式不同务必先确认你所用单片机的模式。产生频率为f的方波需要定时器中断周期T 1 / (2 * f)因为一次高低电平翻转才是一个完整的周期而一次中断只翻转一次电平所以两次中断才是一个完整方波周期。定时器计数值N T / 机器周期。由于定时器是加计数到溢出所以需要装入的初值X 65536 - N。然后将其高八位和低八位分别赋值给THx和TLx。以中音C523.25Hz为例T 1 / (2 * 523.25) ≈ 0.000955秒 955μs N 955μs / 1.085μs ≈ 880 X 65536 - 880 64656 (0xFC90)因此TH1 0xFC, TL1 0x90。2.3 输入方案独立按键 vs. 矩阵键盘对于一个有至少12个琴键的电子琴如果使用独立按键每个按键需要一个IO口加上可能的其他功能键IO口资源会非常紧张。AT89C52共有4个8位IO口P0, P1, P2, P3但P0口用作总线时需要上拉电阻P3口很多引脚有第二功能如串口、中断所以实际可自由使用的IO并不多。因此采用矩阵键盘是更优解。一个4x4的矩阵键盘只需要8个IO口4行4列可以管理16个按键完全满足12个半音的需求还有余量可以分配给“播放预存歌曲”、“切换音色方波/锯齿波模拟”、“调节音量”等扩展功能。扫描矩阵键盘的方法通常是“行扫描法”或“列扫描法”通过逐行列输出低电平然后读取所有列行的状态来判断哪个按键被按下。2.4 仿真与实物验证的结合在动手焊接电路之前先用Proteus进行仿真是非常高效且低成本的做法。Proteus内置了AT89C52模型、矩阵键盘、蜂鸣器、示波器甚至频谱分析仪。你可以验证硬件电路逻辑检查按键扫描电路、音频输出电路连接是否正确。调试软件代码将写好的C程序编译成HEX文件加载到Proteus的单片机模型中可以单步调试、设置断点观察变量和IO口状态这对于理解程序流程和排查逻辑错误至关重要。“听到”仿真声音Proteus的蜂鸣器模型可以模拟发声结合示波器可以看到产生的方波波形直观验证频率是否正确。实操心得很多同学在仿真时一切正常但实物就是不响。一个常见原因是Proteus中的蜂鸣器模型是理想的而实物蜂鸣器有工作电压和电流要求。在仿真通过后设计实物电路时务必根据你选用的蜂鸣器规格有源/无源、额定电压设计一个简单的三极管放大驱动电路单片机IO口直接驱动能力通常是不够的。3. 系统硬件电路设计详解3.1 单片机最小系统这是AT89C52工作的基础必须正确搭建电源电路Vcc40脚接5VGND20脚接地。建议在电源入口处加一个100μF的电解电容滤波低频和一个0.1μF的瓷片电容滤波高频以稳定电源。时钟电路在XTAL119脚和XTAL218脚之间接一个11.0592MHz的晶振两个引脚分别对地接一个20-30pF的瓷片电容。这个频率值非常关键它直接决定了定时器计数的准确性和最终音准。复位电路采用经典的上电复位。在RST9脚上拉一个10kΩ电阻到Vcc同时接一个10μF电解电容到地。上电瞬间电容充电RST脚获得一个短暂的高电平脉冲使单片机复位。EA/Vpp引脚接高电平Vcc表示使用内部程序存储器。3.2 矩阵键盘接口电路我们设计一个4x4矩阵键盘连接如下行线接单片机P2口的低四位P2.0, P2.1, P2.2, P2.3并上拉10kΩ电阻到Vcc。在程序中这些引脚初始化为输出模式。列线接单片机P2口的高四位P2.4, P2.5, P2.6, P2.7。在程序中这些引脚初始化为输入模式并依靠内部或外部上拉电阻保持高电平。当没有按键按下时所有列线因上拉而为高电平。当扫描某一行输出低电平时如果这一行上有按键按下则对应的列线会被拉低通过读取P2口高四位的状态即可判断键值。3.3 音频输出与放大电路单片机IO口直接输出的方波信号电流很小通常几个mA无法直接驱动扬声器发出足够大的声音。因此需要放大电路无源蜂鸣器方案简单无源蜂鸣器需要外部驱动方波才能发声。可以使用一个NPN型三极管如S8050进行放大。单片机IO口如P1.0通过一个1kΩ的限流电阻连接到三极管基极。蜂鸣器一端接Vcc5V另一端接三极管集电极。三极管发射极接地。在基极和地之间可以再并联一个10kΩ电阻确保默认状态下三极管可靠截止。当IO口输出高电平时三极管导通电流流过蜂鸣器发声。有源蜂鸣器方案不推荐用于本设计有源蜂鸣器内部有振荡电路给电就响只能发出固定频率的声音无法用于演奏不同音调。扬声器方案音质更好如果需要更好的音质和音量可以驱动一个8Ω/0.5W的小扬声器。电路与驱动无源蜂鸣器类似但需要在扬声器两端反向并联一个续流二极管如1N4148以消除三极管关断时线圈产生的反向电动势保护三极管。重要提示在Proteus仿真中你可以直接用一个“SPEAKER”模型连接到IO口。但在实物制作中绝对不能将扬声器或蜂鸣器直接接到IO口上必须使用三极管或专用音频功放芯片如LM386进行驱动否则极易烧毁单片机IO口或导致系统不稳定。4. 软件程序设计核心解析程序采用C语言在Keil uVision中开发核心逻辑围绕键盘扫描和定时器中断展开。4.1 主程序流程框架#include REGX52.H #include KeyScan.h #include Timer1.h #include Music.h void main() { Timer1_Init(); // 初始化定时器1但不启动 while(1) { unsigned char key KeyScan(); // 扫描键盘获取键值 if(key ! 0xFF) { // 如果有键按下 // 根据键值设置定时器重载值以产生对应频率 Set_Tone(key); TR1 1; // 启动定时器1开始发声 } else { TR1 0; // 没有键按下停止定时器停止发声 BUZZER 0; // 确保蜂鸣器引脚输出低电平防止噪声 } // 可以在这里添加其他功能如播放预存歌曲的检测 Play_Music_Check(); } }4.2 键盘扫描函数实现键盘扫描函数KeyScan()需要完成消抖和键值映射。unsigned char KeyScan() { unsigned char key_value 0xFF; unsigned char row, col, temp; P2 0x0F; // 高四位输入带上拉低四位输出0准备扫描行 if((P2 0xF0) ! 0xF0) { // 检测是否有列线被拉低 DelayMs(10); // 延时10ms消抖 if((P2 0xF0) ! 0xF0) { // 再次确认 // 行扫描 for(row0; row4; row) { P2 ~(0x01 row); // 将对应的行线置低 temp P2 0xF0; // 读取列线状态 if(temp ! 0xF0) { // 该行有按键按下 // 判断是哪一列 switch(temp) { case 0xE0: col0; break; case 0xD0: col1; break; case 0xB0: col2; break; case 0x70: col3; break; default: break; } // 将行号和列号转换为一个唯一的键值0-15 key_value row * 4 col; // 等待按键释放 while((P2 0xF0) ! 0xF0); DelayMs(10); // 释放消抖 break; // 退出扫描循环 } } } } return key_value; // 返回键值0xFF表示无按键 }4.3 定时器中断与音调生成这是项目的音频核心。我们使用定时器1工作在模式116位自动重装但需要软件重装或模式28位自动重装更常用。这里以模式2为例它自动重装TH1的值到TL1能产生更精确的方波。// 定义音阶频率对应的定时器重载值高8位基于11.0592MHz晶振模式2 code unsigned char ToneTable[] { 0xFC, // 523Hz, Do 0xFC, // 554Hz, Do# 0xFB, // 587Hz, Re 0xFB, // 622Hz, Re# 0xFA, // 659Hz, Mi 0xFA, // 698Hz, Fa 0xF9, // 740Hz, Fa# 0xF9, // 784Hz, So 0xF8, // 831Hz, So# 0xF8, // 880Hz, La 0xF7, // 932Hz, La# 0xF7 // 988Hz, Si }; void Timer1_Init(void) { TMOD 0x0F; // 清除T1控制位 TMOD | 0x20; // 设置T1为模式28位自动重装 ET1 1; // 允许T1中断 EA 1; // 开启总中断 // 初始不启动定时器TR10; } void Set_Tone(unsigned char key) { if(key 12) { // 假设键值0-11对应12个半音 TH1 ToneTable[key]; TL1 ToneTable[key]; // 模式2下TL1也会在中断时被重装为TH1 } } void Timer1_ISR() interrupt 3 { // 定时器1中断服务程序中断号3 BUZZER ~BUZZER; // 翻转蜂鸣器控制引脚电平产生方波 }关键细节模式2下TH1是重载值TL1是计数器。中断发生时硬件会自动将TH1的值装入TL1所以初始化时也需要给TL1赋值。中断服务程序必须尽可能短小这里只有一条取反语句是标准做法。4.4 扩展功能预存歌曲播放你可以定义一个数组来存储一首简单的歌曲比如《小星星》。数组里不存储频率而是存储音调索引和节拍时长。code unsigned char Music[] { // 音调索引 节拍 0, 4, // Do, 1拍 0, 4, // Do, 1拍 4, 4, // So, 1拍 4, 4, // So, ... 5, 4, 5, 4, 4, 8, // ... 以此类推 0xFF // 结束标志 };在主循环中可以检测一个特定的“播放”按键。当按下时进入一个播放循环依次从数组中读取音调和节拍调用Set_Tone()并启动定时器然后根据节拍值进行延时可以用一个简单的循环延时或另一个定时器实现之后再播放下一个音符直到遇到结束标志。5. Proteus仿真搭建与调试实录5.1 仿真电路图绘制要点元件选择在Proteus元件库中搜索“AT89C52”、“KEYPAD-PHONE”这是一个4x4矩阵键盘模型、“BUZZER”蜂鸣器、“RES”电阻、“CAP”电容、“CRYSTAL”晶振。连接严格按照硬件设计部分进行连接。特别注意Proteus中的矩阵键盘模型引脚顺序可能与你想象的不同右键点击元件选择“Edit Properties”可以查看引脚定义或者放置好后用导线连接时看清引脚名称。电源和地不需要显式放置Vcc和GND符号Proteus默认所有未连接的引脚为低电平。但为了清晰建议在需要的地方放置“POWER”和“GROUND”符号。调试工具从左侧工具栏选择“Virtual Instruments”添加一个“OSCILLOSCOPE”示波器将探针连接到蜂鸣器引脚可以观察方波波形和测量频率。5.2 程序加载与仿真运行在Keil中完成程序编写、编译生成HEX文件通常在Objects文件夹下。在Proteus中双击AT89C52元件在弹出的属性窗口中点击“Program File”右侧的文件夹图标选择你生成的HEX文件。点击Proteus左下方的运行按钮三角形开始仿真。点击仿真界面中的矩阵键盘按钮你应该能听到蜂鸣器发出相应的音调。同时打开示波器界面可以看到频率大致符合预期的方波。5.3 常见仿真问题排查单片机不运行/HEX文件加载失败检查Proteus中单片机型号是否选择正确晶振频率是否设置默认为0需改为11.0592M。检查Keil工程配置中输出HEX文件的选项是否勾选Options for Target - Output - Create HEX File。按键无反应首先检查键盘扫描程序逻辑。在仿真运行时可以右键点击单片机选择“Source Code”单步调试观察key_value变量是否变化。其次检查Proteus中键盘的引脚连接是否正确特别是行线和列线是否与程序定义一致。有声音但音调不准用示波器测量方波频率。如果与理论值偏差较大首先检查晶振频率设置。其次检查定时器中断服务程序是否过长影响了中断发生的准确周期。确保中断服务程序里只有翻转IO口的语句。蜂鸣器一直响或一直不响检查主程序中按键释放后的逻辑。确保在没有键按下时定时器被关闭TR10并且蜂鸣器引脚被拉低。同时检查硬件连接蜂鸣器是否接在了正确的驱动电路上。6. 实物制作、调试与进阶优化6.1 PCB设计与焊接注意事项仿真成功后就可以着手制作实物了。你可以使用万用板焊接或者用Altium Designer、EasyEDA等软件绘制PCB后打样。布局电源模块、单片机最小系统、键盘接口、音频放大模块最好分区布局电源走线要粗。去耦电容在AT89C52的Vcc和GND引脚附近务必放置一个0.1μF的瓷片电容这是稳定单片机工作的关键能滤除高频噪声。音频部分驱动三极管的基极限流电阻和下拉电阻不能少。如果使用扬声器续流二极管必须接上。焊接晶振、瓷片电容等元件尽量贴近单片机引脚焊接减少引线长度。焊接完成后仔细检查有无虚焊、短路。6.2 上电调试流程静态检查焊接完先不要通电用万用表蜂鸣档检查电源和地之间是否短路。电源测试通电测量单片机40脚和20脚之间的电压是否为稳定的5V左右。最小系统测试编写一个最简单的LED闪烁程序不涉及键盘和声音下载测试确保单片机能够正常运行程序。键盘测试编写一个键盘扫描测试程序将按下的键值通过串口发送到电脑或者用LED二进制显示确保每个按键都能被正确识别。音频测试编写一个固定频率发声的程序如让定时器以1KHz中断测试蜂鸣器或扬声器是否能正常发声。如果没声音检查三极管是否焊反、蜂鸣器正负极是否正确、驱动电流是否足够。系统联调最后将完整的电子琴程序下载进行整体测试。6.3 进阶优化方向如果你的基础版本已经成功可以尝试以下优化让电子琴更“专业”多音色合成方波音色比较单调。可以通过在定时器中断中输出不同的波形值存储在查表表中到DAC数模转换器如使用PWM模拟或外接DAC芯片来产生正弦波、三角波、锯齿波实现不同音色。音量控制可以通过一个数字电位器芯片如X9C103来控制放大电路的增益或者使用PWM来调制输出方波的占空比但会影响音准需小心设计。录音与回放功能增加一个EEPROM芯片如AT24C02在演奏时记录下按下的键值和节奏之后可以完整回放出来。LCD显示增加一块字符型LCD如1602可以显示当前弹奏的音符名、播放的歌曲名或音量等级。使用更强大的单片机将主控换成STC12C5A60S2带PCA/PWM或STM32可以更轻松地实现PWM驱动、DAC输出、触摸按键等高级功能。从一块简单的AT89C52开始到最终能演奏乐曲的电子琴这个项目贯穿了硬件设计、软件编程、仿真调试和实物制作的全流程。它像一把钥匙帮你打开了嵌入式系统开发的大门。当你按下自己焊接的琴键听到由你编写的代码产生的音符时那种感觉是看一百遍教程也无法替代的。希望你在复现这个项目时不仅能得到最终的作品更能享受这个从无到有、解决问题的过程。如果在制作中遇到任何问题回过头来仔细检查电路连接、计算一遍定时器初值、用仿真软件逐步调试你会发现大多数难题的答案都藏在最基础的原理里。

相关新闻

如何用res-downloader解决多平台资源下载难题:一个实用的网络资源捕获方案

如何用res-downloader解决多平台资源下载难题:一个实用的网络资源捕获方案

如何用res-downloader解决多平台资源下载难题:一个实用的网络资源捕获方案 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloa…

2026/7/31 15:04:58 阅读更多 →
核电站数字孪生系统如何通过AI实时预警设备疲劳裂纹?——中广核2023年实测数据首次公开

核电站数字孪生系统如何通过AI实时预警设备疲劳裂纹?——中广核2023年实测数据首次公开

更多请点击: https://kaifayun.com 第一章:核电站数字孪生系统如何通过AI实时预警设备疲劳裂纹?——中广核2023年实测数据首次公开 中广核阳江核电基地自2023年7月起在1号机组蒸汽发生器传热管区域部署基于物理信息神经网络(PIN…

2026/7/31 15:04:58 阅读更多 →
【AI餐饮降本增效实战指南】:20年IT专家亲授7大落地场景与3个避坑红线

【AI餐饮降本增效实战指南】:20年IT专家亲授7大落地场景与3个避坑红线

更多请点击: https://intelliparadigm.com 第一章:AI餐饮降本增效的底层逻辑与行业演进 AI在餐饮行业的深度渗透,已从单点工具升级为贯穿“采购—加工—服务—复盘”全链路的智能中枢。其底层逻辑并非简单替代人力,而是通过数据闭…

2026/7/31 15:04:58 阅读更多 →

最新新闻

Spring AI与DeepSeek在智能客服中的高效集成实践

Spring AI与DeepSeek在智能客服中的高效集成实践

1. 项目概述:当Spring AI遇上DeepSeek去年在电商平台做智能客服升级时,我第一次把Spring AI 1.0和DeepSeek模型组合使用。这个技术栈的化学反应相当有趣——Spring AI提供的标准化AI集成能力,加上DeepSeek在中文场景下的出色表现,…

2026/7/31 19:25:06 阅读更多 →
Ryujinx模拟器:PC上畅玩Switch游戏的终极免费解决方案

Ryujinx模拟器:PC上畅玩Switch游戏的终极免费解决方案

Ryujinx模拟器:PC上畅玩Switch游戏的终极免费解决方案 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说:旷野之息》、《马里奥赛车8豪…

2026/7/31 19:25:06 阅读更多 →
Klaus未来路线图:即将到来的6大功能让Git可视化更加强大

Klaus未来路线图:即将到来的6大功能让Git可视化更加强大

Klaus未来路线图:即将到来的6大功能让Git可视化更加强大 【免费下载链接】klaus docker run klaus / pip install klaus — the first Git web viewer that Just Works™. 项目地址: https://gitcode.com/gh_mirrors/kl/klaus Klaus作为一款"开箱即用&q…

2026/7/31 19:25:06 阅读更多 →
MDB Tools:跨平台Access数据库逆向工程与数据迁移解决方案

MDB Tools:跨平台Access数据库逆向工程与数据迁移解决方案

MDB Tools:跨平台Access数据库逆向工程与数据迁移解决方案 【免费下载链接】mdbtools MDB Tools - Read Access databases on *nix 项目地址: https://gitcode.com/gh_mirrors/md/mdbtools 数据孤岛困境:为何需要Access数据库的跨平台支持 在现代…

2026/7/31 19:25:06 阅读更多 →
Maple Mono编程字体终极指南:如何通过圆角设计和智能连字提升你的编码体验

Maple Mono编程字体终极指南:如何通过圆角设计和智能连字提升你的编码体验

Maple Mono编程字体终极指南:如何通过圆角设计和智能连字提升你的编码体验 【免费下载链接】maple-font Maple Mono: Open source monospace font with round corner, ligatures and Nerd-Font icons for IDE and terminal, fine-grained customization options. 带…

2026/7/31 19:25:06 阅读更多 →
掌握Flutter Picker联动选择器:ArrayPicker实现多级联动效果

掌握Flutter Picker联动选择器:ArrayPicker实现多级联动效果

掌握Flutter Picker联动选择器:ArrayPicker实现多级联动效果 【免费下载链接】flutter_picker Flutter picker plugin 项目地址: https://gitcode.com/gh_mirrors/fl/flutter_picker Flutter Picker是一款功能强大的Flutter选择器插件,能够帮助开…

2026/7/31 19:24:06 阅读更多 →

日新闻

物理复制比逻辑复制好在哪?数据库复制原理详解

物理复制比逻辑复制好在哪?数据库复制原理详解

数据库复制是把主库数据同步到备库的机制,分为逻辑复制和物理复制两种。逻辑复制传输的是 SQL 语句或行变更事件,物理复制传输的是存储引擎底层的物理日志。阿里云 PolarDB(云原生数据库)采用物理复制,在同步延迟、数据…

2026/7/31 0:00:34 阅读更多 →
BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南

BilibiliDown:3分钟学会B站视频下载的终极指南 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bilib…

2026/7/31 0:00:34 阅读更多 →
有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

有哪些游戏数据AI平台?游戏行业Data+AI融合方案盘点

当前,游戏行业的“DataAI融合”已从概念验证进入价值落地阶段。根据IDC 2025年数据,中国AI游戏云市场规模已达18.6亿元;同时,游戏研发环节AI渗透率高达86%,生成式AI内容普及率超过50%。面对庞大的市场,游戏…

2026/7/31 0:00:34 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/31 1:03:03 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/31 4:19:39 阅读更多 →

月新闻