51单片机密码锁实战:Keil+Proteus仿真全链路调试指南
简介这是一份面向嵌入式初学者与单片机课程设计者的51单片机密码锁综合实践资源聚焦密码管理、串口交互与系统仿真三大核心能力训练。资源完整实现密码修改、串口指令上锁/解锁、LCD状态显示、矩阵键盘输入及电子锁驱动功能覆盖从硬件逻辑到软件协议的典型控制流程适用于课程设计、毕业设计及技能实训场景。压缩包共37个文件含5个C源码main.c、Uart.c、MatrixKey.c等、4个头文件定义IO、串口、LCD等接口、5个编译生成的obj目标文件、1个可烧录hex文件以及Proteus仿真工程.pdsprj/.pdsbak和Keil项目配置.uvproj/.uvopt整体仅144KB轻量易导入。已有2592人学习下载提供开箱即用的软硬协同方案包含完整工程目录结构、模块化代码注释、串口通信协议说明及LCD1602显示逻辑实现助读者快速理解密码锁状态机设计与外设协同机制。1. 为什么一个“51单片机密码锁”项目至今仍是嵌入式入门绕不开的硬核练兵场不是因为它多先进——它用的是40年前的架构也不是因为它多复杂——核心逻辑不到200行C代码。真正让它在高校实验课、电子设计竞赛初筛、自学嵌入式第一块开发板上反复出现的原因是它精准卡在“能动手验证、有完整闭环、暴露真实边界”的黄金交点上你得真接按键矩阵得调串口收发协议得处理EEPROM掉电保存得让LED和蜂鸣器给出可听可见的反馈还得在Proteus里把时序一帧帧对齐。网上搜“51单片机密码锁”90%的教程卡在“下载不进芯片”或“串口发指令没响应”背后其实是时钟配置错、串口中断未使能、EEPROM写入时序超时、密码比对逻辑漏判空格/回车等一连串硬件-固件-仿真三端咬合失败的典型问题。这篇笔记不讲原理图怎么画、不贴万能代码模板只聚焦一个目标用最简硬件STC89C52 4×4矩阵键盘 1602 LCD MAX232 最小仿真环境Proteus 8.13 Keil uVision5跑通“上锁/解锁/修改密码”全链路并把每个翻车点变成可复现、可定位、可秒修的确定性动作。适合刚焊完第一个LED、想亲手摸清“单片机到底怎么跟人对话”的开发者。2. 从Keil工程到Proteus连线最小可运行系统的四步落地2.1 创建Keil工程并固化基础外设驱动框架新建uVision5工程CPU型号选Atmel AT89C52注意不是STC但引脚兼容仿真阶段足够。关键不是堆代码而是先锁死三个底层模块的初始化顺序与默认参数// main.c 全局变量声明必须放在所有函数外 unsigned char code KEY_MAP[4][4] { {1,2,3,A}, {4,5,6,B}, {7,8,9,C}, {*,0,#,D} }; // 矩阵键盘字符映射表*号用于上锁#号用于解锁D用于进入改密模式 unsigned char password[6] 12345; // 初始密码5位结束符存于RAM供比对 unsigned char new_pwd[6]; // 新密码缓存区 bit pwd_modified 0; // 密码修改标志位EEPROM写入后置1 // 初始化函数按硬件依赖顺序调用 void init_system() { init_uart(); // 串口必须最先初始化后续调试依赖printf重定向 init_lcd(); // LCD次之需延时稳定 init_keypad(); // 键盘最后依赖IO口已配置为输入 read_password_from_eeprom(); // 从EEPROM读取上次保存的密码关键 }提示read_password_from_eeprom()是成败分水岭。STC89C52无内置EEPROM需外挂AT24C02但Proteus仿真中直接使用AT24C02器件模型即可。此函数必须在main()开头调用否则所有密码操作都基于RAM中的初始值掉电即丢——这正是新手“改完密码重启就失效”的根源。2.2 Proteus中构建可仿真的硬件拓扑在Proteus ISIS中放置以下元件并按规范连线非示意是实操必检项元件名关键参数设置连线要点易错点AT89C52Clock Frequency: 11.0592MHzXTAL1/XTAL2接11.0592MHz晶振30pF电容RST接10kΩ上拉10μF电容到VCC复位电路不配仿真必死LM016L (1602)Display Type: LCD_16x2RS→P2.0, RW→P2.1必须接地RW0才写入E→P2.2DB4~DB7→P0.4~P0.74位模式4×4 KeypadKey Layout: 4x4 Matrix行线Row0~Row3接P3.0~P3.3列线Col0~Col3接P3.4~P3.7所有列线必须加10kΩ上拉电阻到VCCMAX232Model: MAX232T1IN→P1.0, R1OUT→PC串口RXT1OUT→PC串口TX, R1IN→P1.1C1,C1-,C2,C2-必须接1μF电解电容注意Proteus中若LCD显示乱码或全黑90%概率是RW引脚悬空未接地或E引脚时序未触发若按键无响应优先检查列线是否漏接上拉电阻——这是仿真里最隐蔽的“硬件虚焊”。2.3 串口通信协议定义与Keil端收发实现本项目采用ASCII明文指令避免解析二进制协议的复杂度。约定如下必须与PC端串口助手完全一致指令格式功能说明响应单片机返回LOCK\r\n执行上锁蜂鸣器响1sLCD显示LOCKEDOK:LOCKED\r\n或ERR:WRONG\r\nUNLOCK12345\r\n解锁UNLOCK5位密码OK:UNLOCKED\r\n或ERR:FAIL\r\nSETNEW67890\r\n修改密码SETNEW5位新密码OK:SAVED\r\n或ERR:WRITE_FAIL\r\nKeil中实现接收缓冲区与指令解析精简核心逻辑// serial.c 中的串口中断服务程序 void uart_isr() interrupt 4 { static unsigned char rx_buf[16]; static unsigned char rx_len 0; if (RI) { // 接收中断 RI 0; unsigned char ch SBUF; if (ch \r || ch \n) { // 行结束符 rx_buf[rx_len] \0; parse_command(rx_buf); // 调用指令解析函数 rx_len 0; } else if (rx_len 15) { rx_buf[rx_len] ch; } } } // 指令解析函数关键严格匹配前缀长度 void parse_command(unsigned char *cmd) { if (strncmp(cmd, LOCK, 4) 0) { lock_door(); } else if (strncmp(cmd, UNLOCK, 6) 0 strlen(cmd) 11) { // UNLOCK5位密码11字节校验长度防误触发 if (strcmp(cmd6, password) 0) { unlock_door(); } else { send_str(ERR:WRONG\r\n); } } else if (strncmp(cmd, SETNEW, 6) 0 strlen(cmd) 11) { // 同样校验长度防止SETNEW123被误认为SETNEW12345 if (write_password_to_eeprom(cmd6)) { send_str(OK:SAVED\r\n); } else { send_str(ERR:WRITE_FAIL\r\n); } } }逻辑说明parse_command()不做复杂状态机而是用strncmp和strlen做强约束匹配——UNLOCK指令必须是11字节6字节前缀5字节密码杜绝UNLOCK123这种截断指令导致的误解锁。这是安全类设备的底线思维。3. EEPROM密码持久化AT24C02读写时序与Proteus仿真避坑3.1 AT24C02地址规划与写保护机制STC89C52通过I²C总线访问AT24C02。关键参数必须手算确认器件地址7位AT24C02固定为1010A2/A1/A0引脚接地 → 地址1010 0000x50页写入限制每页8字节0x00~0x07, 0x08~0x0F...跨页写入会覆盖前页数据写入时序要求写入后需等待WCWrite Cycle完成典型值10ms不能靠延时必须读ACK确认3.2 I²C底层驱动与密码存储结构在Proteus中AT24C02的SDA/SCL必须接上拉电阻4.7kΩ到VCC否则I²C通信必然失败。Keil中实现带ACK检测的写入函数// i2c.c - 精简版I²C写入仅写1字节满足密码存储需求 bit i2c_write_byte(unsigned char addr, unsigned char data) { unsigned char i; i2c_start(); // 产生起始信号 // 发送器件地址写模式 i2c_send_byte(0x50 1); // 0x50左移1位最低位置0表示写 if (!i2c_wait_ack()) return 1; // 无ACK则失败 // 发送内存地址密码存于0x00开始的5字节 i2c_send_byte(0x00); if (!i2c_wait_ack()) return 1; // 发送数据 i2c_send_byte(data); if (!i2c_wait_ack()) return 1; i2c_stop(); // 产生停止信号 return 0; // 成功 } // 密码写入函数5字节循环调用 bit write_password_to_eeprom(unsigned char *pwd) { unsigned char i; for (i 0; i 5; i) { if (i2c_write_byte(0x00 i, pwd[i])) { return 1; // 某字节写入失败 } // 必须等待WC完成Proteus仿真中10ms足够实际硬件需查手册 delay_ms(10); } return 0; }参数说明delay_ms(10)是Proteus仿真的经验值。真实硬件中AT24C02的WC最大为10ms但部分廉价芯片可能达20ms此处留足余量。若省略此延时连续写入第二字节时会因前一字节未完成而返回NACK。3.3 Proteus中AT24C02仿真失效的三大原因与修复这是本项目最高频的翻车点90%的“改密不生效”问题源于此现象原因分析解决方案Proteus中AT24C02器件不响应任何I²C指令未在AT24C02属性中勾选Enable I2C Simulation默认关闭双击AT24C02→Properties→勾选Enable I2C Simulation重启仿真写入后读出全是0xFF写入地址超出范围AT24C02只有256字节0x00~0xFF或地址指针未归零检查i2c_write_byte()中发送的地址是否≤0xFF读取时必须重新发送地址I²C无自动递增串口显示ERR:WRITE_FAIL但Proteus波形显示SCL有脉冲SDA/SCL未接4.7kΩ上拉电阻或电阻值过大10kΩ导致上升沿过缓Proteus判定为无效电平在Proteus中SDA与SCL引脚各接一个4.7kΩ电阻到VCC5V不可省略不可用10kΩ替代血泪经验第一次在Proteus中调试I²C我花3小时排查代码最后发现是AT24C02的Enable I2C Simulation没勾选——这个开关藏在属性页第三屏且默认关闭。仿真器不会报错只会静默失败。4. 仿真调试全流程从Keil下载到Proteus交互验证的七步闭环4.1 Keil生成HEX文件并加载到ProteusKeil中编译工程CtrlF7确认Build Output窗口无Error在Project → Options for Target → Output中勾选Create HEX File重新编译F7生成project_name.hex路径在Objects/目录下在Proteus中双击AT89C52 →Program File栏点击文件夹图标 → 选择该HEX文件关键检查Clock Frequency必须与Keil中Target页设置的晶振频率一致11.0592MHz否则串口波特率偏差超20%通信必乱码4.2 串口助手配置与指令发送验证使用XCOM或SSCOM等串口助手设置如下必须逐项核对参数项必设值错误后果波特率9600与Keil中init_uart()配置必须一致TH10xFD; TL10xFD;对应960011.0592MHz数据位8与SCON0x508位UART模式匹配停止位1同上校验位None无校验发送模式ASCII 回车换行指令末尾必须带\r\n否则单片机无法识别行结束符验证技巧先发LOCK\r\n观察LCD是否显示LOCKED且蜂鸣器响再发UNLOCK12345\r\n看是否变UNLOCKED。若第一步成功但第二步失败立即检查password[]数组是否被意外修改如缓冲区溢出覆盖。4.3 Proteus中实时观测关键信号利用Proteus虚拟仪器定位硬件级问题逻辑分析仪Logic Analyzer接P1.0(TX)和P1.1(RX)观察串口波形。正常9600bps下1位时间≈104μs起始位低电平宽度应接近104μs。若过宽120μs说明晶振频率配置错误。电压探针Voltage Probe点测P3.0~P3.3键盘行线按下按键时对应行线应被拉低至0V若始终为高检查键盘行线是否接错IO口或Keil中P3口未配置为弱上拉STC89C52默认开漏需外接上拉。I²C DebuggerProteus自带工具Debug → I2C Debugger可实时查看AT24C02的读写地址与数据比示波器更直观。玄学排查法当所有设置看似正确却无响应时在Keil中main()开头插入P1 0xFF;P1口全输出高电平然后用Proteus电压探针测P1.0若为低电平则证明程序根本没跑起来——大概率是HEX文件未加载或晶振配置错。5. 避坑指南五个让90%新手停在“能编译但不工作”的致命细节5.1 矩阵键盘扫描时序与消抖的硬伤现象按键偶尔失灵或按一次触发多次原因未做硬件消抖Proteus中键盘模型无抖动但真实电路必须考虑且软件消抖延时不足10ms解决在scan_keypad()函数中检测到按键后执行delay_ms(15)再二次确认两次读值相同才有效。Proteus仿真中虽可省略但代码必须保留——这是向真实硬件迁移的必填项。5.2 LCD 1602的忙信号BF被忽略现象LCD显示乱码、字符错位、部分区域不亮原因4位模式下每次写指令/数据前必须读BF位DB7BF1表示LCD正忙不可写入解决在lcd_write_cmd()和lcd_write_data()中加入忙检测循环void lcd_check_busy() { P0 0xFF; // P0设为输入 RS 0; RW 1; E 1; // 准备读BF while (P0_7); // 等待BF0P0.7为DB7 E 0; }5.3 串口接收缓冲区溢出覆盖关键变量现象改密后密码变乱码或解锁时返回ERR:WRONG但密码明明正确原因rx_buf[16]定义在函数内为局部变量存于栈中若接收超长指令如SETNEW123456789会溢出覆盖相邻的password[]数组解决将rx_buf声明为全局变量并在parse_command()开头添加长度校验if (strlen(cmd) 15) { // 超过缓冲区上限 send_str(ERR:CMD_TOO_LONG\r\n); return; }5.4 Proteus中MAX232电容极性接反现象PC端能发指令单片机无任何响应LCD不变化、蜂鸣器不响原因MAX232的C1,C1-,C2,C2-为电解电容Proteus中若正负极接反电荷泵失效RS232电平转换失败解决双击MAX232→Edit Component→检查C1接V、C1-接GND、C2接GND、C2-接V-标准接法5.5 Keil中未启用中断使能寄存器现象串口收不到数据但TX引脚有波形说明发送正常原因EA1; ES1;总中断与串口中断使能未在init_uart()中设置或被后续代码意外清零解决在init_uart()末尾强制设置EA 1; // 开总中断 ES 1; // 开串口中断并在main()开头再次确认if (!ES) ES1;防御性编程6. 进阶技巧用Proteus虚拟终端替代串口助手实现一键自动化测试6.1 构建虚拟终端脚本驱动密码流程Proteus自带Virtual Terminal虚拟终端可脱离PC串口助手直接在仿真界面内完成指令交互。但默认只能手动输入我们通过预设指令序列延时控制实现自动化在Proteus中放置Virtual Terminal双击设置Baud Rate9600Data Bits8Stop Bits1将其TX引脚连到AT89C52的P1.1RXRX引脚连到P1.0TX关键操作右键Virtual Terminal→Edit Command Script输入以下脚本// 自动化测试序列上锁→解锁→改密→验证新密 SEND LOCK\r\n DELAY 1000 SEND UNLOCK12345\r\n DELAY 1000 SEND SETNEW67890\r\n DELAY 1500 // 等待EEPROM写入完成 SEND UNLOCK67890\r\n DELAY 1000 SEND LOCK\r\n提示DELAY单位为毫秒必须大于EEPROM写入时间10ms和LCD刷新时间约50ms。此脚本可保存为.vts文件下次直接加载。6.2 用Proteus信号发生器模拟电源波动测试可靠性真实场景中密码锁可能遭遇瞬间断电。在Proteus中可主动注入故障放置Signal Generator信号发生器类型选Pulse设置Frequency0.5Hz2秒周期Duty Cycle50%Amplitude5V将其输出接AT89C52的VCC引脚通过DC Voltage Source叠加观察当VCC跌落时LCD是否黑屏恢复供电后密码是否仍为修改后的67890若否说明EEPROM写入未完成即断电——需在write_password_to_eeprom()中增加写入前校验与写入后校验机制。6.3 从仿真到实物的三道迁移关卡与通关清单仿真成功不等于实物能跑以下是必须逐项验证的迁移清单关卡仿真中可忽略实物中必须处理验证方法晶振负载电容Proteus自动匹配外部11.0592MHz晶振必须配2个30pF电容一端接晶振引脚一端接地用示波器测XTAL1波形应为清晰正弦波IO口驱动能力Proteus中IO口理想模型STC89C52 P0口需外接10kΩ上拉电阻才能驱动LCD DB4~DB7开漏输出万用表测P0.4~P0.7对地电阻应≈10kΩEEPROM写入寿命Proteus中AT24C02无限次读写实际AT24C02擦写次数约100万次密码修改需加写保护如连续3次失败锁1分钟用逻辑分析仪抓I²C波形确认写入后有ACK响应我带过的某高校电子创新实验室曾用这套仿真流程让大二学生在3天内完成从零到实物焊接。他们最大的收获不是做出一个密码锁而是第一次看清了“代码-电信号-物理器件”之间每一层的咬合关系——比如为什么delay_ms(10)不能写成delay_ms(5)为什么RW引脚必须接地为什么SETNEW指令要卡死11字节长度。这些细节不是教条而是工程师每天面对的真实颗粒度。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

