您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于51单片机的点歌系统
湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目:远程点歌系统系别:通信与控制工程系专业:通信工程班级:08级通信一班学生姓名:曹桐军肖行学号:0841613708407227起止日期:2010年12月20日—2011年1月2日指导教师:方智文岳舟教研室主任:刘建闽指导教师评语:指导教师签名:年月日成绩评定项目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总成绩教研室审核意见:教研室主任签字:年月日教学系审核意见:主任签字:年月日2摘要本设计是一个基于AT89C52系列单片机的点歌系统,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能点歌系统。该点歌系统主要由单片机、8255芯片、LED显示电路、复位电路、时钟电路以及蜂鸣器组成。用户从客户机选择要播放的曲目。客户机通过串口将选择信息传给单片机。单片机根据客户机给的信息做出选择,播放预先存放在ROM中的音乐,并用LED显示播放歌曲。放完后在提示客户机选择下一曲,用蜂鸣器播放音乐。本设计利用KEIL编程软件对点歌系统源程序进行编程并调试,节约了设计时间。关键字:点歌;AT89C52单片机;LED;串口;3目录1.引言...................................................................41.1设计目的............................................................41.2设计要求............................................................41.3设计内容............................................................42.设计方法对比...........................................................42.1设计方案一..........................................................52.2设计方案二..........................................................52.3方案选择............................................................53.电路硬件分析...........................................................53.1总体设计框图........................................................53.2AT89C52简介........................................................63.3LED显示电路设计与原理..............................................63.4时钟振荡电路........................................................73.5串口电路............................................................74.软件分析...............................................................84.1音调的确定..........................................................84.2节拍的确定..........................................................94.3编码...............................................................104.4软件程序设计.......................................................124.4.1主程序流程图...................................................124.4.2播放音乐子程序流程图...........................................144.4.3程序源代码(见附录一).........................................155.总结..................................................................156.致谢..................................................................16参考文献................................................................16附录一..................................................................174远程点歌系统1.引言随着人类社会的发展,人们对视觉、听觉方面的享受提出了越来越高的要求。点歌系统可以提高人们的精神文化享受。传统点歌系统较为复杂,一般嵌入在一些专用影音设备中,且成本较高,本点歌系统是以单片机为核心元件的电子式点歌系统,体积小、重量轻、能演奏和旋音乐及使用方便,加之性价比较高,具有一定的商业价值。1.1设计目的(1)熟悉单片机的应用与开发;(2)学习用C语言开发应用程序;(3)学习远程控制与歌曲播放的开发。1.2设计要求利用单片机作为控制核心,完成一个从客户机选择的点歌系统。具体要求如下:(1)用户从客户机选择要播放的曲目;(2)电脑通过串口将选择信息传给单片机。(3)单片机根据电脑给的信息做出选择,播放预先存放在ROM中的音乐;(4)用扬声器播放音乐完后,提示下一次选择。1.3设计内容(1)电路有两种工作模式:暂停模式和播放模式。(2)按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲。(3)按下按键2进入花样灯模式,再按切换LED花样,共三种花样。2.设计方法对比本设计是一个基于AT89C52系列单片机的点歌系统,客户机选择所喜欢的歌曲,单片机执行音乐播放程序。蜂鸣器发出某个音调,与之相对应的数码管显示播放的曲目。硬件有单片机已确定,下面对软件设计语言进行比较:52.1设计方案一使用C语言,它是目前最流行的程序设计语言之一,具有简洁、灵活、实用、高效、可移植性好;它同时具备了高级语言和低级语言的特征,除此之外,C语言生成目标代码质量高、程序执行效率高。2.2设计方案二使用汇编语言,它能从分发挥指令系统功能和效率,可获得最简练的目标程序,特别是在一些实时控制系统中,采用汇编语言可以准确地计算出控制操作时间。2.3方案选择使用汇编语言,会使编程过程变得繁琐,复杂度上升,程序结构不易控制,加之音乐播放对实时要求不高;而C语言能极大地简化编程过程,大大的提高的效率与质量,故选择方案一。3.电路硬件分析3.1总体设计框图STC89C52单片机LED显示8255蜂鸣器串口震荡电路图3.1总体设计框图63.2AT89C52简介AT89C52是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图3.2所示3.3LED显示电路设计与原理LED显示电路是由6位LED数码管组成,连接方式为共阳极,数码管的位数由8255的PA控制,若为低电平则有效;数码管显示的内容的由8255的PB口控制。图3.2AT89C52系列单片机图3.3LED显示电路设计与原理73.4时钟振荡电路AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1,C2虽然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用30PF10PF,而如果使用陶瓷振荡器建议选择40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如右。3.5串口电路由于单片机工作电压与客户机串口电压存在电压差,不能直接相连。这里使用MAX232芯片转换电压,再接上标准串口CON32,从而达到与客户机通信的目的。出口硬件连接电路图如下。图3.4单片机外部振荡电路图3.5串口电路图电路84.软件分析音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。4.1音调的确定(1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。(2)利用AT89C52的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。(3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。计数脉冲值与频率的关系公式如下:N=Fi2FrN:计算值;Fi:内部计时一次为1us,故其频率为1MHz;其计数值的求法如下:T=65536-N=65536-Fi2Fr例如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音的DO(1046Hz)的计算值T=65536-N=65536-Fi2Fr=65536-10000002Fr=65536-500000/Fr低音DO的T=65536-500000/262=63627低音DO的T=65536-500000/523=64580低音DO的T=65536-500000/1047=65059C调各音符频率与计数值T的对照表如表4.1所示。9表4.1C调各音符频率与计数值T的对照表低音频率T参数中音频率T参数高音频率T参数
本文标题:基于51单片机的点歌系统
链接地址:https://www.777doc.com/doc-7124565 .html