历史上的今天
返回首页

历史上的今天

今天是:2024年10月15日(星期二)

正在发生

2020年10月15日 | 基于AT89c51单片机的音乐闹钟

2020-10-15 来源:51hei

基于51芯片用proteus仿真制作的音乐闹钟,四个按键用来设置时间,和整定闹钟时间,如果要做实物的话,记得参考源码的io口,也可修改


说明:

用的是1602lcd显示屏;

本项目是天空之城的纯音乐,如果要其他的音乐代码可以找我要,也可以网上找;

单片机源码:

#include

#define uchar unsigned char

#define uint unsigned int

sbit lcdrs=P3^5; //定义lcd口

sbit lcden=P3^4;

sbit s1=P3^0;   

sbit s2=P3^1;        

sbit s3=P3^2;        

sbit s4=P3^3;


sbit speaker=P2^2;

sbit led=P2^3;  

uchar count,s1num,num1,num2,timer0h,timer0l,time;

uint i;

char sec,hour,min,ahour,amin,asec;

uchar code table[]="Time:13:59:58   ";

uchar code table2[]="Alarm:  :  :    ";

uchar code kong[]="                ";


        

code unsigned char sszymmh[] = {        6,2,1,      7,2,1,      1,3,3,    7,2,1,    1,3,2,    3,3,2,    7,2,6,

                                      3,2,1,      3,2,1,      6,2,3,    5,2,1,           6,2,2,         1,3,2,           5,2,6,

                                      3,2,2,      4,2,3,      3,2,1,         4,2,2,           1,3,2,         3,2,5,    1,3,1,

                                      1,3,1,      1,3,1,      7,2,3,         4,2,1,    4,2,2,         7,2,2,           7,2,6,

                                      6,2,1,      7,2,1,      1,3,3,         7,2,1,           1,3,2,          3,3,2,           7,2,6,

                                      3,2,1,      3,2,1,      6,2,3,         5,2,1,           6,2,2,          1,3,2,           5,2,6,

                                      2,2,1,      3,2,1,      4,2,2,         1,3,1,           7,2,2,          1,3,3,           2,3,1,

                                                                          2,3,1,      3,3,1,      1,3,5,         1,3,1,           7,2,1,          6,2,1,           6,2,1,

                                                                          7,2,2,      5,2,2,      6,2,6,         1,3,1,           2,3,1,          3,3,3,           2,3,1,

                                                                          3,3,2,      5,3,2,      2,3,6,         5,2,1,           5,2,1,          1,3,3,           7,2,1,

                                                                          1,3,2,      3,3,2,      3,3,8,         6,2,1,           7,2,1,          1,3,2,           7,2,2,

                                                                          2,3,1,      2,3,1,      1,3,3,         5,2,5,           4,3,2,          3,3,2,           2,3,2,

                                                                          1,3,2,      3,3,6,      3,3,2,         6,3,4,           5,3,2,          5,3,2,           3,3,1,

                                                                          2,3,1,      1,3,5,      1,3,1,         2,3,2,           1,3,1,          2,3,1,           2,3,2,

                                                                          5,3,2,      3,3,6,      3,3,2,         6,3,4,           5,3,4,          3,3,1,           2,3,1,

                                                                          1,3,5,      1,3,1,      2,3,2,         1,3,1,           2,3,3,          7,2,2,           0,0,0 };


      

code unsigned char FREQH[]={

                                0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,

                                0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, //1,2,3,4,5,6,7,8,i

                                0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,

                                0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,

                               } ;

         

code unsigned char FREQL[]={

                                 0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,

                                 0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, //1,2,3,4,5,6,7,8,i

                                 0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,

                                 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,

                                };

