简易电子琴电子课程设计文档格式.docx

上传人:b****5 文档编号:21342251 上传时间:2023-01-29 格式:DOCX 页数:12 大小:81.61KB
下载 相关 举报
简易电子琴电子课程设计文档格式.docx_第1页
第1页 / 共12页
简易电子琴电子课程设计文档格式.docx_第2页
第2页 / 共12页
简易电子琴电子课程设计文档格式.docx_第3页
第3页 / 共12页
简易电子琴电子课程设计文档格式.docx_第4页
第4页 / 共12页
简易电子琴电子课程设计文档格式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

简易电子琴电子课程设计文档格式.docx

《简易电子琴电子课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《简易电子琴电子课程设计文档格式.docx(12页珍藏版)》请在冰豆网上搜索。

简易电子琴电子课程设计文档格式.docx

单片机输出电流加上晶体管把电流放大后驱动扬声器,只要改变半周期t的时间,即可改变输出频率。

2)决定程序中延时参数的方法

C调各音阶的频率如表所示,根据此频率表可计算出程序中所需的延时参数

音阶

DO

RE

MI

FA

SO

LA

SI

高音

音符

1

2

3

4

5

6

7

频率

522

587

659

700

784

880

988

中音

262

294

330

349

392

440

494

低音

131

147

165

175

196

220

247

DO的频率为262HZ,所以周期T=1/f=1/262s=3816us半周期t=T/2=1908us

<

2>

若以程序

MOV6,#data

ACALLDELAY

DELAY:

MOVB,R6

MOVR7,#06

DL:

DJNZR7,$

DJNZR6,DL

MOVR6,B

RET

来达成延时t的目的,则因t=1908us,且

MOVR6,#DATA

MOVR6,B

这5个指令共耗时9us,所以在delay子程序中,循环的部分只能是1908-9=1899us

3>

循环的部分没执行一次耗时15us,故要延时1899us需重复执行1899/15=126次,R6=126就可产生所需的DO音调。

4》其他音调所需的R6值,算法一样

5>

采用中断程序做数字音乐盒,把一个音乐盒程序当成一个中断程序添入到源程序中ORG0000H

LJMPMAIN

ORG0003H

LJMPINT

ORG0030H

MAIN:

主程序

INT:

中断服务程序

四.程序设计ORG0050H

AJMPMAIN

AJMPSTART

ORG30H

ORLP1,#11111111B

ORLP3,#11111111B

TEST:

JNBP3.1,LAL1

JNBP3.0,SIL1

JNBP1.7,DO1

JNBP1.6,RE1

JNBP1.5,MI1

JNBP1.4,FA1

JNBP1.3,SO1

JNBP1.2,LA1

JNBP1.1,SI1

JNBP1.0,DOH1

AJMPTEST

;

===========================

设定相对应的延时参数r6

LAL1:

MOVR6,#150

AJMPOUTPUT

SIL1:

MOVR6,#134

DO1:

MOVR6,#126

RE1:

MOVR6,#113

MI1:

MOVR6,#100

FA1:

MOVR6,#95

SO1:

MOVR6,#85

LA1:

MOVR6,#75

SI1:

MOVR6,#67

DOH1:

MOVR6,#63

=========================

==输出一周========

OUTPUT:

CLRP3.7

SETBEA

SETBEX0

SETBPX0

ACALLDELAY1

SETBP3.7

==延时半周期t====

START:

MOVDPTR,#MUSIC

CONT:

CLRA

MOVCA,@A+DPTR

CJNEA,#40,CHK

AJMPBEA

CHK:

CJNEA,#255,OK

STOP:

AJMPSTOP

OK:

INCDPTR

CLRA

MOVR4,A

CHK1:

CJNEA,#01,CHK2;

依据各代码发出相对应的声音

ACALLDOL

CHK2:

CJNEA,#02,CHK3

ACALLREL

CHK3:

CJNEA,#03,CHK4

ACALLMIL

CHK4:

CJNEA,#04,CHK5

ACALLFAL

CHK5:

CJNEA,#05,CHK6

ACALLSOL

CHK6:

CJNEA,#06,CHK7

ACALLLAL

CHK7:

CJNEA,#07,CHK11

ACALLSIL

CHK11:

CJNEA,#11,CHK12

ACALLDO

CHK12:

