- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
音乐门铃设计说明书
音乐门铃设计制作说明书
学校:九江职业技术学院
班级:电气0902
姓名:周荣雨 熊文旋 组别:10
指导老师:杜杨
完成时间:2010.12.23
一、任务要求:
用AT89C51作为主控器,完成简单乐曲演奏。
二、音乐门铃任务分析:
音乐主要是由音符和节拍决定的,音符对应于不同的声波频率,而节拍表达的是声音持续的时间。声波为机械波,其频率即质点的振动频率,可以通过一定频率的方波信号驱动喇叭发出不同的音符;而节拍可以以某一基础时间为标准,进行整数倍的时长控制达到音符演奏时间即节拍的控制。如果将所要演奏的乐曲的每一个音符及时间以程序的形式固化在单片机中,通过程序的运行驱动硬件喇叭工作即可达到音乐演奏的效果。
三、软件的设计思路:
1、系统采用中断方式工作;
2、主程序为中断初始化程序、规定定时器的工作方式、通过查表形式获得定时器的初值及演奏时间的长度、乐谱表;
3、中断程序为方波发生程序,用以驱动喇叭。
4、利用定时器T1以方式1工作,产生各音符对应频率的方波,由P1.0输出驱动喇叭发音。节拍控制通过调用延时子程序D200(延时200ms)次数来实现,以每拍800ms为例,一拍需循环调用D200延时子程序4次,同理,半拍就需用2次,设晶振频率为12MHz,乐曲中的音符、频率、定时常数的关系如下表:
5、音的高低:音源振动频率的高低。音频范围为20~2000Hz。在本设计任务中,产生每个音符对应的频率是由定时品初值所对应的电平信号决定。其对应关系也是:
四、软件设计流程图及程序的设计
五、源程序
ORG 0000H
LJMP START
ORG 001BH ;定时器中断入口
MOV TH1,R1 ;重装定时器初值
MOV TL1,R0
CPL P1.0 ;输出方波
RETI ;中断返回
ORG 0100H
START: MOV TMOD,#10H ;T1方式1
MOV IE,#88H ;允许T1中断
MOV DPTR,#TAB ;装入首地址
acall dmcx
LOOP: CLR A
MOVC A,@A+DPTR
MOV R1,A ;定时器搞8位存R1
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R0,A ;低八位存R0
ORL A,R1
JZ NEXT0 ;全0休止符
MOV A,R0
ANL A,R1
CJNE A,#0FFH,NEXT ;全1表示乐曲结束
SJMP START ;从头开始,循环演奏
NEXT: MOV TH1,R1 ;装入定时值
MOV TL1,R0
SETB TR1
SJMP NEXT1
NEXT0: CLR TR1 ;关掉定时器,停止发声
NEXT1: CLR A
INC DPTR
MOVC A,@A+DPTR ;查延迟常数
MOV R2,A
LOOP1: LCALL D200 ;调用200ms的子程序
DJNZ R2,LOOP1 ;控制延时次数
INC DPTR
AJMP LOOP
文档评论(0)