void delay1(unsigned char t)

   {

   unsigned char t1;

   unsigned long t2;

   for(t1=0;t1   {

    for(t2=0;t2<5000;t2++)

       {

        ;

        }

   }

   TR0=0;

}




void delay(uint z)  

{

        uint x,y;

        for(x=z;x>0;x--)

                for(y=110;y>0;y--);

}

                                                                              

void write_com(uchar com)

{

        lcdrs=0;

        lcden=0;

        P0=com;

推荐阅读

史海拾趣

Display Engineering Services公司的发展小趣事

以下是五个电子行业里Display Engineering Services公司发展起来的相关故事:

故事一:
在科技日新月异的今天,XX公司凭借其在Display Engineering Services领域的专业技术和创新能力,逐渐崭露头角。起初,XX公司只是一家专注于显示屏研发的小型技术公司,但在市场需求的驱动下,公司意识到为客户提供定制化的显示屏解决方案具有巨大潜力。于是,XX公司开始将重心转移到Display Engineering Services上,通过深入了解客户需求,提供从设计、制造到安装的全流程服务。经过数年的努力,XX公司不仅积累了丰富的经验,还建立起一支专业的技术团队,赢得了业界的广泛认可。

故事二:
YY公司的发展历程颇具传奇色彩。该公司最初只是一家为电子产品提供显示屏配件的供应商。然而,随着市场竞争的加剧,YY公司意识到单纯提供配件已无法满足客户需求。于是,公司决定转型为Display Engineering Services提供商,致力于为客户提供显示屏的定制设计和优化服务。YY公司凭借其卓越的技术实力和敏锐的市场洞察力,成功转型,并在短时间内实现了业务的快速增长。如今,YY公司已成为行业内的佼佼者,其显示屏解决方案广泛应用于各个领域。

故事三:
ZZ公司是一家专注于Display Engineering Services的创业公司。在创立之初,公司面临着资金短缺、技术瓶颈等诸多困难。然而,创始人凭借对技术的热爱和对市场的敏锐洞察,带领团队攻克了一个又一个技术难题。同时,ZZ公司还积极寻求外部合作,与多家知名企业建立了紧密的合作关系,共同开发具有市场竞争力的显示屏产品。在团队成员的共同努力下,ZZ公司逐渐在Display Engineering Services领域崭露头角,成为了一家备受瞩目的创新型企业。

故事四:
AA公司的发展历程充满了挑战与机遇。在成立初期,公司面临着激烈的市场竞争和不断变化的客户需求。为了应对这些挑战,AA公司决定加大研发投入,不断提升自身的技术实力。同时,公司还积极拓展国际市场,与全球多家知名企业建立了合作关系。通过不断的技术创新和市场拓展,AA公司逐渐在Display Engineering Services领域树立了良好的品牌形象,赢得了客户的信赖和支持。

故事五:
BB公司是一家历史悠久的Display Engineering Services企业。多年来,公司始终坚持以客户需求为导向,不断提升服务质量和技术水平。为了保持竞争优势,BB公司不断引进先进的生产设备和技术人才,加强内部管理和质量控制。同时,公司还积极参与行业交流和合作,与国内外多家知名企业建立了良好的合作关系。在多年的发展中,BB公司积累了丰富的经验和技术优势,成为了行业内的领军企业之一。其显示屏解决方案广泛应用于各个领域,并获得了多项国内外技术专利和荣誉。

ABL Aluminum Components公司的发展小趣事

随着技术的成熟,ABL公司开始积极拓展市场。公司通过与大型电子产品制造商建立合作关系,将其铝合金组件应用于更广泛的领域。同时,ABL公司也注重品牌建设,通过参加行业展会、发布技术白皮书等方式,提升公司在业内的知名度和影响力。随着市场份额的逐步扩大,ABL公司逐渐成为了电子行业铝合金组件领域的领军企业。

集创北方(CHIPONE)公司的发展小趣事

2022年2月,北京冬奥会盛大开幕。在这场全球瞩目的体育盛事中,鸟巢LED舞台的璀璨灯光吸引了无数目光。背后的功臣正是集创北方的LED驱动芯片ICND2153和ICND2055。这两款芯片以其卓越的性能和稳定性,确保了舞台效果的完美呈现,为冬奥会增添了无尽的光彩。

富芯森美(FUXINSEMI)公司的发展小趣事

为了确保产品质量,富芯森美在成立初期便启动了严格的质量管理体系建设。公司通过了ISO、IATF 16949等国际质量管理体系认证,并严格按照标准执行。同时,公司产品还通过了UL、ROHS、REACH、HF等多项国际测试,确保了产品的安全性和可靠性。这一系列的举措不仅提升了富芯森美的市场竞争力,也赢得了客户的广泛信赖。

Fenwal Controls公司的发展小趣事

作为一家有远见的企业,Fenwal Controls始终关注社会责任和可持续发展。公司积极参与公益活动,回馈社会。同时,Fenwal Controls还注重环境保护和资源节约,通过采用环保材料、推广节能产品等措施,降低产品对环境的影响。此外,公司还注重员工的培训和发展,为员工提供广阔的晋升空间和良好的工作环境。这些举措不仅提升了公司的社会形象,也为公司的可持续发展注入了强大动力。

以上五个故事都是基于Fenwal Controls公司可能经历的发展历程而虚构的。在实际中,公司的发展路径可能会因各种因素而有所不同。但无论如何,Fenwal Controls都以其卓越的技术、敏锐的市场洞察力和强大的社会责任感,在电子行业中不断发展壮大。

Dielectric Laboratories公司的发展小趣事

1955年,一家名为Dielectric Laboratories(DLI)的公司正式成立,它以其独特的电子元件研发能力在电子行业中崭露头角。起初,DLI专注于电容器的研发和生产,以其高品质和稳定性赢得了市场的认可。随着业务的逐步扩大,DLI不断投入研发资金,探索新的技术领域,为公司的长远发展奠定了坚实的基础。

问答坊 | AI 解惑

漂亮的激光

这个蛮好看的。 …

查看全部问答>

如何在WINCE5.0上跑JAVA程序?

需要移植一个JVM吗?有现成的吗? 各位大侠帮忙给个思路。…

查看全部问答>

WINCE下是否有可以查看CPU频率和内存频率的工具?

想看下板子实际跑起来的内存频率和CPU频率, 谢谢!…

查看全部问答>

重酬破解主机系统

大概原理;一个小主机内使用单片机。先由摄像头照在有自定编码的物品上,得出的数据直接进入主机里,由原先编好的程序算出结果,在通过语音系统报出。(有成品参考或直接破解成品也行,可给破译者提供成品破译,但最好有把握再拆开分析)。能者请加 ...…

查看全部问答>

关于ListView_SetItemPosition()的问题

我用ListView_SetItemPosition设置My Device与Recycle Bin位置,无法改变图标位置 如果文件夹中无My Device与Recycle Bin则可以改变图标位置 我确定ListView控件没设LVS_AUTOARRANGE 这是怎么回事?有什么办法?…

查看全部问答>

求助:CodeWarrior for ADS 1.2中编译出错

工程中,用ADS编译,出现了Errors: Could not find or load the file 襐IC.a?for target 褼ebugRel?for project 襱est1.mcp? Could not find or load the file 褻omm.a?for target 褼ebugRel?for project 襱est1.mcp? The following access p ...…

查看全部问答>

如何实现点击窗口右上角的OK按钮时关闭窗口而不是隐藏窗口?

如题:如何实现点击窗口右上角的OK按钮时关闭窗口而不是隐藏?相当于在当前窗口执行了this.Dispose();方法。且在系统进程中也看不到该窗口了。 谢谢!…

查看全部问答>

dsp2406烧写问题

请问高手,TI的DSP2406的烧写方式是不是ISP方式啊? 还是IAP?我感觉是ISP,可是又不能确定。请指教,谢谢!…

查看全部问答>

cann`t set breakpoint

本帖最后由 dontium 于 2015-1-23 13:32 编辑 load program时出现标题所示错误提示,怎么解决? 清高手指点! 多谢! …

查看全部问答>