MongoDB 跨机房复制集:链式复制原理、配置与实战避坑

MongoDB 跨机房复制集:链式复制原理、配置与实战避坑

如果你维护的 MongoDB 复制集跨了两个甚至三个机房,大概率遇到过这样的窘境:主库在机房 A,机房 B、C 里的从节点全都直连主库拉 oplog。结果就是每写一笔,都要跨机房广播一份数据;网络一抖,远端节点延迟飙升…

2026/10/16 8:59:08 阅读更多 →
STM32 PWM精确输出脉冲数控制电机:硬件定时器方案与避坑指南

STM32 PWM精确输出脉冲数控制电机:硬件定时器方案与避坑指南

简介:这份资源面向STM32嵌入式开发者与电机控制初学者,聚焦用PWM实现精确脉冲个数输出,解决步进电机步进次数与舵机转角难以精准控制的问题。包内共196个文件,以h头文件、c源文件、o目标文件、axf可执行文件、hex烧录文件、uvproj…

2026/10/16 8:59:08 阅读更多 →
拆解 gcc -o hello hello.c:从一条命令看懂 C 语言编译全过程

拆解 gcc -o hello hello.c:从一条命令看懂 C 语言编译全过程

写这篇文章的念头,源自一次带新人排查问题的经历。有位刚接触Linux开发的同事,对着一个简单的编译报错盯了半天,最后问我:“这命令不是简简单单gcc -o hello hello.c吗?怎么跑起来全是坑?”我当时愣了一下&…

