找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3781|回复: 6
收起左侧

基于STM32与3264点阵屏的多功能万年历程序

[复制链接]
ID:281598 发表于 2019-2-20 20:01 | 显示全部楼层 |阅读模式
学了那么久的单片机了,一直想做一个综合的应用,正好家里缺个看时间的东东,我寻思就做个万年历吧。
设计的功能有:时间显示,日期显示,温度与湿度显示,整点报时,亮度控制,来电提醒
硬件上采用了ds3231+tl5615+am2320+3264点阵屏+w25qxx,主控是stm32f103c8t6
大体思路是am2320与ds3231分别提供温湿度与时间数据,w25qxx储存报时与提醒的音频数据(采用wav的格式),tl5615作为da输出驱动扬声器,3264点阵屏就负责显示。
新人第一次发帖,请各位大佬前辈们轻喷,部分程序来自网络,感谢大家共享的资料,放几张效果图大家看看,温湿度是两秒钟交替显示一次。帖子最后放上程序。还有声音数据是通过另一个板子写到w25qxx的,如果有需要我再放出来
欢迎大家提出自己的建议与想法,也欢迎大家与我一同交流学习,留个邮箱吧:302810694@qq.com

制作出来的实物图如下:
QQ图片20190220195252.jpg QQ图片20190220195330.jpg

单片机源程序如下:
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include <3264.h>
  5. #include "timer.h"
  6. #include <ds3231.h>
  7. #include "myiic.h"
  8. #include <tl5615.h>
  9. #include "w25qxx.h"
  10. #include "exti.h"
  11. #include "wavplay.h"
  12. #include <AM2320.h>

  13. extern u8 line,number[12][16],number2[15][6];
  14. extern u8 sec,min,hour,day,month,year,week,alarmflag,pwm_set;
  15. extern float temp,hum;

  16. int main(void)
  17. {
  18.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  19.         delay_init();                     //延时函数初始化                
  20.         LED3264_init();
  21.         IIC_Init();
  22.         waken_am2320();
  23.         W25QXX_Init();
  24.         TIM3_Int_Init(5,7200); //2k
  25.         TIM1_Int_Init(2000,7200); //5hz
  26.         TIM2_Int_Init(20,72);
  27.         TLC5615_init();
  28.         EXTIX_Init();
  29.         Playwav(458751,51408);       
  30.   while(1)
  31.         {
  32.         if(alarmflag==1)
  33.         {
  34.                 if((min==0)&(sec==0))
  35.                 {
  36.                         if((hour>5)&(hour<22))
  37.                         {
  38.                         alarm_hour(hour);
  39.                         }
  40.                 }
  41.         }       
  42.         else
  43.         {
  44.                 Write_TLC5615(0);
  45.         }
  46.         if((hour==5)&(min==0)&(sec==0))
  47.                 pwm_set=2;               
  48.         if((hour==10)&(min==0)&(sec==0))
  49.                 pwm_set=4;
  50.         if((hour==16)&(min==0)&(sec==0))
  51.                 pwm_set=3;
  52.         if((hour==18)&(min==0)&(sec==0))
  53.                 pwm_set=2;
  54.         if((hour==21)&(min==0)&(sec==0))
  55.                 pwm_set=1;
  56.         if((hour==22)&(min==0)&(sec==0))
  57.                 pwm_set=0;
  58.                
  59.         }         
  60. }
复制代码

所有资料51hei提供下载:
点阵屏万年历.7z (216.74 KB, 下载次数: 117)

评分

参与人数 1黑币 +100 收起 理由
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:242804 发表于 2019-2-21 09:20 | 显示全部楼层
看到你这个作品,让我想要做的作品有了一个很好的思路,同时更加的感谢大神你的无私奉献,让我受益匪浅,非常感谢
回复

使用道具 举报

ID:281598 发表于 2019-2-24 06:44 来自手机 | 显示全部楼层
liding12356 发表于 2019-2-21 09:20
看到你这个作品,让我想要做的作品有了一个很好的思路,同时更加的感谢大神你的无私奉献,让我受益匪浅,非 ...

哈哈其实我也是从网络上获得了很多灵感,我才会想到把我的版本发出来。而且我也不是大神,只是个初学者而已,或许有问题我们还可以一起探讨解决呢
回复

使用道具 举报

ID:29751 发表于 2019-2-25 11:35 | 显示全部楼层
感谢楼主   学习了
回复

使用道具 举报

ID:191243 发表于 2019-9-20 16:31 | 显示全部楼层
声音数据 能不能发我一下
回复

使用道具 举报

ID:91165 发表于 2020-5-10 17:34 | 显示全部楼层
刚的到一块3264,需要这个程序,谢谢楼主
回复

使用道具 举报

ID:58110 发表于 2020-5-12 11:22 | 显示全部楼层
这个界面好熟悉
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表