历史上的今天
返回首页

历史上的今天

今天是:2025年03月20日(星期四)

正在发生

2020年03月20日 | 多模式51单片机心形流水灯+呼吸灯+蜂鸣器音乐

2020-03-20 来源:eefocus

1.基础硬件DIY设计

电路硬件:

[MCU]STC89C52RC

[外设]蜂鸣器/24个LED/4个四角按键


1)整体原理图

在这里插入图片描述

2)PCB电路

在这里插入图片描述

3)3D_PCB

TOP层

在这里插入图片描述

2.单片机程序设计

1)呼吸灯[简易模拟PWM]

//呼吸灯  [PWM调制]

while(1)

{

for(high=1;high {

P2=P1=P0=0XFF;

delay2(high);

P2=P1=P0=0X00;

low=cycle-high;

delay2(low);

}

for(low=1;low {

P2=P1=P0=0XFF;;

high=cycle-low;

delay2(high);

P2=P1=P0=0X00;

delay2(low);

}

}


2)蜂鸣器音乐

// 定义青花瓷简易音谱 [定时器产生音乐脉冲]


// 定义青花瓷简易音谱  [定时器产生音乐脉冲]

uchar code music[][2]={{0,4},

{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{14,8},{19,4},{21,4},{24,4},{21,4},{19,16},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{12,8},{19,4},{21,4},{24,4},{19,4},{17,16},{0,4},{17,4},{19,4},{21,4},

{24,4},{26,4},{24,4},{22,4},{24,4},{21,4},{21,4},{19,4},{19,16},{0,4},

{17,4},{19,4},{17,4},{17,4},{19,4},{17,4},{19,4},{19,4},{21,8},{24,4},{21,4},{21,12},{0,4},{24,4},{24,4},{21,4},{19,4},{21,4},{14,8},{19,4},{21,4},{24,4},{21,4},{19,16},{0,4},{24,4},{24,4},{21,4},

{19,4},{21,4},{12,8},{19,4},{21,4},{24,4},{19,4},{17,16},{0,4},{17,4},{19,4},{21,4},{24,4},{26,4},{24,4},{22,4},{24,4},{21,4},{21,4},{19,4},{19,12},{12,4},{21,8},{19,4},{19,8},{17,16},

{0xFF,0xFF}};


// 蜂鸣器音乐  [定时器产生音乐脉冲]

while(1)

{

m=music[i][0];n=music[i][1]; 

if(m==0x00)

{TR0=0;delay1(n);i++;} 

else if(m==0xFF)

{TR0=0;delay1(30);i=0;} 

else if(m==music[i+1][0]) 

{TR0=1;delay1(n);TR0=0;pause();i++;}

else

{TR0=1;delay1(n);i++;}

}

}


3)几种简易流水灯方式

// 蜂鸣器音乐  [定时器产生音乐脉冲]

void disp10() //状态10 从LED全部亮到全不亮(间断8格的3个LED开始逆时针熄灭)

{

for(i=0;i<9;i++)

{

P0=table5[i];

P2=table4[i];

P1=table4[i];

delay(100);

}

delay(300);

}


void disp11() //状态11 间断8格的3个LED亮并顺时针旋转

{

for(j=0;j<2;j++)

{

for(i=0;i<8;i++)

{

P0=table0[i];

P2=table1[i];

P1=table1[i];

delay(100);

}

P0=0xff; P2=0xff; P1=0xff;

for(i=0;i<8;i++)

{

P0=table0[i];

P2=table1[i];

P1=table1[i];

delay(100);

}

P0=0xff; P2=0xff; P1=0xff; 

}

}


void disp12() //间断8格的3个LED亮,然后顺时针逐渐点亮(直到全部点亮)

{

for(i=0;i<8;i++)

{

P0=table2[i];

P2=table3[i];

P1=table3[i];

delay(100);

}

delay(1000);

}


void disp13() //状态13 从LED全部亮到全不亮(间断8格的3个LED开始顺时针熄灭)

{

for(i=0;i<8;i++)

{

P0=table4[i];

P2=table5[i];

P1=table5[i];

delay(100);

}

delay(300);

}


void disp14() //状态14 从LED不亮到全亮(从P0.0、P1.0、P1.7、P2.0开始逐步点亮)

{

for(i=0;i<8;i++)

{

P0=table2[i];

P2=table2[i];

if(i<4)

{

P1=table8[i];

}

delay(100);

}

}


void disp15() //状态15 从LED全亮到全不亮(从P0.7、P1.3、P1.4、P2.7开始逐步熄灭)

{

for(i=0;i<8;i++)

{

P0=table5[i];

P2=table5[i];

if(i<4)

{

P1=table11[i];

}

delay(100);

}

}


3.效果展示

image.png?imageView2/2/w/550

1)实物电路顶层图

在这里插入图片描述

2)实物电路底层图

在这里插入图片描述

内部较为简陋 (* ̄︶ ̄)


3)整体效果图

可充电设计


内置锂电池连接锂电池充电模块【可用mini-USB充电口充电】


可玩性


预留三个调试按键,一个复位按键

程序可改进:按下功能键直接切换模式,不必按下复位才行。

在这里插入图片描述

推荐阅读

史海拾趣

Guerrilla RF公司的发展小趣事
首先确认电源是否正常,包括电压和电流是否稳定。
AMD(超微)公司的发展小趣事
如果怀疑某个元器件损坏,可以尝试用相同型号的元器件进行替换,以验证问题是否解决。
Colibrys SA公司的发展小趣事

