历史上的今天
返回首页

历史上的今天

今天是:2024年12月03日(星期二)

正在发生

2019年12月03日 | 基于51单片机的简易电子琴课程设计

2019-12-03 来源:51hei

1.本设计采用51单片机作为主控制器

2.外部加上放音设备如喇叭等,来实现音乐演奏控制器的硬件电路

3.用8个手工的按键发出八个音阶

制作出来的电子琴实物图如下:
 

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
 

视频讲解:
 
电子琴原件清单
1.8欧0.25w小喇叭
2.8050三极管*2
3.10k电阻*2
4.30欧姆电阻
5.40脚座
6.STC89c51
7.10uf电容
8.30pf电容*2
9.小按键*8
10.自锁开关
11.DC电源座
12.12m晶振
13.7*9万用板
14.导线若干
15.焊锡若干
16.usb电源线或电池盒+DC电源插头

单片机源程序如下:

#include //头文件


#define uint unsigned int  //宏定义

#define uchar unsigned char         //宏定义


sbit speaker=P1^4;//喇叭接口


uchar a,b;                  //定义ab变量


void check_key()  //按键函数

{

        P3=0xff;//先赋给P2组口高电平

        switch(P3)//按下一个键

        {

                case 0xfe:a=0xfb;b=0xe9;EA=1;break;//根据不同按键ab的值不同

                case 0xfd:a=0xfc;b=0x5c;EA=1;break;//注意:EA不能改为TR0

                case 0xfb:a=0xfc;b=0xc1;EA=1;break;

                case 0xf7:a=0xfc;b=0xef;EA=1;break;

                case 0xef:a=0xfd;b=0x45;EA=1;break;

                case 0xdf:a=0xfd;b=0x92;EA=1;break;

                case 0xbf:a=0xfd;b=0xd0;EA=1;break;

                case 0x7f:a=0xfd;b=0xee;EA=1;break;

                default:EA=0;speaker=0;                           //没有按键按下,关闭定时器和喇叭

        }

}

void main()

{

        TMOD=0x01;        //定时器0工作方式1

        TH0=a;

        TL0=b;           //赋初值

        ET0=1;//打开定时器,但是未允许中断

        TR0=1;//打开定时器0

        while(1) //主循环

        {

                check_key();        //扫描按键函数

        }

}


void time0() interrupt 1//定时器0的工作函数

{

        TH0=a;

        TL0=b;                                //将ab的值做为定时器的初值

        speaker=~speaker;        //喇叭电平取反喇叭根据不同的频率震动就可以发声了

}


推荐阅读

史海拾趣

ET Enterprises Ltd公司的发展小趣事

在竞争激烈的电子行业中,ET Enterprises Ltd公司始终保持对技术创新的重视。公司不断投入研发资源,推动光电倍增管技术的不断进步。同时,公司也注重人才培养和团队建设,为公司的持续发展提供了有力保障。

ANSHAN [Anshan Suly Electronics]公司的发展小趣事

随着产品质量的不断提升和市场需求的不断扩大,ANSHAN公司开始积极拓展国内外市场。公司通过与国内外知名企业建立合作关系,参加国际电子产品展览会等方式,不断提升品牌知名度和影响力。同时,公司还注重售后服务体系建设,为客户提供全方位、高效的服务支持。这些举措有效提升了公司的市场竞争力,使ANSHAN成为电子行业中备受瞩目的品牌。

Bourns公司的发展小趣事

Bourns公司的卓越表现得到了全球知名代理商TTI, Inc.的认可。Bourns连续多年获得TTI全球运营卓越奖,这一奖项是对Bourns全球绩效的最高认可。这一成就不仅彰显了Bourns在全球电子组件市场的领导地位,也反映了其持续提供优质产品和服务的承诺。

Glorious Sources Co Ltd公司的发展小趣事
由于光电传感器输出的电信号往往较弱,需要进行放大处理;同时,为了去除噪声和干扰,还需要设计合适的滤波电路。
法思特(FAST)公司的发展小趣事
有序启动可以确保每个热水器都有足够的时间来加热和稳定水温,从而保证水温的均匀性。
ALD [Advanced Linear Devices]公司的发展小趣事
顺序延时启动可以避免部分热水器因过度加热而浪费能源,从而提高整体能源利用效率。

问答坊 | AI 解惑

一个成熟的摩托车防盗系统原理图

这是我以前用过的一个原理图,实用的,应该对大家有点帮助…

查看全部问答>

手势识别器的设计

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 编辑   目前比较流行的导航键控制方式有四维键、摇杆,这是最常见的两种导航键,此外还有一些手机上有很新颖的导航键设计,例如:LG-KG70的滚轴键、LG-KE608的转盘设计、索爱W830的触摸式、多普达 ...…

查看全部问答>

测量摆的倾斜角度

  希望大家多给建议:        我想测量一个垂直的摆的倾斜角度,倾斜到一定角度就报警。该怎么设计呢?…

查看全部问答>

创建Today Screen的问题

1、我想创建或添加一个新项(两者一样吗,好像我有看到那种不是列表形式的),现在还不时很清楚,所以请高手指点一下。 2、memswatch这个例子在vs2005下怎么用。 我用的时候并没有像它说得一样会创建一个.cab文件,是不是我还要创建一个应用程序 ...…

查看全部问答>

EVC4.0下运行向导程序出问题?

An application targeting a Standard SDK for windows CE.NET and built for the ARMV4T CPU cannot be run on the Emulator device.In order to run this application on any cpu other than the emulator,you\'ll have to install an SDK tha ...…

查看全部问答>

LPC2460 USB HOST 驱动例程哪里找

1.一定要是主机驱动 2.NXP LPC 24XX 系列以下的,我都看过,是模拟设备的,和我们的任务开发板处理设备数据不符。 留下我的联系方式 msn:lvz89871037@163.com …

查看全部问答>

请教大家一个问题

关于PSOC的应用现在在中国怎么样啊,好像不是很普及的,连基础的资料都没。我正在学西PSOC呢。…

查看全部问答>

CREE晶片常见问题及解答

CREE晶片常见问题及解答…

查看全部问答>

为什么我用Keil进入调试的时候会突然退出呢?

在Win7下,以前很正常,最近在进入调试的时候会突然退出,不知道大家有没有遇到过这种情况?用的是LM3S8962评估板。 [ 本帖最后由 academic 于 2011-1-6 19:09 编辑 ]…

查看全部问答>

一个网上下载的C51的FFT程序,有些不懂,好象没有处理输入数据

程序内容如下 #include <reg52.h> #include <math.h> #include <stdio.h> #include <stdlib.h> #include <absacc.h> #define uchar unsigned char #define uint  unsi ...…

查看全部问答>