预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共17页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PAGE\*MERGEFORMAT-16-单片机课程设计设计报告电子音调发生器2016年4月29日目录TOC\o"1-3"\h\z\uHYPERLINK\l"_Toc423214869"1课程设计总体目标PAGEREF_Toc423214869\h-2-HYPERLINK\l"_Toc423214870"1.1课题的意义PAGEREF_Toc423214870\h-2-HYPERLINK\l"_Toc423214871"1.2系统的主要功能PAGEREF_Toc423214871\h-2-HYPERLINK\l"_Toc423214872"1.3本人所做的工作PAGEREF_Toc423214872\h-2-HYPERLINK\l"_Toc423214873"2实验原理及设计思路PAGEREF_Toc423214873\h-3-HYPERLINK\l"_Toc423214874"2.1乐曲的音调与节拍PAGEREF_Toc423214874\h-3-HYPERLINK\l"_Toc423214875"2.2红外检测原理PAGEREF_Toc423214875\h-3-HYPERLINK\l"_Toc423214876"3硬件电路设计及描述PAGEREF_Toc423214876\h-4-HYPERLINK\l"_Toc423214877"3.1硬件连接图PAGEREF_Toc423214877\h-4-HYPERLINK\l"_Toc423214878"3.2单片机系统PAGEREF_Toc423214878\h-5-HYPERLINK\l"_Toc423214879"3.3数码管显示电路PAGEREF_Toc423214879\h-6-HYPERLINK\l"_Toc423214880"3.4蜂鸣器电路PAGEREF_Toc423214880\h-6-HYPERLINK\l"_Toc423214881"4软件设计流程及描述PAGEREF_Toc423214881\h-7-HYPERLINK\l"_Toc423214882"4.1蜂鸣器发单音PAGEREF_Toc423214882\h-7-HYPERLINK\l"_Toc423214883"4.2蜂鸣器唱歌PAGEREF_Toc423214883\h-7-HYPERLINK\l"_Toc423214884"4.3数码管动态显示PAGEREF_Toc423214884\h-7-HYPERLINK\l"_Toc423214885"4.4程序框图PAGEREF_Toc423214885\h-8-HYPERLINK\l"_Toc423214886"4.5源程序代码及注释PAGEREF_Toc423214886\h-9-HYPERLINK\l"_Toc423214887"5实验结果PAGEREF_Toc423214887\h-26-1总体设计1.1课题的意义通过这个实际的课题,熟悉51单片机的开发环境,熟悉JD-51的硬件电路图,并能通过三种调试模式来调试程序,为日后进行一些基于单片机的系统开发打下基础;掌握使用常用的汇编指令进行51单片机的程序设计,建立严谨的逻辑思维来编写程序,学会画程序框图来帮助编程。通过使用蜂鸣器来产生相应音调的声音,进一步巩固课上学到的定时器初始化、赋初值、通过查询方式来产生一定频率方波的编程方法;掌握使数码管扫描显示数字的方法,并同时让LED灯亮或灭,学会如何让蜂鸣器发出不同频率的声音;了解NEC协议下的红外编码格式,能够使用单片机来解码收到的红外信号,并读取信号中相应的信息。1.2系统的主要功能电子音调发生器(1)利用JD51开发板上的按键S1~S4进行音调选择,即按下不同的开关产生不同的音调,依次按动S1~S4及组合按键,蜂鸣器发出1234567i八个音调;并在数码管上显示。(2)编写2支歌曲,并可进行选择播放。1.3本人所做的工作通过学习课程平台上给出的红外和电子音调发生器这两个程序,将电子音调发送器中关于按键扫描的部分换为对接收到的32位红外信号数据中数据码的反码进行按键判断跳转相应歌曲或音调子程序。2实验原理及设计思路2.1乐曲的音调与节拍①音调由不同频率的方波产生,音调与频率的关系如下表所示。要产生音频方波,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用计时器计时此半周期时间,每当计时到后就将输出方波的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚得到此频率的