STC15W104单片机8脚4路2262 1527解码输出程序,带学习功能,掉电储存

STC15W104单片机8脚4路2262 1527解码输出程序,带学习功能,掉电储存。

老铁们今天咱们搞点硬核的!最近在玩STC15W104这个8脚小钢炮,折腾出个支持1527/2262编码的万能遥控解码器。核心功能就三点:自动学习遥控器、掉电记忆数据、四路输出控制。直接上干货!

STC15W104单片机8脚4路2262 1527解码输出程序,带学习功能,掉电储存。

先看硬件配置:P3.2接315M超外差接收头,P5.4-P5.7四个输出口,P3.3用来进学习模式。存储用片内EEPROM,STC15自带IAP功能真香,省了外置24C02。

// 存储结构体 typedef struct { unsigned long addrCode; // 地址码 unsigned char dataCode; // 数据码 unsigned char validFlag; // 有效标志 } RemoteCode; RemoteCode savedCodes[4]; // 对应四个输出通道

学习模式的关键在于捕捉2262的时序特征。实测发现1527的引导码约9ms高电平,跟2262兼容。用定时器1的捕获功能稳如老狗:

void Timer1_Init() { AUXR &= 0xBF; // 定时器时钟12T模式 TMOD &= 0x0F; // 16位自动重装 TL1 = 0x00; TH1 = 0x00; TR1 = 1; // 启动定时器 } // 中断里抓取高低电平时间 if (TF1) { pulseWidth = (TH1 << 8) | TL1; TH1 = TL1 = 0; TF1 = 0; decodeProcess(pulseWidth); // 核心解码逻辑 }

解码状态机才是精髓!用switch-case处理不同阶段的电平:

enum DecodeState { IDLE, SYNC, DATA }; enum DecodeState currentState = IDLE; void decodeProcess(unsigned int width) { switch(currentState) { case IDLE: if(width > 8000) { // 识别到同步头 currentState = SYNC; bitCounter = 0; tempCode = 0; } break; case SYNC: if(width < 2000) { // 短脉冲可能是0或1 tempCode <<= 1; if(width > 1000) tempCode |= 1; if(++bitCounter >= 24) { // 24位编码 saveLearnedCode(); currentState = IDLE; } } break; } }

掉电存储要特别注意擦除次数限制。STC15的EEPROM本质是Flash,写之前必须擦除整个扇区:

void SaveToEEPROM() { IAP_CONTR = 0x80; // 使能IAP IAP_CMD = 0x03; // 扇区擦除 IAP_ADDRH = 0x00; // 扇区地址 IAP_ADDRL = 0x00; IAP_Trigger(); _nop_();_nop_(); // 逐个字节写入 for(int i=0; i<sizeof(savedCodes); i++) { IAP_CMD = 0x02; IAP_ADDRL = i; IAP_DATA = *((byte*)&savedCodes + i); IAP_Trigger(); } IAP_CONTR = 0; // 关闭IAP }

实际应用中发现几个坑:

  1. 接收头输出要接10K上拉,否则低电平不稳
  2. 学习时按住遥控键至少3秒,确保完整接收三组编码
  3. 用软件去抖代替硬件电路,节省空间

完整代码里加了超时机制——超过2秒没收到后续信号自动退出学习模式。输出部分用74HC595扩展,PWM控制继电器也没压力。这个小东西塞进86型开关盒里,改造传统灯具美滋滋!

最后给个快速测试技巧:用镊子短接VCC和GND模拟掉电,立马验证存储是否靠谱。这方案成本不到5块钱,比某宝成品香多了,老铁们赶紧焊起来!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1154903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1.2.3 新兴与特色AI模型测评:Kimi AI与DeepSeek深度解析

1.2.3 新兴与特色AI模型测评:Kimi AI与DeepSeek深度解析 引言 在前两节中,我们了解了国际主流模型(ChatGPT、Claude、Gemini)和国内主流模型(通义千问、文心一言、讯飞星火)。但AI领域日新月异,一些新兴模型在特定领域展现出了令人惊艳的能力。本节将深入测评两个极具…

Sheet-to-Doc二维码生成功能:让文档自动化更智能

在数字化办公时代&#xff0c;二维码已经成为连接物理世界和数字世界的重要桥梁。从产品标签到会议胸卡&#xff0c;从设备标识到文档防伪&#xff0c;二维码的应用场景越来越广泛。你是否遇到过需要批量生成二维码并插入到Word文档中的需求&#xff1f;今天&#xff0c;我将为…

VS Code Copilot新手指南:5分钟上手AI编程

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 编写一个面向新手的VS Code Copilot教程&#xff0c;包含安装步骤、基本功能介绍和简单示例。示例包括生成一个Hello World程序、一个计算器和一个小型待办事项应用。教程要求步骤…

AI助力NGROK内网穿透:自动配置与智能优化

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Python脚本&#xff0c;使用NGROK实现内网穿透功能。要求&#xff1a;1.自动检测本地网络环境 2.根据网络类型(家庭/企业)智能选择最佳穿透协议 3.生成可执行的NGROK配置命…

AI人脸隐私卫士适合个人开发者吗?免费镜像使用指南

AI人脸隐私卫士适合个人开发者吗&#xff1f;免费镜像使用指南 1. 引言&#xff1a;AI 人脸隐私卫士 —— 智能自动打码的轻量级解决方案 在社交媒体、内容创作和数据共享日益频繁的今天&#xff0c;人脸隐私泄露已成为不可忽视的安全隐患。尤其对于个人开发者、摄影爱好者或…

传统vsAI:SWEEZY CURSORS开发效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个对比展示工具&#xff0c;左侧显示传统手写代码实现SWEEZY CURSORS的过程&#xff0c;右侧展示使用AI工具自动生成的相同效果。功能包括&#xff1a;1) 代码量对比&#x…

交通运输行业的信创情况

交通运输信息化发展情况从1989年发布的《交通运输经济信息系统“八五”发展计划》到2021年发布的《数字交通“十四五”发展规划》&#xff0c;我国已经编制了“八五”、“九五”、“十五”、“十一五”、“十二五”、“十三五”、“十四五”等7个五年发展规划以及相关战略规划政…

小白必看:谷歌账号注册图文详解

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个交互式谷歌账号注册指导应用&#xff0c;包含&#xff1a;1)分步骤可视化引导界面 2)实时表单填写示范 3)常见错误动画演示 4)多语言支持 5)注册成功庆祝页面。要求使用Re…

冠珠瓷砖100个名人的家,走进郭培北京玫瑰坊,探寻中国高定美学原点

“玫瑰坊能走到今天&#xff0c;靠的就是‘较真’&#xff0c;对工艺不舍&#xff0c;对细节不让&#xff0c;对空间不敷衍。高定不是商品&#xff0c;而是有温度、有生命的载体&#xff1b;正如冠珠岩板&#xff0c;不只是建材&#xff0c;更是可触摸的东方美学语言。”——郭…

论文分享与解析|基于自监督学习的产前超声图像囊肿性水囊瘤检测方法解析与分享

引言&#xff1a;产前超声检测的挑战与人工智能的机遇 产前超声检查是现代围产医学中不可或缺的筛查与诊断工具&#xff0c;具有实时、无辐射、可重复等优点。然而&#xff0c;超声图像本身存在噪声高、对比度低、视野小、操作者依赖性强等问题&#xff0c;导致图像解读存在较…

iOS 应用安全与代码混淆实践,从源码到 IPA 的多层防护思路

在 iOS 开发过程中&#xff0c;应用安全往往不是第一阶段就被重点考虑的事情。很多团队更关注功能、交互和上线节奏&#xff0c;直到某天发现包被反编译、资源被直接复用&#xff0c;甚至逻辑被照搬&#xff0c;才开始认真思考安全问题。 这几年在做 iOS 项目和协助维护一些商业…

传统vs深度学习:2D骨骼检测方案对比,云端快速验证

传统vs深度学习&#xff1a;2D骨骼检测方案对比&#xff0c;云端快速验证 引言&#xff1a;为什么需要骨骼关键点检测&#xff1f; 想象一下&#xff0c;当你观看一段舞蹈视频时&#xff0c;大脑能自动识别出舞者的手肘、膝盖等关节位置&#xff0c;并据此理解动作含义。骨骼…

TERMUX实战:5个必装工具提升移动办公效率

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个TERMUX应用集合包&#xff0c;包含&#xff1a;1. SSH远程连接工具配置 2. SFTP文件传输方案 3. Vim代码编辑器优化配置 4. Python开发环境 5. 网络诊断工具集。要求提供完…

Z-Image学术研究版:云端白名单IP,论文复现不卡硬件

Z-Image学术研究版&#xff1a;云端白名单IP&#xff0c;论文复现不卡硬件 引言&#xff1a;研究生如何告别GPU排队焦虑 作为一名AI方向的研究生&#xff0c;你是否经常遇到这样的困境&#xff1a;实验室的GPU资源永远在排队&#xff0c;导师催着要论文复现结果&#xff0c;而…

你为什么开始使用Linux?

最近在Linux社区中看到一个很有意思的话题,有人问【你为什么开始使用Linux?】 很多人第一次接触 Linux,是因为:想真正理解操作系统是怎么工作的获取希望对系统有完全的控制权(文件、进程、网络、权限),Linux 不会把细节“藏起来”,这对学习非常友好。 对程序员来说,L…

沙虫病毒与供应链安全:软件供应链成为网络安全的阿喀琉斯之踵

无论是React2Shell、沙虫病毒&#xff08;Shai-Hulud&#xff09;还是XZ Utils漏洞&#xff0c;软件供应链安全正面临多重风险威胁。现代应用程序由众多组件构成&#xff0c;每个组件连同其开发环境都可能成为攻击入口。无论企业是自主开发代码还是依赖第三方供应商&#xff0c…

iOS 文件管理,在不越狱的前提下管理 iPhone / iPad 文件

在 iOS 生态里谈“文件管理”&#xff0c;往往很容易变成一句空话。系统沙盒、权限隔离、Finder/iTunes 的抽象封装&#xff0c;让很多开发者和测试同学习惯性地绕开“文件”这个层面&#xff0c;转而通过接口、日志或导出功能解决问题。但当你需要 真实地看到设备里的文件结构…

一个合格的网络工程师,这些工具基本都要会用

在很多刚入行的同事眼里,网络工程师的核心能力,往往等同于“会敲命令”“记得住配置”。 但实际工作几年后你会发现,命令只是基础,真正决定效率和排障质量的,是你会不会用工具。 网络规模越来越大,设备越来越多,云、虚拟化、安全、自动化不断叠加,如果还停留在“全靠…

骨骼点检测实战:用MediaPipe云端10分钟搭建体态分析Demo

骨骼点检测实战&#xff1a;用MediaPipe云端10分钟搭建体态分析Demo 引言&#xff1a;为什么选择MediaPipe做体态分析&#xff1f; 想象一下你正在开发一款健身APP&#xff0c;需要让手机摄像头实时分析用户的深蹲动作是否标准。传统方案需要申请GPU服务器、搭建深度学习环境…

中国气象观测站点逐日气象数据(1942-2025年)

1942-2025中国气象观测站点逐日气象数据 &#xff08;图片仅供参考&#xff0c;与本数据内容无关&#xff09;数据介绍&#xff1a; 该数据集源自美国国家海洋和大气管理局&#xff08;NOAA&#xff09;下属国家环境信息中心&#xff08;NCEI&#xff09;的权威发布&#xff…