音乐倒数计数器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

目录1设计意义...............................................12设计原理...............................................22.1设计要求............................................22.2设计目的............................................22.3设计的具体实现......................................32.3.1系统概述........................................32.3.2设计流程........................................42.3.3系统仿真电路图.................................52.3.4单元电路设计....................................53软件程设计和调试.......................................83.1软件延时时间的计算..................................93.2子程序说明.........................................103.2.1显示子程序说明.................................103.2.2按键选择程序说明...............................113.2.3定时器中断子程序说明...........................14设计总结................................................16参考文献................................................18附录....................................................19课程设计说明书11设计意义单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微型计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端机通信产品中得到广泛的应用,成为现代电子系统中重要的智能化的核心部件。单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而52系列单片机时各单片机中最为典型和最具代表性的一种,本次课程设计通过对它的学习、应用,从而达到学习、设计、开发软硬件的能力。本设计利用AT89C52单片机七段数码管设计一个简易的倒数计数器。用4个按键操作来设置当前想要倒数计数的时间。作一小段时间倒数计数,当计数为0时,则发出一段音乐声响,通知倒数计数终了,该做应做的事了。应用Proteus的ISIS软件和KeiluVision3来实现该计数器的设计与仿真。该方法的仿真效果真实、准确,节省了硬件资源。该功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,则加新功能,从而给人们的生活和工作带来更多的方便。课程设计说明书22设计原理2.1设计要求利用单片机结合七段数码管设计一个倒数计时器,可以放在家中使用,例如煮方便面、煮开水或小睡片刻等,做一小段时间计时。当倒数计时为0时,则发出一段音乐,通知倒数终了,该做重要的事情了。具体要求:(1)四个七段数码管显示目前倒数的时间。显示格式为“分分:秒秒”;(2)具有4个按键操作来设置现在想要倒数的时间;一旦按键后则开始倒数计时,当计时为零则发出一阵音乐声响;(3)程序执行后,数码管显示“0000”,当按下操作键K1~K4动作如下:操作键K1,设置倒数计时时间3min,显示“0300”;操作键K2,设置倒数计时时间为2min,显示“0200”;操作键K3,设置倒数计时时间为4min,显示“0400”;操作键K4,控制K1,K2,K3。当计时时间错误时,按下K4,可即使调节时间,使当前倒数计时关闭,此时,再按下K1,K2,K3时,可重新倒数计时。(4)倒数计时时,相应指示灯亮;当计时完成时,指示灯灭,音乐响。2.2设计目的(1)通过该设计能提高学生分析解决问题的能力。(2)了解单片机、模拟电路及数字电路的相关知识。(3)学习和熟悉单片机定时器时间计时处理、按键扫描、数码管动态显示、相关芯片应用和音乐旋律演奏的设计方法以及程序下载和运行过程。课程设计说明书32.3设计的具体实现2.3.1系统概述本次设计主要器件有8052单片机,七段数码管,74LS04芯片以及压电喇叭等。1、8052单片机内部包含一个8位CPU、一个片内振荡器及时钟电路、ROM程序存储器、RAM数据存储器、三个16位定时器/计数器、可分别寻址64KB的程序存储器空间和64KB的数据存储器空间、32条可编程的I/O口线(4个8位并行I/O端口)、一个可编程全双工串行口、具有5个中断源和2个优先级的中断结构。可以有效实现本次设计中要求的各项功能。8052基本资料如下:8052主要使用引脚功能说明如下:(1)8052的引脚40接+5V电源,引脚20接电源地线。(2)传统8052工作时钟的最高为12MHz。(3)EA引脚低电平动作用来存取外部程序ROM控制。(4)EA接地,由外部程序ROM来执行程序;EA接高电平,由内部ROM来执行程序。(5)开机时必须加入芯片重置信号。RESET信号高电平动作,高图18052单片机引脚图课程设计说明书4电平时产生芯片重置;RESET信号低电平时,由程序ROM地址0开始执行程序。2、七段数码管具有体积小、重量轻、工作电压低、功耗极低、显示内容丰富、稳定可靠、成本低、控制驱动方便、接口简单易用、模块化结构紧凑等特点。3、74LS04芯片以及压电喇叭分别控制数码管的位选驱动和音乐声响。2.3.2设计流程其系统设计流程图如图1所示:开始数码管显示“0000”开T1中断,赋初值40H~43H内容清零将44H、45H的高四位和低四位分别送入40H~43H中。将数码送给P1口,位码送给P2口。调用延时K1,K2,K3,K4是否按下K1:倒数计时时间为3min;K2:倒数计时时间为2min;K3:倒数计时时间为4min;K4:控制K1,K2,K3;NY图2系统设计流程图课程设计说明书52.3.3系统仿真电路图2.3.4单元电路设计1、控制电路8052系列的单片机的时钟方式分为内部方式和外部方式。内部方式就是在单片机的引脚18、19外接晶振,就够成了自激振荡器在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已经有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。图3系统仿真电路图课程设计说明书6在8052中之所以采用高性能的振荡电路,是因为:单片机电子钟的计时脉冲基准是由外部晶振的频率经过12分频后提供,采用内部的定时/计数器来实现计时功能。所以,外接晶振频率精确度直接影响电子钟计时的准确性。本次设计采用一个12MHz晶振和两个30Pf瓷片电容组成,为单片机提供标准时钟,其中两个瓷片电容可以增加电路的稳定性,可以抗噪声增加稳定性,不容易死机。其图如下:2、七段数码管动态显示倒数计时时间利用七段数码管动态显示,其数据端用P1口直接通过查表控制,由于选择共阳级数码管,所以表中数据为:90H,80H,0F8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0H。其位选通过P2经74LS14非门芯片驱动控制。图4时钟电路图5数码管显示电路课程设计说明书73、74LS04介绍74HC04是内含6组相同的反相器。A为输入,Y为输出。其极限值如下:电源电压:7V输入电压:7V工作环境温度:0到70℃存储温度:-65~150℃4、按键控制按键控制室控制程序执行时数据的输入或是特殊功能的设置及操作,使用8052的P0口的4条输入口,由程序来控制,平时输入端为高电平,当有按键按下则相对位会呈现低电平,进过轮流扫描判断输入端是否为低电平,便可知道按下的是哪一个按钮。值得注意的是,由于选择P0口作按键控制,且低电平有效,所以在接按键之前,应在相应I/O口接上拉电阻,才能正常工作。图674LS04引脚图课程设计说明书85、压电喇叭8052端口3的第4位是压电喇叭的驱动位,持续送出工作脉冲可以推动喇叭发出哔的声响,当工作频率越高时,声音越清脆,工作频率低时,声音则较低沉。3软件程设计和调试本课程设计中,可以学习利用单片机定时器设计时间计时处理,其时间控制,定时器1计时中断程序每个100ms中断一次判断计数值是否为10,若为10,则计数值加一,表示1s到了,秒变量加1,同理再判断是否1min到了,若计数到了则将相关变量清除为0。单片机定时器负责定时的技术,不会因为案件处理而中断时间描述的增加。分,秒数据是存入寄存器内并写入七段数码管而显示相关时间的。在主控程序循环中主要工作为程序初始化和循环调用显示子程序。在显示子程序中判断是否有按键按下,若有按键则做相应的功能处理。而在定时器中断子程序中完成的主要功能是时间的减一操作。同时检查所倒数的时间是否为0,若为0表示倒数终了,应该执行想对应的工作了,此时相应指示灯灭,压电喇叭发出声响提示。图7压电喇叭接线图课程设计说明书93.1软件延时时间的计算1、若我们想设计程序执行1s时间延时,程序可以设计如下DELY:MOVR4,#20D1:MOVR5,#100D2:MOVR6,#250D3:DJNZR6,D3DJNZR5,D2DJNZR4,D1RET2、硬件延时工作方式设计本次设计中采用的定时器1模式1来设计,在此方式中T1可以进行16位的计时,其值保存在两个8位的定时寄存器中。对于其中任一定时器,工作时钟可以由内部或是外部来提供,由C/T位来决定做定时器还是计数器。定时器的时钟为系统工作时钟除以12.此次试验中采用12MHz石英震荡器则产生1us的计数时间脉冲宽度。本次实验的定时器计时时间为50ms,因此定时器0需计数50000次,其定时器初值的计算如下:计数初值为:65536-50000=15536TL1=B0HTH1=3CH课程设计说明书103.2子程序说明3.2.1显示子程序说明DISP:MOVA,44HANLA,#0FHMOV40H,AMOVA,44HSWAPAANLA,#0FHMOV41H,AMOVA,45HANLA,#0FHMOV42H,AMOVA,45HSWAPAANLA,#0FHMOV43H,ALL1:MOVR2,#0F7HMOVR0,#40HLOOP:MOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOVP1,AMOVA,R2MOVP2,AACALLDIMSMOVP2,#0FFHRRA课程设计说明书11MOVR2,AINCR0CJNER2,#7FH,LOOPRET其流程图如下:3.2.2按键选择程序说明DIMS:MOVR5,#10D1:MOVR6,#1D2:PUSHACCORLP0,#78HMOVA,P0ORLA,#87HCPLA开始将44H中内容低四位送入40H,高四位送入41H将45H中内容低四位送入42H,高四位送入43HMOVR2,#0F7HMOVR0,#40H位码送入P2口,数码送入P1口位码是否为7FH?返回NY、、Y图8显示子程序流程图课程设计说明书12JZDD0JNBACC.6,DD4SETBP0.0SETBP0.1SETBP0.2MOV44H,#99HMOV45H

1 / 25
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功