2026/10/16 8:59:08 阅读更多 →

最新新闻

AI输出即他人输入:构建可靠的模型输出流水线

AI输出即他人输入:构建可靠的模型输出流水线

1. 这篇文章真正要解决的问题 最近团队里一个同学向我吐槽:他们做的一个 AI 客服系统,明明单轮对话效果不错,但一接到真实业务链条里就频繁出问题。不是回复质量变差,而是 下游系统根本没法吃下 AI 的输出 ——要么 JSON 格式带…

2026/10/17 10:54:11 阅读更多 →
AI输出如何成为下游系统的可靠输入:基于FastAPI与Redis Streams的异步消费链路设计

AI输出如何成为下游系统的可靠输入:基于FastAPI与Redis Streams的异步消费链路设计

在 AI 应用开发中,很多人习惯把注意力放在模型本身:提示词写得好不好、生成结果流不流畅、推理速度快不快。但真正把 AI 能力落地到业务系统时,还有一个经常被忽略的问题——模型返回的那段文本,不是一个孤立的结果,它…

2026/10/17 10:54:11 阅读更多 →
哈夫曼编码实现数据编码与解码:从原理到C工程实践

哈夫曼编码实现数据编码与解码:从原理到C工程实践

哈夫曼编码大概是《数据结构》这门课里最“实用主义”的一章——它不只是一个考点,而是真的有工程价值。这次的项目题目是哈夫曼编码实现数据编码与解码,简单说就是:统计文本中每个字符的出现频率,用频率构造一棵哈夫曼树&#xf…

2026/10/17 10:54:11 阅读更多 →
【免费】Trae AI零基础编程入门:从VS Code迁移到TaoToken统一Key的快速上手

【免费】Trae AI零基础编程入门:从VS Code迁移到TaoToken统一Key的快速上手

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 10:54:11 阅读更多 →
算法重点题:破解教学痛点与面试断层的思维训练手册

算法重点题:破解教学痛点与面试断层的思维训练手册

1. 这不是一本普通习题集:它是一把打开算法思维的实体钥匙“计算机算法设计与分析 第4版(王晓东)重点题”——这个标题乍看像教辅书目录里再普通不过的一行字,但在我带过十几届算法课程、批改过上万份作业和试卷之后,我…

2026/10/17 10:54:11 阅读更多 →
农行网银支付Java接口对接实战:从签名验签到回调避坑指南

农行网银支付Java接口对接实战:从签名验签到回调避坑指南

简介:面向需要在Java环境中集成农业银行网银支付功能的开发者,提供完整接口文档与可运行Demo。压缩包共147个文件、约5.1MB,包含class字节码、jsp动态页面、html说明页面、jar依赖库、properties配置及cer证书、truststore信任库等类型&#…

2026/10/17 10:53:11 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →