谁能给个AT89C51简易电子琴的源程序和原理图?

所有文件都在附件里面。

电子琴原理图怎样制作

电子琴的声调不同是由于频率不同导致的,所以,我们可以利用震荡电路来实现电子琴的制作,原理很简单,用时基电路555和一些分立的阻容元件构成多档位的振荡器驱动扬声器即可,电路在555的应用电路中有很多,你自己去搜集吧……

能不能将单片机电子琴代码以及原理图发给我,谢谢了,急着用

这是程序:BUZZ EQU P3.7

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP INT_T0

ORG 001BH

MAIN:

MOV SP,#60H ;初始化堆栈指针

MOV 30H,#00 ;定时器初值清零

MOV 31H,#00

MOV TMOD,#11H ;设置定时器0为工作模式1

SETB ET0 ;开定时器0中断

SETB ET1

SETB EA ;开总中断

CLR TR0 ;关闭定时器0

CLR TR1

MOV P1,#0FFH ;设置P1口为输入模式

;*************************按键扫描子程序******************

START:

MOV A,#0FFH ;判断是否P1口按键是否按下

MOV P1,A

MOV A,P1

MOV R0,A

LCALL DELAY0

MOV A,P1

MOV 49H,R0

CJNE A,49H,START

;*************************功能键判断子程序******************

KEY1:

CJNE R0,#0FEH,KEY2 ;K1键按下,P1.0

MOV 30H,#0FCH ;设置音阶1,左手中指

MOV 31H,#44H

LJMP PLAY

KEY2:

SETB P2.2

CJNE R0,#0FDH,KEY3 ;K2键按下,P1.1

MOV 30H,#0FCH ;设置音阶2,左手食指

MOV 31H,#0ACH

LJMP PLAY

KEY3:

SETB P2.1

CJNE R0,#0FBH,KEY4 ;K3键按下,P1.2

MOV 30H,#0FDH ;设置音阶3,左手拇指

MOV 31H,#09H

LJMP PLAY

KEY4:

SETB P2.0

CJNE R0,#0F7H,KEY5 ;K4键按下,P1.3

MOV 30H,#0FDH ;设置音阶4,右手拇指

MOV 31H,#34H

LJMP PLAY

KEY5:

SETB P3.5

CJNE R0,#0EFH,KEY6 ;K5键按下,P1.4

MOV 30H,#0FDH ;设置音阶5,右手食指指

MOV 31H,#82H

LJMP PLAY

KEY6:

SETB P3.3

CJNE R0,#0DFH,KEY7 ;K6键按下,P1.5

MOV 30H,#0FDH ;设置音阶6,右中指

MOV 31H,#0C8H

LJMP PLAY

KEY7:

SETB P3.2

CJNE R0,#0BFH,KEY8 ;K7键按下,P1.6

MOV 30H,#0FEH ;设置音阶7

MOV 31H,#06H

LJMP PLAY

KEY8:

SETB P3.1

CJNE R0,#7FH,NOKEY ;K8键按下,P1.7

MOV 30H,#0FEH ;设置音阶重音1

MOV 31H,#22H

LJMP PLAY

NOKEY:

CLR TR0 ;无键按下

LJMP START

;*************************发声子程序******************

PLAY:

SETB TR0 ;发声

MOV R2,#01B ;1/4拍

DJNZ R2,PLAY

LCALL DELAY1

LJMP LOOP1

LOOP1:

LCALL DELAY

LJMP START

;*************************延时程序******************

DELAY0:MOV 37H,#100 ;延长20MS时间等待,键盘消抖

D01:MOV 38H,#100

D02:DJNZ 38H,D02

DJNZ 37H,D01

RET

DELAY: MOV R6,#40

D1: MOV R5,#50

D2: MOV 32H,#100

D3: DJNZ 32H,D3

DJNZ R5,D2

DJNZ R6,D1

RET

DELAY1:MOV 39H,#100 ;延长时间等待,键盘消抖

D11:MOV 40H,#100

D12:DJNZ 40H,D12

DJNZ 39H,D11

RET

;*************************中断子程序******************

INT_T0: ;T0中断服务程序

MOV TH0,30H ;定时器赋初值

MOV TL0,31H

CPL BUZZ ;输出方波

RETI

END BUZZ EQU P3.7

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP INT_T0

