51单片机实现的音乐闹钟程序代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

功能描述:产品可以显示时间和日期,时间格式为 hh mm ss 日期格式为 yy.mm.dd

时间和日期轮流显示。时间显示5S 日期显示3S。

可以设置5个闹铃,闹铃音乐可以设置两种:毛驴和童年。

三个按键对时间和闹铃进行设置,六个LED进行显示。

计时采用DS1307。继电时间不丢失,设置过的闹铃也不丢失。

闹铃音乐由单片机的两个定时器去产生频率实现。

部分程序如下:

//*************************************************

//************************************************

//***********************************************

//程序名:DS1307 时钟程序

//功能描述:用六个八段LED 轮流显示时间

// 和日期。有6个闹钟。上电时从DS1307中读出

// 当前时间、日期、闹钟。

//

//

//

//

//

#include

#include

#define uchar unsigned char

#define uint unsigned int

#define LED P2

#define LEDBit P0

#define nop _nop_(>

#define LightCount 40

#define LightMax 80

sbit SCL=P3^1。

sbit SDA=P3^0。

sbit ModeKey=P1^0。

sbit UpKey=P1^1。

sbit DownKey=P1^2。

sbit Speak=P3^6。

code uchar

LCD_NUM[10]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09}。

//0x25,

//uchar Clock[]={0x88,0x88,0x88}。

code

uint Music_Sound_Long1[]={4,8,4,8,8,4,8,4,4,4,

/*童年*/

8,4,8,4,4,4,4,4,16,4,

4,8,4,4,4,4,4,8,4,4,

4,8,4,4,4,4,4,4,16,4,

4,8,4,4,4,4,4,8,4,4,

4,8,4,4,4,4,4,4,16,4,

8,4,8,4,4,4,8,8,4,4,

4,4,4,4,4,4,4,4,4,16,

4,8,4,8,8,4,8,4,4,4,

8,4,8,4,4,4,4,4,16,4,

8,4,8,8,4,8,4,4,4,8,

4,8,4,4,4,4,4,16,0},

Music_Sound_Long2[]={4,4,4,4,4,4,4,4,4,4,

/*小毛驴*/

4,4,16,4,4,4,4,4,4 ,4,

4,4,4,4,4,8,4,4,4,4,

4,4,4,4,4,4,4,4,4,16,

4,4,4,4,2,2,2,2,4,4,

4,4,4,4,16,0},

Music_Sound_Tone1[]={379,379,379,379,425,477,477,477,425,477,

568,637,637,637,568,637, 425,379,477,719, 637,63 7,719,637,568,568,506,568,568,568,

637,477,477,477,477,568,477,568,637,719,

637,637,719,637,568,568,506,568,568,568,

637,477,477,477,477,568,568,477,851,318,

318,318,318,379,425,477,477,568,477,568,

477,425,425,425,425,425,477,379,425,425,

379,379,379,379,425,477,477,477,425,477,

568,637,637,637,568,637,425,379,477,379,

379,379,379,425,477,477,477,425,477,568,

637,637,637,568,637,425,379,477,0}, /*童年*/

Music_Sound_Tone2[]={956,956,956,719,637,637,637,637,568,568, /*小毛驴*/

568,477,637,716,716,716, 568,719,719,719,

719,851,851,851,851,637,637,956,956,956,

719,637,637,637,637,568,568,568,477,637,

716,716,716,568,719,719,719,719,719,719,

851,851,851,719,956,0}。

uchar DS1307[27]={0}。

//00 为秒,01为分,02为时

//10 为日,11为月,12为年

//20 为闹钟控制,21为分,22为时。

//30 为闹钟控制,31为分,32为时。

//40 为闹钟控制,41为分,42为时。

// 同上

// 同上

//闹钟控制十位为闹钟数

//闹钟控制个位为选择闹钟声音程序

//个位为零关闭闹钟

uchar DisplayArr[8][3]={0}。

//*********************************

void Beep(void>。

void DiplayClock(uchar *>。

//void UsuaDisPlay(uchar *>。

void Delay(uint Count>。

void DiplayDelay(void>。

void Start(void>。

void Stop(void>。

相关文档
最新文档