近年来,Colibrys与Sensonor展开了紧密的协同合作,共同生产MEMS惯性传感器产品。两家公司在专业知识、市场地位、客户和技术方面的互补性,使得这种合作成为了一种双赢的选择。通过合力发展,Colibrys和Sensonor已经向航空、航天、国防、运输、移动和工业领域交付了超过2000万颗MEMS传感器,进一步扩大了公司的市场份额和影响力。

这些故事只是Colibrys SA公司在电子行业中发展起来的一部分事实,它们展示了公司从初创到成为行业领导者的艰辛历程和辉煌成就。然而,公司的发展还在继续,未来还将有更多的故事等待我们去书写和见证。

Eaton公司的发展小趣事

近年来,随着全球对环保和可持续发展的关注日益增加,伊顿公司也积极响应这一趋势,将其技术与绿色能源相结合。伊顿的EX-DMi型电容器金属封闭柜、SCB型环氧浇注干式变压器等产品,在新能源大基地建设中得到了广泛应用。这些产品不仅具有高效、稳定的性能,还采用了无SF6绝缘技术等环保技术,有效降低了温室效应的影响。此外,伊顿还推出了可支持锂电系统的UPS等产品,为光伏和风电机组等关键部件提供安全稳定的供电保障。

EPT公司的发展小趣事

随着市场需求的不断变化,EPT意识到传统生产线已无法满足高容量、高耗能电池的生产需求。因此,公司投入巨资引进了全自动生产线,并采用了特殊的电池成型技术。这一举措不仅提高了生产效率,还保证了产品的稳定性和一致性。同时,EPT还针对不同类型的电池设计了专门的生产线,以满足市场的多样化需求。这一转型使得EPT在电子行业中脱颖而出,赢得了众多客户的青睐。

杰力(EMC)公司的发展小趣事

随着公司规模的扩大和产品线的丰富,杰力开始积极拓展市场。公司参加各类电子展会和论坛,与国内外客户建立联系和合作。同时,杰力还加强了品牌宣传和推广力度,通过媒体广告、网络营销等方式提高品牌知名度和美誉度。这些努力使得杰力的产品在国内外市场上获得了更广泛的认可和应用。

问答坊 | AI 解惑

单片机与TA8435的步进电机细分控制方法

1 步进电机 步进电动机是纯粹的数字控制电动机,它将电脉冲信号转变成角位移,即给一个脉冲,步进电机就转一个角度,因此非常适合单片机控制。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响, ...…

查看全部问答>

SAW器件封装技术概述

1 引言 现今,随着整机尺寸的减小和元器件的高度集成,促进了元器件的小型化、薄型化。由于SAW(Surface Acoustic Wave)器件小型化并且有着出众的滤波功能,它们存许多领域的应用中扮演着非常重要的角包。小型化和多功能化是SAW器件发展的主要动力 ...…

查看全部问答>

二相与五相步进电机的差异

 概述:步进电机主要是依相数来做分类,而其中又以二相、五相步进电机为目前市场上所广泛采用。二相步进电机每转最细可分割为400等分,五相则可分割为 1000等分, 所以表现出来的特性以五相步进电机较佳、 加减速时间较短、 动态惯性较低。 二相/ ...…

查看全部问答>

ALTERA 的家庭网络产品方案

本帖最后由 jameswangsynnex 于 2015-3-3 20:02 编辑 针对消费娱乐的家庭网络连接 利用多媒体家庭联网技术,各种多媒体设备 ( 例如电视机、便携式媒体播放器、照相机和蜂窝电话等) 以及数据设备 (例如PC和PDA) 可以在安全的家庭网络环境中共享音 ...…

查看全部问答>

如何不让导航仪连接上电脑识别为U盘,而是识别为同步移动设备

目前我手上有一台导航仪,用的是wince5.0的系统,现在我想在这台导航仪上开发一个程序。 目前的问题是,我无法直接在该导航仪上调试我的程序,只能将程序编译好后再复制到导航仪上运行,这样调试起来非常不方便。 因为我的导航仪目前是只要通过US ...…

查看全部问答>

菜鸟请教各位高手!!!!!

软件工程中的嵌入式软件与系统是个怎么样的专业 它的就业前景如何啊??????????…

查看全部问答>

推荐一本用PowerPC开发通信设备的书,我还是第一次见同类型的书

嵌入式设计及通信设备开发详解——基于MPC82XX处理器 卓越的链接 http://www.amazon.cn/mn/detailApp?qid=1238487283&ref=SR&sr=13-1&uid=168-0888845-7367438&prodid=bkbk941360 当当的链接 http://product.dangdang.com/product.aspx?pro ...…

查看全部问答>

WinCE中如何禁止/开启Edit自动换行功能

如题,我想实现PC上记事本的自动换行功能。…

查看全部问答>

一个非常奇怪的keil c51串口中断问题!

一个非常奇怪的keil c51串口中断问题! 比如我的程序如下: uchar b[10]; #define a4 0x03 void fun1(void) interrupt 4 { fun2(2); } fun2(uchar a2) { while(a2--) { .... } fun3(a4); } void fun3(uchar a3)//这个函数无论有没 ...…

查看全部问答>

开关电源工程调试技术

《开关电源工程调试技术》可以看一下…

查看全部问答>