這是目前我找到功能比較強大的一個電子表,特拿出來分享。文件中包含DSN文件與HEX文件。包含了流水燈,修改時間以及音樂播放的功能。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
QQ截圖20190428155936.png (66.89 KB, 下載次數: 66)
下載附件
2019-4-28 16:03 上傳
單片機源程序如下:
- #include<reg52.h>
- #include <intrins.h>
- #include <absacc.h>
- #include<lcd.h>
- #include<1302.h>
- #include<music_code.h>
- #include<SoundPlay.h>
- #include<dds.h>
- uchar code time[]={'0','1','2','3','4','5','6','7','8','9'};
- uchar code get_up[]="Time to Get up!";
- uchar code str[]="Never frown,even when you are sad,because you never know who is falling in love with your smile! To the world you may be one person,but to one person you may be the world ";
- uchar code menu[4][10]={{"Time Set"},{"Music"},{"Books"},{"Ring Set"}};
- void main()
- {
- ini();
- open();
- delay(255);
- delay(255);
- delay(255);
- delay(255);
- write_order(0x01,1);
- init_ds1302();
- set_ds1302(time_add,initial_time);
- while(1)
- {
- /*read_ring();
- if(ring_time[0]==now_time[0]&&ring_time[1]==now_time[1]&&ring_time[2]==now_time[2])
- {
- timeup();
- } */
- detect();
- write_order(0x80+0x04,1);
- for(i=0;menu[key][i]!=0;i++)
- {
- write_date(menu[key][i]);
- }
- get_ds1302();
- write_order(0x80+0x40,1);
- write_date(time[now_time[4]>>4]);
- write_date(time[now_time[4]&0x0f]);
- write_date(0x01);
- write_date(time[now_time[3]>>4]);
- write_date(time[now_time[3]&0x0f]);
- write_date(0x00);
- write_date(' ');
- write_date(' ');
- write_date(time[now_time[2]>>4]);
- write_date(time[now_time[2]&0x0f]);
- write_date(':');
- write_date(time[now_time[1]>>4]);
- write_date(time[now_time[1]&0x0f]);
- write_date(':');
- write_date(time[now_time[0]>>4]);
- write_date(time[now_time[0]&0x0f]);
- if(key==2)
- {
-
- sum=0;
- book();
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
基于1602 ds12b80 ds1302 音樂 電子書 流水燈的多功能電子表.rar
(58.88 KB, 下載次數: 74)
2019-4-28 16:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|