




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页课程设计说明书数字音乐盒的设计摘 要本设计是基于单片机控制的数字音乐盒的设计外部加上放音设备,以此来实现音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址即可。该软、硬件系统具有很好的通用性,很高的实际使用价值,为广大的单片机和音乐爱好者提供了很好的借鉴。由芯片和led数码管为核心,辅以必要的电路,构成的一个单片机数字音乐盒。其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,在该设计中采用单片机利用at89c51,它是低功耗、高性能的cmos型8位单片机。片内带有4kb的flash存储器,且允许在系统内改写或用编程器编程。另外, at89c51的指令系统和引脚与8051完全兼容,片内有128b 的ram、32条i/o口线、2个16位定时计数器、5个中断源、一个全双工串行口等。在该设计中利用单片机i/o口产生一定频率的方波,驱动,发出各种不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒),并能够由led显示信息。键盘在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。本设计采用4*4键盘,16*2 led,七段显示数码管led。关键词:单片机at89c51,ram,蜂鸣器数码管,led目 录1绪论1 1.1概述1 1.2 基本工作原理及框图1 1.2.1 at89c51单片机简介2 1.2.2 键盘5 1.2.3 led显示器5 1.2.4 时钟电路模块6 1.2.5 系统复位电路的设计7 1.2.6硬件电路端口分配72软件设计7 2.1 主模块的设计7 2.2 基本显示模块设计8 2.3 外部中断源系统设计9 2.4系统初始化程序93 proteus软件仿真11 3.1总电路图与调试11 3.2按键功能说明12总结13致谢14参考文献151绪论 本文通过对基于单片机音乐演奏控制设计的研究和设计,分析了设计的实现的意义和可行性。单片机at889s51是一种非常小巧但功能非常多,应用非常广的一种芯片,功率也非常的小,采用at89s51作为系统核心制作音乐演奏控制设计电路简单了很多,由于可以反复烧写,为学习降低成本。本设计外部采用单片机的复位电路设计、单片机的震荡电路设计、led数码管显示正在播放的音乐序号,按键控制等,但由于at89s51分辨率不是太高,音乐有点单调,另外,由于时间关系具体电路还有的地方不尽完善之处。 1.1概述本设计是基于单片机的数字音乐盒设计,由单片机at89c51芯片和led数码管为核心,辅以必要的电路,构成的一个单片机电子数字音乐盒。要求利用i/o口产生一定频率的方波,驱动蜂鸣器,发出不同的音调并采用lcd显示信息,从而演奏乐曲(最少三首乐曲,每首不少于30秒),开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称),可通过功能键选择乐曲,暂停,播放。本设计采用4*4键盘,16*2 lcd,七段显示数码管led。课设准备中根据具体的要求,查找资料,然后按要求根据已学过的时钟程序编写定时闹钟的程序,依据程序利用proteus软件进行了仿真试验,对出现的问题进行分析和反复修改源程序,最终得到正确并符合要求的结果。1.2 基本工作原理及框图基本工作原理:通过按键给单片机的p2口输入低电平,进而利用程序来判断是否执行某一播放功能。而利用单片机的定时器0中断来控制播放乐曲。框图如下图一1。第 9 页课程设计说明书电源电路at89c51单片机蜂鸣器电路复位电路 控制按键 晶振电路图1 整体框图1.2.1 at89c51单片机简介at89c512是一种带4k字节闪烁可编程可擦除只读存储器的低电压,高性能cmos8位微处理器,俗称单片机。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1、主要特性:寿命:1000写/擦循环数据保留时间:10年全静态工作:0hz-24hz三级程序存储器锁定128*8位内部ram32可编程i/o线两个16位定时器/计数器5个中断源 可编程串行通道 2低功耗的闲置和掉电模式片内振荡器和时钟电路 图2 管角说明 2、管脚说明(如图2)。vcc:供电电压。gnd:接地。 p0口:p0口为一个8位漏级开路双向i/o口,每脚可吸收8ttl门电流。当p1口的管脚第一次写1时,被定义为高阻输入。p0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口,p1口缓冲器能接收输出4ttl门电流。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,p2口缓冲器可接收,输出4个ttl门电流,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口,可接收输出4个ttl门电流。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,p3口将输出电流(ill)这是由于上拉的缘故。p3口也可作为at89c51的一些特殊功能口,如下所示。管口管脚 备选功能p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断0)p3.3 /int1(外部中断1)p3.4 t0(记时器0外部输入)p3.5 t1(记时器1外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3口同时为闪烁编程和编程校验接收一些控制信号。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。在平时,ale端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ale脉冲。如想禁止ale的输出可在sfr8eh地址上置0。此时, ale只有在执行movx,movc指令是ale才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ale禁止,置位无效。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。但在访问外部数据存储器时,这两次有效的/psen信号将不出现。 /ea/vpp:/ea保持低电平时,在此期间外部程序存储器(0000h-ffffh),不管是否有内部程序存储器。注意加密方式1时,/ea将内部锁定为reset;当/ea端保持高电平时,此间内部程序存储器。在flash编程期间,此引脚也用于施加12v编程电源(vpp)。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3、振荡器特性3。 xtal1和xtal2分别为反向放大器的输入和输出。片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,xtal2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4、芯片擦除4。整个perom阵列和三个锁定位的电擦除可通过正确的控制信号组合。管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,at89c51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,cpu停止工作。但ram,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存ram的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。1.2.2 键盘 键盘5在单片机应用系统中能实现向单片机输入数据,传送命令等功能,是人工干预单片机的主要手段。1、键盘输入的特点,键盘实质上是一级按键开关的集合。通常,键盘开关利用了机械触点的合、断作用。2、按键的确认,键的闭合与否,反映在行线输出电压上就呈现高电平或低电平,如果高电平表示键断开,低电平则表示键闭合,通过对行线电平高低状态的检测,便可确认按键按下与否。为了确保cpu对一次按键动作只确认一次按键有效,必须消除抖动的影响。3、如何消除按键的抖动,采用软件来消除按键抖动的基本思想是:在一次检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是不否仍为低电平,如果仍为低电平,则确认为该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。1.2.3 led显示器led(light emitting diode)是发光二极管英文名称的缩写。led显示器6是由发光二极管构成的,所以在显示器前面冠以“led”。led显示器在单片机系统中的应用非常普遍。1、led显示器的结构: 常用的led显示器为8段。每一个段对应1个发光二极管,这种显示器有共阳极和共阴极两种:共阴极led显示器的发光二极管的阴极连接在一起,通常此公共阴极接地。当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。同样,共阳极led显示器的发光二极管的阳极连接在一起,通常此公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。为了使led显示器显示不同的符号或数字,就要把不同段的发光二极管点亮,这样就要为led提供代码,因为这些代码可使led相应的段发光,从而显示不同字型,因此该代码称为段码。7段发光二极管,再加上1个小数点位,共计8位。因此提供给led显示器的段码正好是1b。各段与字节中各位对应关系如下表一。 表一 各段与字节中各位对应关系代码位d7d6d5d4d3d2d1d0显示位dpgfedcba 2、led显示器工作原理由n个led显示块可以拼接成n位的led显示器。n个led显示器有n个位选线和8*n位 根段码线。段码线控制显示字符的字型,而位选线为各个led显示块中各段的公共端,它控制该led显示位的亮或暗。led显示器有静态显示和动态显示两种。1.2.4 时钟电路模块在单片机系统中起着非常重要的作用,保证系统正常工作的基础。在一个单片机应用系统中,时钟7是保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢。为达到振荡周期是12mhz的要求,这里要采用12mhz的晶振,另外有两个22p的独石电容,两晶振引脚分别连到xtal1和xtal2振荡脉冲输入引脚。具体如图3所示。 图3 时钟电路连接图1.2.5 系统复位电路的设计智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:rc复位电路和专用监控电路。前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。 本次课程设计采用了上电按钮电平,如图48。图4 复位电路图1.2.6硬件电路端口分配 1、电路中用p1.0-p1.7控制按键,其中p1.0-p1.3扫描行,p1.4-p1.7扫描列。 2、用p0.0-p0.7,p2.0-p2.7控制led,其中p0.0-p0.7控制七段a,b,c,d,e,f,g,用p2.0-p2.7为数码管位选信号。 3、用p2.0-p2.2作为控制信号。用p0.0-p0.7作为lcd的d0-d7的控制信号。2软件设计2.1 主模块的设计主模块是系统软件的主框架。本系统的主模块9的程序框图如下图5所示。主程序开始初始化变量及lcd接口初始化数字器t0,定时器t1lcd显示英文欢迎字符等待按键,是否有按键?歌曲号及播放时间显示在lcd按照按键码播放对应的歌曲yn 图5 程序框图2.2 基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用led显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。程序流程图如图6所示。将进制时分秒数据转化为显示代码 通过串口将时分秒数据传入数码管关显示以免显示抖动打开显示图6程序流程2.3 外部中断源系统设计在本设计中中断10源是采用外部中断0方式,其入口地址是0003h。其中断响应级别最高。(1)定时器/计数器。下面对:门控位gate,工作方式选择位m1、m0。工作方式如下表二。m1m0工作方式00方式0,为13位定时器/计数器01方式1,为16位定时器/计数器10方式2,8位的常数自动重新装载的定时器/计数器11方式3,仅适用于t0表二 tmod各位说明定时器/计数器控制寄存器tcon,其格式如下表三。表三寄存器tcon格式表tcond7d6d5d4d3d2d1d0tf1tr1tf0tr0ie1it1ie0ito2.4系统初始化程序 rw bit p2.1e bit p2.2l50ms equ 60hl1ms equ 61hl250ms equ 62hsec equ 65hmin equ 64hhou equ 63horg 0000hljmp mainorg 000bhljmp tt0org 001bhljmp t1intorg 1000hmain: 液晶初始化mov sp,#70h mov p0,#01h ;清屏call enablemov p0,#38h ;8位,2行显示 lcall enable 第 4 页课程设计说明书3 proteus软件仿真3.1总电路图与调试本次课程设计所采用的程序调试软件为wave6000集成调试软件,所采用的仿真软件为protus 6 professional软件。总图如下图7。图7总电路图3.2按键功能说明1a:十首歌曲 c:上一首歌曲 d:下一首歌曲e:歌曲暂停 f:开机画面开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)可通过功能键选择乐曲,暂停,播放。选作内容:显示乐曲播放时间或剩余时间.结构化软件程序的调试一般可以将重点放在分模块调试上,统调是最后一环。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次课设,采用wave6000集成调试软件来调试程序,通过各个模块程序的单步或跟踪调试,使程序逐渐趋于正确,最后统调程序。仿真部分采用protus 6 professional软件,此软件功能强大且操作较为简单。 总结单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。虽然在做课程设计以前已经系统的把单片机课本认真的学习了一下,但是在刚拿到设计任务书时还是有点一头雾水,不知道该从哪里下手。令人欣慰的是经过一周的学习,虽然过程很艰辛,但是总算实现了定时闹钟的功能,所有的努力都很值得。这一周的大部分时间都在研究程序怎么处理,在这个过程中加深了我对汇编语言命令的应用,而且也更加了解到软硬件配套的重要性。在设计的过程中不仅巩固了以前所学过的知识,加深了我对所学知识的理解,而且学到了很多在书本上所没有的知识。通过这次课程设计使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基因的显性和隐性说课课件
- DB6101-T 3207-2024 党政机关食堂用餐环境卫生管理规范
- 混合整数规划(MIP)清华大学
- 北师大版六年级上册数学全册课件
- 北师大版二年级下册语文期末复习资料
- 保险业词汇英语翻译
- 河南省洛阳市伊川县2024-2025学年七年级下学期6月期末考试道德与法治试卷(含答案)
- 湖北省武汉市常青联合体2024-2025学年高一下学期期末考试语文试卷(无答案)
- 师生联欢活动方案
- 展会美食连锁活动方案
- 西藏农村公路管理办法
- 考研英语5500词汇大纲
- 广州市白云广附实验学校招生数学真题卷
- 结构化面试经典100题及答案
- 20232023期末A 统计学考试卷 首经贸
- 福建省福州市福建师大附中2023年自主招生样卷--数学试卷
- GB/T 16622-2022压配式实心轮胎规格、尺寸与负荷
- GB/T 40036-2021翻译服务机器翻译结果的译后编辑要求
- GB/T 3274-2017碳素结构钢和低合金结构钢热轧钢板和钢带
- GB/T 28369-2012铁合金评价品质波动和检查取样精度的试验方法
- GB/T 23764-2009光催化自清洁材料性能测试方法
评论
0/150
提交评论