ORG 001BH

MAIN:

MOV SP,#60H ;初始化堆栈指针

MOV 30H,#00 ;定时器初值清零

MOV 31H,#00

MOV TMOD,#11H ;设置定时器0为工作模式1

SETB ET0 ;开定时器0中断

SETB ET1

SETB EA ;开总中断

CLR TR0 ;关闭定时器0

CLR TR1

MOV P1,#0FFH ;设置P1口为输入模式

;*************************按键扫描子程序******************

START:

MOV A,#0FFH ;判断是否P1口按键是否按下

MOV P1,A

MOV A,P1

MOV R0,A

LCALL DELAY0

MOV A,P1

MOV 49H,R0

CJNE A,49H,START

;*************************功能键判断子程序******************

KEY1:

CJNE R0,#0FEH,KEY2 ;K1键按下,P1.0

MOV 30H,#0FCH ;设置音阶1,左手中指

MOV 31H,#44H

LJMP PLAY

KEY2:

SETB P2.2

CJNE R0,#0FDH,KEY3 ;K2键按下,P1.1

MOV 30H,#0FCH ;设置音阶2,左手食指

MOV 31H,#0ACH

LJMP PLAY

KEY3:

SETB P2.1

CJNE R0,#0FBH,KEY4 ;K3键按下,P1.2

MOV 30H,#0FDH ;设置音阶3,左手拇指

MOV 31H,#09H

LJMP PLAY

KEY4:

SETB P2.0

CJNE R0,#0F7H,KEY5 ;K4键按下,P1.3

MOV 30H,#0FDH ;设置音阶4,右手拇指

MOV 31H,#34H

LJMP PLAY

KEY5:

SETB P3.5

CJNE R0,#0EFH,KEY6 ;K5键按下,P1.4

MOV 30H,#0FDH ;设置音阶5,右手食指指

MOV 31H,#82H

LJMP PLAY

KEY6:

SETB P3.3

CJNE R0,#0DFH,KEY7 ;K6键按下,P1.5

MOV 30H,#0FDH ;设置音阶6,右中指

MOV 31H,#0C8H

LJMP PLAY

KEY7:

SETB P3.2

CJNE R0,#0BFH,KEY8 ;K7键按下,P1.6

MOV 30H,#0FEH ;设置音阶7

MOV 31H,#06H

LJMP PLAY

KEY8:

SETB P3.1

CJNE R0,#7FH,NOKEY ;K8键按下,P1.7

MOV 30H,#0FEH ;设置音阶重音1

MOV 31H,#22H

LJMP PLAY

NOKEY:

CLR TR0 ;无键按下

LJMP START

;*************************发声子程序******************

PLAY:

SETB TR0 ;发声

MOV R2,#01B ;1/4拍

DJNZ R2,PLAY

LCALL DELAY1

LJMP LOOP1

LOOP1:

LCALL DELAY

LJMP START

;*************************延时程序******************

DELAY0:MOV 37H,#100 ;延长20MS时间等待,键盘消抖

D01:MOV 38H,#100

D02:DJNZ 38H,D02

DJNZ 37H,D01

RET

DELAY: MOV R6,#40

D1: MOV R5,#50

D2: MOV 32H,#100

D3: DJNZ 32H,D3

DJNZ R5,D2

DJNZ R6,D1

RET

DELAY1:MOV 39H,#100 ;延长时间等待,键盘消抖

D11:MOV 40H,#100

D12:DJNZ 40H,D12

DJNZ 39H,D11

RET

;*************************中断子程序******************

INT_T0: ;T0中断服务程序

MOV TH0,30H ;定时器赋初值

MOV TL0,31H

CPL BUZZ ;输出方波

RETI

END

电子琴原理与维修谁能给个AT89C51简易电子琴的源程序和原理图?

电子琴的工作原理是什么

要想详细了解电子琴的工作原理,除了仔细阅读说明书以外,网上也有不少的相关资料可供查阅。

仅供参考,祝您好运!

555芯片八音简易电子琴电路图,要标清元件信息。

555芯片制作八音简易电子琴电路图如下:

谁能给个AT89C51简易电子琴的源程序和原理图?、电子琴原理与维修,就介绍到这里啦!感谢大家的阅读!希望能够对大家有所帮助!

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查