
今天上午趁热打铁
做了些简单的调试
基本上形成了一个毛胚货
做了个巨难看的欢迎界面,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一下音响
回复
打赏帖 | |
---|---|
【S32K146】S32DS watchdog 配置使用被打赏20分 | |
【Zephyr】使用 IAR 调试 Zephyr 镜像被打赏20分 | |
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
【换取手持示波器】RGB屏幕移植ARM-2D库被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】分享一下如何解决瑞萨RA2E1使用printf编译报错问题被打赏27分 | |
rtthread硬件加密-5hash加密分析被打赏10分 |