
今天上午趁热打铁
做了些简单的调试
基本上形成了一个毛胚货
做了个巨难看的欢迎界面,15秒
后面再美化一下吧
这个毛胚货稍微改进了一下
开机后可以每次恢复掉电前的音量
其实就2个函数:Read_Eeprom_Single和Write_Eeprom_Single
感谢qymidy分享的源代码
不过有个担心,eeprom读写的次数过多,会不会损坏
上传上来,一起愉快地玩耍吧
直接把头文件和c文件贴上来
stc15_eeprom.h:
#ifndef _SET15_EEPROM_H_ #define _SET15_EEPROM_H_ #include #define EEPROM_START_ADDR 0x0000 unsigned char Read_Eeprom_Single(void); void Write_Eeprom_Single(unsigned char w_data); #endif
#include "stc15_eeprom.h" #define CMD_IDLE 0 #define CMD_READ 1 #define CMD_WRITE 2 #define CMD_ERASE 3 void Delay_Us(unsigned int x) { while(x--); } unsigned char Read_Eeprom_Single(void) { unsigned char r_data; //读取 IAP_CONTR = 0x83; //12MHz IAP_CMD = CMD_READ; IAP_ADDRL = EEPROM_START_ADDR; IAP_ADDRH = EEPROM_START_ADDR >> 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; Delay_Us(10); r_data = IAP_DATA; //停止EEPROM IAP_CONTR = 0; IAP_CMD = CMD_IDLE; IAP_TRIG = 0; IAP_ADDRH = 0x80; IAP_ADDRL = 0; return r_data; } void Write_Eeprom_Single(unsigned char w_data) { //unsigned char r_data; //擦除 IAP_CONTR = 0x83; //12MHz IAP_CMD = CMD_ERASE; IAP_ADDRL = EEPROM_START_ADDR; IAP_ADDRH = EEPROM_START_ADDR >> 8; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; Delay_Us(10); //停止EEPROM IAP_CONTR = 0; IAP_CMD = CMD_IDLE; IAP_TRIG = 0; IAP_ADDRH = 0x80; IAP_ADDRL = 0; //写入 IAP_CONTR = 0x83; //12MHz IAP_CMD = CMD_WRITE; IAP_ADDRL = EEPROM_START_ADDR; IAP_ADDRH = EEPROM_START_ADDR >> 8; IAP_DATA = w_data; IAP_TRIG = 0x5a; IAP_TRIG = 0xa5; Delay_Us(10); //停止EEPROM IAP_CONTR = 0; IAP_CMD = CMD_IDLE; IAP_TRIG = 0; IAP_ADDRH = 0x80; IAP_ADDRL = 0; }
最后上一个工作视频,欢迎吐槽
视频地址:http://player.youku.com/player.php/sid/XOTIwMDU3OTYw/v.swf
同时加入红外功能的时候
发现控制器的资源已经被消耗完了
后面再想办法把红外加进来吧

周末在家把显示控制部分彻底折腾了一下
使用版主witin的源代码
把红外、音量保存都实现了
代码打个包,有兴趣撸去瞧瞧
写得比较乱,将就看看
因为用到大量串口数据和操作
所以204的4k代码空间基本上已经被用光了
估计是流程优化不够吧
加上204仅引出2个管脚
基本上没有再折腾的空间了
上个视频吧
这个视频演示了目前所完成的所有功能
输入检测、音量保存、红外控制及显示、触屏控制及显示等等
欢迎来喷
视频地址:http://player.youku.com/player.php/sid/XOTIyMTExNzI4/v.swf
后面再想想如何DIY一下音响
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |