- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计—电子音调发生器
PAGE
1 -
单片机课程设计报告
题目:电子音调发生器
指导老师:付文秀
李昆鹏完成日期:2010年12月
一、设计要求
1. 利用开关K0~K7及蜂鸣器设计电子音调发生器,通过单片机P1.7输出不同频率的脉冲信号驱动蜂鸣器发出不同频率的音调。拨动开关K0~K7,蜂鸣器依次发出1234567i音调;
2. 编程实现两首音乐,并可进行选择播放;
3. 编写程序实现当拨打开关时,数码管显示当前音符。
二、设计目的
了解计算机发出不同音调的编程方法。
三、设计原理
1. 音节由不同频率的方波产生,音节与频率的关系如表(1)所示。要产生音频方波,只要计算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用计时器及时此半周期,每当计时到后就将输出方波的I/O反相,然后重复计时次半周期时间再对I/O反相,就可在I/O脚得到此频率的方波。在ZKS-03试验仪上,产生方波的I/O脚选用P1.7,通过跳线选择器JP1将P87C52X2的P1.7与蜂鸣器的驱动电路相连,这样P1.7输出不同频率的方波,蜂鸣器便会发出不同的声音。
2. 音乐的节拍是由延时实现的,如果1拍的时间为0.4秒,1/4拍是0.1秒。只要设定延时时间,就可求得节拍的时间。延时实现基本延时时间,节拍值只能是它的整数倍。
3. 每个音节相应的定时器初值X可按下法计算:
即:
其中,f是音调频率。当晶振fosc=11.0592MHz时,音节“1”相应的定时器初值为x,则可得到x=63777D=F921H,其它的可同样求得。
表(1) 音节与频率的关系
音调
频率(Hz)
X(HEX)
音调
频率(Hz)
X(HEX)
1
262
F921
5
392
FB68
2
294
F9E1
6
440
FBE9
3
330
FA8C
7
494
FC5B
4
349
FAD8
i
523
FC8F
四、硬件电路设计及描述
按键发音电路如下图所示:
74LS244
74LS244
1A1 1Y1
1A2 1Y2
1A3 1Y3
1A4 1Y4
2A1 2Y1
2A2 2Y2
2A3 2Y3
2A4 2Y4
1G
2G
P87C52X2
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5 P1.7
P0.6
P0.7
TXD
RXD
实验电路图
电路描述:在ZKS-03实验仪上,将开关通过缓冲器74LS244与单片机的P0口相连,片选线选择CS1,相应的地址为F100。产生的方波由P1.7口输出,通过跳线与蜂鸣器的驱动电路相连,随着方波频率的变化,便可产生不同频率的音调。
五、设计方案及思路
在设计中,先分别编写出按键发音程序和选择播放音乐程序,利用转移命令进行控制,将两程序合成完整的程序,再适当的精简结构,使程序更加简洁。在完成这两项基本功能后,添加进数码显示程序。
六、软件设计流程及描述
程序设计流程图
七、实验源程序及注释
单片机课程设计
电子音调发生器
ORG 4000H
LJMP START
ORG 400BH ;计时器T0中断程序入口地址
LJMP INT_T0
ORG 4030H;
START:
SETB P3.1
SETB P3.2
SETB P1.4
SETB P1.5
SETB P1.6
CLR P1.3 ;用P1.3口驱动相应数码管显示音调
MOV TMOD,#01H ;T0方式1
CLR TR0 ;关T0
SETB ET0
SETB EA ;开中断
;按键查询程序
KEYS:
JNB P3.1,YINYUE
JNB P3.2,YINYUE ;音乐1,2控制开关开则转移到音乐程序
MOV R7,#0 ;无音乐时默认节拍为0
MOV DPTR, #0F100H ;开关输入口地址
MOVX A, @DPTR ;读开关状态
MOV B, A ;存开关结果
LCALL DL10 ;延时1
文档评论(0)