单片机课程设计报告-音乐盒的设计.doc_第1页
单片机课程设计报告-音乐盒的设计.doc_第2页
单片机课程设计报告-音乐盒的设计.doc_第3页
单片机课程设计报告-音乐盒的设计.doc_第4页
单片机课程设计报告-音乐盒的设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1绪 论1.1课题背景 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 自上世纪90年代,嵌入式技术已经成为通信和消费类电子产品的共同发展方向。移动通信终端是集成移动通信功能的嵌入式系统产品,是一个软件和硬件有效综合、集成的系统。 21世纪是知识经济时代。其中以电子技术的发展最为迅速,以电子产品为介质的通讯和应用更是日新月异,不短飙升。实际型的应用技术越来越向着顶端发展,更新周期不断缩短。在人才竞争的当今社会,选择有着实际技术型的人才已经是用人单位首先考虑的因素。为此,学校开展了电子课程技术的设计,目的在于提高和加强学生的实践技能,为就业奠定基础。电子课程设计是配合电子技术基础的课程与实验教学的一个非常重要的教学环节。它能巩固电子技术的理论知识,提高电子电路的设计水平,加强综合分析 和解决问题的能力,进一步培养学生的实验技能和动手能力,启发学生的创新意识和创新思维。这将对学生毕业以后从事电子方面的工作有很大的帮助。2音乐盒的设计2.1技术要求能够产生低中高三个音调的7个标准音阶do,re,m,fa,so,la,si;并在按下相应的数字键的时候数码管显示相应数字;自选一首歌曲,查找到相关的乐谱,确定音阶和节拍,并编写相关的源程序是蜂鸣器能够播放出该歌曲。2.2设计方案及实现2.2.1 方案一任务要求:以89s51为核心,根据设计指标设计电路的框图,画出电路逻辑图和装配图,查阅资料,确定所需各元器件型号和参数,自拟调整测试方法,并调试电路使其达到设计指标要求。2.2.2方案设计根据任务要求,可以通过以下原理图(图2-1)来实现该音乐盒的设计.复位电路琴键 电路放大电路p0.0|p0.7p1.0时钟电路单片机80c51图2-1基本原理图本方案的琴键输入是通过独立式键盘来完成的,这样便于控制且直观,如上图设计原理所示我们可以画出比较直观的流程图如图 2-2所示。图2-2程序流程图主流程图ny等待中断,判断是否中断定时器的初始化读入p0的状态,跳转至相应的程序段判断是否抖动态读入p0状关闭定时器进行识别程序开始中断返回对p1.0求反重装计时器的值y中断程序流程图 居于上述流程图我们可以通过proteus软件画出该实验的原理图(图2-3):图2-3实验原理图2.2.3方案实现对于音乐盒而言发出悦耳的音乐是其最主要的功能,那么对于使用单片机来制作出来的音乐盒怎么实现音符的发声呢?通过查看资料我们知道音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制引脚的输出音乐(本实验采用p1.0做为输出引脚)。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的i/o反相,然后重复计时此半周期时间再对i/o反相,就可在i/o脚上得到此频率的脉冲。具体做法如下所示(以中音do为例):例如:中音1(do)的音频=523hz,周期t=1/523s=1912定时器/计数器0的定时时间为:t/2=1912/2=956定时器956的计数值=定时时间/机器周期=956/1=956(时钟频率=12mhz)装入t0计数器初值为65536-956=64580将64580装入t0寄存器中,启动t0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对p1.0引脚的输出值进行取反,就可得到中音do(523hz)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值th0,tl0以产生不同的频率。下表2-1是c调各音符频率与计数初值t的对照表: 频率(hz)/初值()音符频率(hz)/初值()低1do262/63627中1do 523/64580高1do 1042/65056低2re 294/63835中2re589/64687 高2re 1245/65134低3m 330/64021 中3m 661/64780高3m 1318/65157低4fa 350/64107中4fa700/64822 高4fa 1397/65178低5so 393/64264 中5so 786/64900高5so 1568/65217 低6la 441/64402中6la882/64969高6la1760/65252低7si495/64526 中7si990/65031高7si1967/65282表2-1 c调各音符频率与计数初值t的对照表2.2.3.1 详细参数本实验以intel公司的80c51为核心,配合键盘系统,放大电路,时钟电路和数码管显示电路实现音乐的演奏。80c51:高性能的静态80c51 设计 由先进cmos 工艺制造并带有非易失性flash 程序存储器 全部支持12 时钟和6 时钟操作 p89c51x2 和p89c52x2/54x2/58x2 分别包含128 字节和256 字节ram 32 条i/o 口线 3 个16 位定时/计数器 6 输入4 优先级嵌套中断结构 1 个串行i/o 口 可用于多机通信 i/o 扩展或全双工uart以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0 。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结cpu但ram定时器,串口和中断系统仍然工作掉电模式保存ram的内容 但是冻结振荡器 导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丢失用户数据 运行可从时钟停止处恢复。键盘系统:键盘系统的链接电路图如图2-31所示:图2-31键盘系统的链接电路图当用手按下一个键时,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。具体编码如下所示mai: clr tr0 ;关闭上一次定时,进入下一次按键判断mov tmod, #01hmov ie, #82hmov a, p1mov 30h, a ;保存键盘状态值 lcall d10ms ;延迟10ms消除抖动mov a , p1 ;再读键盘状态cjne a, 30h, mai ;两次结果不同,是抖动引起,转mai放大电路分析如图2-4所示:图2-4放大电路输出原理图管进此部分的放大电路简单容易实现。可以采用一个小功率pnp型硅管9012,利用“分压 偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择1k和5.5k。蜂鸣器一端接+5v电压,一端接晶体管的发射极。由p1.0输出预定的方波,加到晶体行放大,再输出到嗡宁器,很好的实现了频率、声音的转换。时钟电路如图2-5所示:此系统的时钟电路设计是采用内部方式,即是利用芯片内部的振荡电路。mcs-51内部有一个用于构成振荡器的高增益反相放大器。电容值选择22f,所以此系统电路的晶体振荡器的值为6 mhz。图2-5 msc-51片内振荡电路2.3方案二2.3.1 方案设计基于方案一我们知道采用的是独立的键盘做为音符的输入,方案二则采用矩阵键盘来进行输入,具体电路原理图如图2-6所示。图2-6方案二原理图图2-6 原理图2.3.2方案实现本方案的实现基本和方案一相同,唯一不同的地方就值本实验采用矩阵键盘作为音符输入来实现。由于矩阵键盘需独立的编码,矩阵键盘的功能如下1、识别键盘有无按键按下,若无键按下返回。2、如果有键按下,找出具体的按键值(顺序码)矩阵键盘键值查找程序键值存入30h单元key_scan: mov p1,#0f0h mov a,p1 anl a,#0f0h mov b,a mov p1,#0fh mov a,p1 anl a,#0fh orl a,b cjne a,#0ffh,key_in1 retkey_in1: mov b,a mov dptr,#keytable mov r3,#0ffh key_in2: inc r3 mov a,r3 movc a,a+dptr cjne a,b,key_in3 mov a,r3 mov 30h,a retkey_in3: cjne a,#00h,key_in2 ret key_table: db 0eeh,0edh,0ebh,0e7h,0deh db 0ddh,0dbh,0d7h,0beh,0bdh db 0bbh,0b7h,07eh,07dh,07bh, 077h db 00h end3总结 两周的课程设计已经结束。此次课程设计题目并不十分复杂,但是在设计过程中还是遇到了很多意想不到的困难。在查阅资料之后,我把困难逐个解决;在设计中,所学知识得到进一步的巩固,使我掌握了平时没注意到的一些细节问题;设计中使我大概掌握了设计思想,必须把握全局。我对本题目的的评价是:所选硬件的对应软件编程比较简单,从而简化了编程过程,但是软件编程部分,数据转换有些应使用循环结构得到的结果我用了顺序结构,所以使程序显得有些冗长,但是由于水平有限和时间关系没能改进。总体来说,此次设计是比较有意义的,是提高学习效率和学习积极性的一种很好的途径。4参考文献1.高锋.单片微型计算机原理与接口技术.科学出版社,2003年2.李传军.单片机原理及应用(第一版)m.河南科学技术出版社,2006年3.杨志忠.数字电子技术.高等教育出版社(第二版)m,2003年4.张友德.单片微型机原理、应用与实验m.上海:复旦大学出版社,2000年5.李全利.单片机原理及接口技术.高等教育出版社,2004年5附录 5.1 程序的编写源程序如下所示: numtim equ 20hgewei equ 21hshiwei equ 22hscanled equ 23horg 0000hljmp maiorg 000bhljmp timorg 100h mai: mov r2,#3fh mov p2,r2 clr tr0 mov tmod, #01h mov ie, #82h mov a, p0 mov 30h, a lcall d10ms mov a , p0 cjne a, 30h, mai jnb p0.0, n1 jnb p0.1, n2 jnb p0.2, n3 jnb p0.3, n4 jnb p0.4, n11 jnb p0.5, n6 jnb p0.6, n7 jnb p0.7, n8n11: ljmp n5n6: ljmp la n7: ljmp haha n8: ljmp hehen1: mov dptr, #tab mov a, #00h movc a, a+dptr mov r1, a mov a, #01h movc a, a+dptr mov r0, a mov th0, r1 mov tl0 ,r0 setb tr0 mov a,#06h mov p2,a re1: jb p0.0, mai ajmp re1 n2: mov dptr, #tab mov a, #02h movc a, a+dptr mov r1, a mov a, #03h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#5bh mov p2,are2: jb p0.1,mai ajmp re2 n3: mov dptr, #tab mov a, #04h movc a, a+dptr mov r1, a mov a, #05h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#4fh mov p2,are3: jb p0.2,n9 ajmp re3n9: ljmp main4: mov dptr, #tab mov a, #06h movc a, a+dptr mov r1, a mov a, #07h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#66h mov p2,are4: jb p0.3, a1 ajmp re4a1: ljmp main5: mov dptr, #tab mov a, #08h movc a, a+dptr mov r1, a mov a, #09h movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#6dh mov p2,are5: jb p0.4, a2 ajmp re5a2: ljmp maila: mov dptr, #tab mov a, #0ah movc a, a+dptr mov r1, a mov a, #0bh movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#7dh mov p2,are6: jb p0.5, a3 ajmp re6a3: ljmp mai haha: mov dptr, #tab mov a, #0ch movc a, a+dptr mov r1, a mov a, #0dh movc a, a+dptr mov r0, a mov th0, r1 mov tl0, r0 setb tr0 mov a,#07h mov p2,are7: jb p0.6,a4 ajmp re7a4: ljmp mai hehe: mov tmod,#00000001b setb ea setb et0 mov numtim,#01hstart0: mov 30h,#00h next : mov a,30h mov dptr,#table movc a,a+dptr mov r2,a jz end0 anl a,#0fh mov r5,a mov a,r2 swap a anl a,#0fh jnz sing clr tr0 jmp d0 sing: dec a mov 22h,a rl a mov dptr,#table1 movc a,a+dptr mov th0,a mov 21h,a mov r1,a mov a,22h rl a inc a movc a,a+dptr mov tl0,a mov 20h,a mov r0,a setb tr0 mov a,#7fh mov p2,a d0: lcall delay jb p0.7,end0 inc 30h jmp next end0: clr tr0 jb p0.7,n10 ajmp start0n10: ljmp maitim: push acc push psw mov tl0,r0 mov th0,r1 cpl p1.0 pop psw pop acc reti delay: mov r7,#02h d3: mov r4,#187 d4: mov r3,#248 djnz r3,$ djnz r4,d4 djnz r7,d3 djnz r5,delay retre8: jb p0.7,a5 ajmp re8a5: ljmp mai d10ms: mov r1, #100 d1: mov r2, #98 nopd2: djnz r2, d2 table: djnz r1, d1 re

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论