您好,欢迎来到华佗健康网。
搜索
您的当前位置:首页简易电子琴设计(单片机课程设计)

简易电子琴设计(单片机课程设计)

来源:华佗健康网


简易电子琴设计

用单片机控制扬声器,弹奏出一段音乐。

一、预备知识:

乐曲由不同音符组成,各音符都有对应的频率,频率不同的方波加在扬声器上,

就产生一个持续的音符。利用不同的音符、音高、音长组合,就可产生想要的音乐。

对于单片机来说,利用其定时器产生不同频率的方波非常方便,以 11.0592、

22.1184MHz 晶振(实验箱)为例,列出高中低音符与单片机定时器初值如下表所示

注意:

1、一个音段常见由7 个标准音组成(1do、2ri、3mi、4fa、5sol、6la、7si),但实际

乐曲中还有一些介于2 个标准音之间的音,即半度音,有1.5、2.5、4.5、5.5、6.5 共

5 个,所以完整的1 个音段有12 个音。

2、选择简谱时,尽量选用只含7 个标准音的乐曲,而且要选C 大调的(简谱左上角

标着1=C X/4),否则各音符的频率要做相应的变化。

10

二、设计目的

了解扬声器的发声原理,进一步熟悉定时器、键盘扫描、LED 显示电路的工作

原理及编程方法。

三、设计内容

1、设计键盘、LED 显示、扬声器驱动电路原理图;

2、设计程序流程图;

3、编程调试,利用按键作为琴键,按下不同的键发出相应的音调,同时在LED

最右位显示对应键号值。

四、参考接线

扬声器的 SPK+端接VCC,SPK 负端连接到某一I/O 口。

五、设计步骤

程序:

KEYBUF EQU 30H

STH0 EQU 31H

STL0 EQU 32H

TEMP EQU 33H

ORG 0000

LJMP MAIN

ORG 000BH

LJMP INT_T0

MAIN:

MOV TMOD,#01H

SETB ET0

SETB EA

WAIT:

CLR P3.4

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY1

LCALL DELAY

MOV P3,#0FFH

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY1

MOV A,P3

ANL A,#0FH

CJNE A,#0EH,NK1

MOV KEYBUF,#0

LJMP DK1

NK1:

CJNE A,#0DH,NK2

MOV KEYBUF,#1

LJMP DK1

NK2:

CJNE A,#0BH,NK3

MOV KEYBUF,#2

LJMP DK1

NK3:

CJNE A,#07H,NK4

MOV KEYBUF,#3

LJMP DK1

NK4:

NOP

DK1:

MOV A,KEYBUF

MOV B,#2

MUL AB

MOV TEMP,A

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV STH0,A

MOV TH0,A

INC TEMP

MOV A,TEMP

MOVC A,@A+DPTR

MOV STL0,A

MOV TL0,A

SETB TR0

DK1A:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ DK1A

CLR TR0

NOKEY1:

MOV P3,#0FFH

CLR P3.5

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY2

LCALL DELAY

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY2

MOV A,P3

ANL A,#0FH

CJNE A,#0EH,NK5

MOV KEYBUF,#4

LJMP DK2

NK5:

CJNE A,#0DH,NK6

MOV KEYBUF,#5

LJMP DK2

NK6:

CJNE A,#0BH,NK7

MOV KEYBUF,#6

LJMP DK2

NK7:

CJNE A,#07H,NK8

MOV KEYBUF,#7

LJMP DK2

NK8:

NOP

DK2:

MOV A,KEYBUF

MOV B,#2

MUL AB

MOV TEMP,A

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV STH0,A

MOV TH0,A

INC TEMP

MOV A,TEMP

MOVC A,@A+DPTR

MOV STL0,A

MOV TL0,A

SETB TR0

DK2A:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ DK1A

CLR TR0

NOKEY2:

MOV P3,#0FFH

CLR P3.6

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY3

LCALL DELAY

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY3

MOV A,P3

ANL A,#0FH

CJNE A,#0EH,NK9

MOV KEYBUF,#8

LJMP DK1

NK9:

CJNE A,#0DH,NK10

MOV KEYBUF,#9

LJMP DK1

NK10:

CJNE A,#0BH,NK11

MOV KEYBUF,#10

LJMP DK1

NK11:

CJNE A,#07H,NK12

MOV KEYBUF,#11

LJMP DK3

NK12:

NOP

DK3:

MOV A,KEYBUF

MOV B,#2

MUL AB

MOV TEMP,A

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV STH0,A

MOV TH0,A

INC TEMP

MOV A,TEMP

MOVC A,@A+DPTR

MOV STL0,A

MOV TL0,A

SETB TR0

DK3A:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ DK3A

CLR TR0

NOKEY3:

MOV P3,#0FFH

CLR P3.7

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY4

LCALL DELAY

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JZ NOKEY4

MOV A,P3

ANL A,#0FH

CJNE A,#0EH,NK13

MOV KEYBUF,#12

LJMP DK4

NK13:

CJNE A,#0DH,NK14

MOV KEYBUF,#13

LJMP DK4

NK14:

CJNE A,#0BH,NK15

MOV KEYBUF,#14

LJMP DK4

NK15:

CJNE A,#07H,NK16

MOV KEYBUF,#15

LJMP DK4

NK16:

NOP

DK4:

MOV A,KEYBUF

MOV B,#2

MUL AB

MOV TEMP,A

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV STH0,A

MOV TH0,A

INC TEMP

MOV A,TEMP

MOVC A,@A+DPTR

MOV STL0,A

MOV TL0,A

SETB TR0

DK4A:

MOV A,P3

ANL A,#0FH

XRL A,#0FH

JNZ DK4A

CLR TR0

NOKEY4:

MOV DPTR,#LED_TAB

MOV A,KEYBUF

MOVC A,@A+DPTR

MOV P1,A

LJMP MAIN

DELAY:

MOV R6,#10

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

INT_T0:

MOV TH0,STH0

MOV TL0,STL0

CPL P2.0

RETI

TAB:

DW 62018,62401,62743,625 ;低1,2,3,4

DW 63185,63441,63670,63774 ;低5,6,7,中1

DW 63966,138,216,360 ;中2,3,4,5

DW 4,603,655,752 ;中6,7,高1,2

LED_TAB:

DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;0至9共阴

DB 77H, 7CH, 39H, 5EH, 79H, 71H;A至F

END

原理图:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务