终于又冒泡了哈~~这两个星期一直在搞这个16*8点阵,现在终于要和大家见面了哈。
这个应该是我大学里面最后一次折腾51单片机了,因为前段已经入STM32了,不过这段又回来折腾了一翻。
特别说明:因时间和工程耗大的原因,在该贴未涉及教程、程序和原理图等,本人决定会在元旦新年前专门录展示视频和必要的制作教程及部分程序讲解等,并全部开源。同时为方便新手快速的打造其中的某个功能,会将合并程序和各个拆开的模块程序一并共享给大家,毕竟并不是所有人都像我一样能同时打造那么多功能,届时敬请大家踊跃顶帖哈!本人提供的程序可以说几乎涵盖了51单片机教程里的各个功能和器件,及点阵显示和及各类算法的技巧。总之,可以说是本人研究51单片机积累的经验哈。最后希望我的这个作品能在第一期的“每月最佳作品”光荣上榜哈!下篇“分享帖”将同时发在本显示屏版块和“第一届DIY比赛”版块,因为比赛版块才可以晒视频哈!并作为2013年新年礼物分享给大家哈~~
先晒两张部分功能图:
开始晒硬件图(先不解释和说明,留到下一帖哈,大家把看到器件的说出来,说得多且对的有刀币奖励哦) :
整体硬件图:
打开内脏,整体图:
内脏上盖主控板:
内脏下盖辅助功能板:
以上硬件能做什么呢?下面是整体功能介绍。
/************************************多功能智能玩具整体功能说明*******************
1、整合五大功能:
时钟显示(掉电走时,带闰年、闹钟、真人语音报时、半夜自动开关屏、温度显示等,同时支持红外遥控和按键双控制);
俄罗斯方块游戏(带欢迎及结束画面,可显示游戏分数并有加分机制,同时支持红外遥控和按键双控制);
FM收音机(带外扬功能,不开收音时也可当一般功放机使用,同时支持红外遥控和按键双控制);
摇摇棒(包含三个界面显示:当前时间显示、文本显示“新年好”、文体显示“我爱你”);
简单电压表(使用外接电源可测电压范围0-5V,使用内置锂电可测电压范围0-3.8V,误差±0.1V);
2、可横竖双屏显示功能,静态显示,上下移显示,左右滚动显示。
3、具有机器工作状态指示灯,在各个功能中进行不同的操作,状态LED均有不同变化。
4、全面同时支持红外遥控和按键双控制。
5、开机欢迎画面,功能切换提示画面。
6、外接电源+内置锂电双电源满足不同场合工作。
7、内含功放电路,也可当一般小功放使用。
8、关键数据掉电保存,如闹铃时间、报时开关等。
***************************************************************************************/
开始开机演示:
一、时钟功能
/***********************一、时钟功能介绍****************************************************
1、上电初始显示时、分、秒,隔适当时间后依次滚动显示年、月、日、星期、温度和农历月、日,
支持掉电走时;
2、农历使用软件计算,并对农历的显示优化,如1-10日显示“初一-初十”,以及二十、三十的"廿"、"卅",
一月显示成“正”月等;
3、全面支持红外按键和机械键盘双操作;
4、带一组闹铃功能,同时该闹铃支持在全部功能界面后台运行,在任一界面闹铃时间到均会响起,但不
会中断当前操作。可以设置该闹铃的时间并掉电保存,支持手动开关闹铃,闹铃时间到时默认响一分钟,
并可在闹铃正在响时手动停止(须返回时钟界面才可);
5、支持真人语音报时,到整点或按报时键会依次报时、分、秒,年、月、日、星期、温度和农历月、日,
也支持手动开关报时和掉电保存自动报时开关状态。整点报时标志位在后台运行,在打开报时功能下,整点
时在任一功能界面均会自动返回时钟显示界面进行报时(如果在游戏界面则会暂停并保存游戏才返回时钟界面);
6、LED工作指示:一直是隔一秒闪一次。
*****************************************************************************************/
二、俄罗斯方块游戏功能
/***********************二、俄罗斯方块游戏功能介****************************************************
1、16*8竖屏显示,随机产生方块;
2、智能算法判断,判断遇障碍、遇边界、自动消行等,尽可能的减少游戏BUG;
3、两位数码管显示游戏分数,并设有游戏机制,如消一行加1分,消两行3分,消四行7分等,并
在每计30分设为一个关卡,每加一个关卡方块速度加快一个单位;
4、支持遥控和按键双操作;
5、游戏未开始和结束界面均做优化;
6、暂停游戏后再切换到其它功能界面会自动保存当前游戏状态,当再次返回游戏功能界面会继续游戏,
同时当整点报时启动时也会自动先暂停并保存当前游戏状态再返回时钟显示并报时。不暂停,离开
游戏界面后再返回时,游戏会清空并重新启动。
7、LED工作指示:在游戏未开始界面快闪,游戏开始时隔一秒闪一次,游戏暂停时一直亮。
*****************************************************************************************/
三、FM收音功能
/***********************三、FM收音功能介绍****************************************************
1、手动调频、自动搜台调频双模式;
2、支持遥控和按键双操作;
3、收音机界面,16*8显示屏用于显示当前频率,数码管用于显示温度;
4、可接耳机,也可打开外扬,并有耳机天线增强信号;
5、不打开收音机,可将内置功放当做一般放大器,输入音源放大;
6、LED工作指示:正常工作时隔一秒闪一次,自动搜台时快闪。
*****************************************************************************************/
四、“摇摇棒”功能(捕捉拍摄这种东西很蛋疼)
/***********************四、“摇摇棒”功能介绍****************************************************
1、默认第一画面是显示时钟,可显示当前时、分、秒;
2、第二、三画面是显示文本“新年好”和“我爱(心形)你”
3、仅支持按键操作,按OK键切换显示画面;
4、数码管显示当前功能序号;
5、LED工作指示:常亮。
*****************************************************************************************/五、“简单电压表”功能
/***********************五、“简单电压表”功能介****************************************************
1、两位简单电压表,16*8显示"U=",在数码管显示电压值“X.X”;
2、使用外接5V电源测量范围是0-5V,使用内置锂电测量范围是0-3.8V,误差±0.1V),不可反接;
3、除功能切换界面按键有效外,其它按键全无效;
4、LED工作指示:常亮。
*****************************************************************************************/六、其它显示优化,如有开机画面,功能切换的提示画面哈
展示完毕了哈,再返回回去看看我前几天的帖子,看还有什么功能没实现
本来还有频谱显示和计算器,这两个功能如果不合在其它功能的话,我还是调试好了的。特别是语音计算器,源码我已经弄好,只是整到一起的时候出了很多问题,后面不能整一起。但后面还是会向大家分享和展示这两个模块功能的。也许某些大神觉得这些功能都没什么,分开的功能估计很多人都可以写出来,但是要很多的功能整在一起,并用不是很高级的51单片机来实现会出现N多问题。其实按照我以前做板和写程序的进度,根本不需要那么一两个星期才做完,但是这一次在程序这里耗了很长的时间,每增加一个功能就会出现N多BUG,很多子模块的功能和自己以前都写有或直接网上有,但真整合在一起,每天就是不断测试和发现BUG,然后想办法修正。而且开发语言用的是C,这样功能杂多的工程用KEIL编译出来后,某些东西就变味了,就会出现到现在我都无法解决的小BUG。当然,本人当年学单片机是从汇编起步的,对单片机的硬件还是蛮了解的哈。
最后给大家晒晒我的整个工程截图,各个功能各分成一个C文件。大家看看就知道我这个工程不简单了。编译出来,选择了九级编译优化还是有15K左右哈。
顶这帖的人越多,开源和视频分享的进度会越来越快,期待大家的支持!
|