CJNEA,#12,CHK13

ACALLRE

CHK13:

CJNEA,#13,CHK14

ACALLMI

CHK14:

CJNEA,#14,CHK15

ACALLFA

CHK15:

CJNEA,#15,CHK16

ACALLSO

CHK16:

CJNEA,#16,CHK17

ACALLLA

CHK17:

CJNEA,#17,CHK21

ACALLSI

CHK21:

CJNEA,#21,CHK22

ACALLDOH

CHK22:

CJNEA,#22,CHK23

ACALLREH

CHK23:

CJNEA,#23,CHK24

ACALLMIH

CHK24:

CJNEA,#24,CHK25

ACALLFAH

CHK25:

CJNEA,#25,CHK26

ACALLSOH

CHK26:

CJNEA,#26,CHK27

ACALLLAH

CHK27:

CJNEA,#27,CHK0

ACALLSIH

CHK0:

CJNEA,#00,CHK

ACALLNON

CONT2:

AJMPCONT;

设定音阶代码参数

DOL:

MOVR6,#254

MOVR5,#16

AJMPLOOP

REL:

MOVR6,#226

MOVR5,#18

MIL:

MOVR6,#201

MOVR5,#21

FAL:

MOVR6,#190

MOVR5,#22

SOL:

MOVR6,#170

MOVR5,#25

LAL:

MOVR5,#28

SIL:

MOVR5,#31

DO:

MOVR5,#33

RE:

MOVR5,#37

MI:

MOVR5,#41

FA:

MOVR5,#44

SO:

MOVR5,#49

LA:

MOVR5,#55

SI:

MOVR5,#62

DOH:

MOVR5,#65

REH:

MOVR6,#56

MOVR5,#73

MIH:

MOVR6,#50

MOVR5,#82

FAH:

MOVR6,#47

MOVR5,#88

SOH:

MOVR6,#42

MOVR5,#98

LAH:

MOVR6,#37

MOVR5,#110

SIH:

MOVR6,#33

MOVR5,#124

NON:

AJMPLOOP;

输出r5*r4周的方波

LOOP:

CJNEA,#00,SOUND

AJMPMUTE

SOUND:

MUTE:

ACALLDELAY

DJNZR5,LOOP

DJNZR4,LOOP

REST:

MOVR6,#170

MOVR5,#20

WAIT:

DJNZR5,WAIT

RET

DELAY:

MOVR7,#6

DJNZR6,DL

MUSIC:

DB11,04,11,04,11,04

DB40

BEA:

NOP

RETI

DELAY1:

MOVB,R6

DL1:

MOVR7,#6

DJNZR7,$

DJNZR6,DL1

END

五、各部分电路设计

1、产生声音的基本接线电路

六、整体电路图

七、设计总结

1、设计过程中遇到的问题及解决方法

(1)单片机无法正常工作

外接电容被烧毁

(2)蜂鸣器无法正常工作

驱动三极管应该使用的是npn的高电平触发,应该使用pnp低电平触发

(3)对于P1和P3的使用,尤其是第二功能键要合理使用,关键时刻应用于特殊用途。

2、设计体会

虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,所以在宿舍里做实验的时间一定不止三天。

硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了,很高兴它能按着设计的思想与要求运动起来。

当然,这其中也有很多问题,第一、不够细心比如由于粗心大意焊错了线,由于对课本理论的不熟悉导致编程出现错误。

第二,是在学习态度上,这次课设是对我的学习态度的一次检验。

对于这次单片机综合课程实习,我的第一大心得体会就是作为一名工程技术人员,要求具备的首要素质绝对应该是严谨。

我们这次实习所遇到的多半问题多数都是由于我们不够严谨。

第三,在做人上,我认识到,无论做什么事情,只要你足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,就没有什么办不到的。

通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。

创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。

3、对设计的建议

(1)熟练掌握KeilC51集成开发环境的使用方法。

(2)熟悉KeilC51集成开发环境调试功能的使用和DP51PRO.NET单片机仿真器、编程器、实验仪三合一综合开发平台的使用。

(3)利用单片机的P1口作IO口,学会利用P1口作为输入和输出口。

(4)了解掌握单片机芯片的烧写方法与步骤。

(5)学会用单片机汇编语言编写程序,熟悉掌握常用指令的功能运用。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 兵器核科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1