单片机LCD显示的音乐倒数计时器(共19页)_第1页
单片机LCD显示的音乐倒数计时器(共19页)_第2页
单片机LCD显示的音乐倒数计时器(共19页)_第3页
单片机LCD显示的音乐倒数计时器(共19页)_第4页
单片机LCD显示的音乐倒数计时器(共19页)_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、信息(xnx)工程学院课程设计报告书题 目: 带有LCD显示(xinsh)的音乐倒数计时器 专 业: 日 PAGE 20摘 要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制系统(kn zh x tn)日新月益更新。单片机具有强大(qingd)的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本次课程设计的项目是带有LED显示的音乐倒数计时器。主体(zht)使用89C52,通过几个开关进行控制,其中开关K1用于切换时间设置状态和时钟运行状态;开关K2用于切换修改时间数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于

2、设定倒计时时间,并且设定好后到时间通过实验箱音频放出一段乐曲作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能关键词:单片机 课程项目 计时器 89C52目 录 TOC o 1-3 h z u HYPERLINK l _Toc265582398 摘 要 PAGEREF _Toc265582398 h I HYPERLINK l _Toc265582400 1前 言 PAGEREF _Toc265582400 h 1 HYPERLINK l _Toc265582401 1.1 课题开发(kif)背景 PAGEREF _Toc265582401 h 1 HYPERLIN

3、K l _Toc265582402 1.2 课题研究(ynji)的目的和意义 PAGEREF _Toc265582402 h 1 HYPERLINK l _Toc265582403 1.3 课题的主要研究(ynji)工作 PAGEREF _Toc265582403 h 1 HYPERLINK l _Toc265582404 2 系统硬件设计及说明3 HYPERLINK l _Toc265582405 2.1系统组成及总体框图3 HYPERLINK l _Toc265582406 2.2部分硬件方案论述3 HYPERLINK l _Toc265582407 2.3硬件电路图4 HYPERLINK

4、 l _Toc265582408 2.4元件清单4 HYPERLINK l _Toc265582409 2.4.1 AT89C524 HYPERLINK l _Toc265582410 2.4.2 LCD16025 HYPERLINK l _Toc265582411 2.4.3按键控制单元6 HYPERLINK l _Toc265582411 2.4.4 SPEAKER7 HYPERLINK l _Toc265582412 3系统软件设计8 HYPERLINK l _Toc265582415 3.1 系统总体功能流程图8 HYPERLINK l _Toc265582413 3.2 使用单片机实

5、现音乐节拍10 HYPERLINK l _Toc265582414 3.3使用单片机产生音频脉冲11 HYPERLINK l _Toc265582416 3.4使用定时器实现定时功能 PAGEREF _Toc265582416 h 11 HYPERLINK l _Toc265582416 3.5程序描述 PAGEREF _Toc265582416 h 12 HYPERLINK l _Toc265582417 4总结与展望 PAGEREF _Toc265582417 h 15 HYPERLINK l _Toc265582418 参考文献 PAGEREF _Toc265582418 h 161前

6、言1.1 课题(kt)开发(kif)背景随着(su zhe)单片机技术的成熟,单片机已经渗透到我们的学习、生活、生产和工作各个领域中, 凡是有自动控制要求的地方一般都会有单片机的身影出现:从简单到复杂,从空中、地面到地下,凡是能想象到的地方几乎都有使用单片机的需求。单片机的应用有利于铲平的小型化、多功能化和智能化。有利于提高生产、生活效率,保证安全。本系统的开发也是旨在给人们的生活带来方便。单片机技术使我们可以利用软硬件实现倒计数计时器的功能,从而为生活带来方便,例如工作生活中小睡片刻或者做食物等,可以做一小段时间计时,并且可以进行一定的功能扩展。鉴于传统计时器只是能够纯粹的实现计时功能,而该

7、设计不但可以实现对基本计时功能,同时当倒数计时为0时,还会发出一段音乐,起到一定的提醒功能,而且还可以添加时钟、闹钟、秒表功能和万历年显示功能。使该设计功能更加完善。1.2 课题研究的目的和意义利用AT89C52单片机自带资源,设计一款带有LCD显示的音乐倒数计时器。1.3 课题的主要研究工作本课题设计的主要工作要求有以下几个方面:(1)字符型LCD(162)显示器,显示格式为“TIME 分分:秒秒”。(2) 用4个按键操作来设置当前想要倒计数的时间。(3)一旦按下键K5则开始倒计数,当计数为0时,发出一阵音乐声。(4) 程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1K4动作

8、如下: K1可调整倒计数的时间160分钟。 K2设置倒计数的时间为5分钟,显示“0500”。 K3设置倒计数的时间为10分钟,显示“1000”。 K4设置倒计数的时间为20分钟,显示“2000”。(5)复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。此时,若: 按K2键增加倒计数的时间1分钟。 按K3键减少倒计数(j sh)的时间1分钟。 按K4键设置(shzh)完成。扩充(kuchng)功能:(1) 增加时钟及闹钟功能。(2) 增加秒表计数功能。(3) 增加万年历显示“年月日”。2 系统(xtng)硬件设计及说明2.1系统组成及总体(zngt)框图硬件

9、设计的任务是根据(gnj)总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。该设计要实现一种由单片机控制的带LCD显示的倒数计时器,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,改变计数值TH0和TL0可以产生不同频率的脉冲信号。该设计具有5个功能按键,用户可以通过这些按键设置定时时间和选择控制定时,倒计数为零时,可通过扬声器将音乐播放出来。系统结构图如图2-1所示。振荡电路复位电路 音频输出电路89C52芯片LCD显示电路键盘或开关控制电路图2-1 系统结构图2.2系统硬件方案论述2.21系统方案概述 利用单片机、LCD显示器和压

10、电喇叭实现音乐倒数计时器。 单片机具有高性能、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。它在硬件结构、指令系统、I/O端口、功能消耗及可靠性等方面均有独特之处,其最显著的特点之一就是具有非常有效的控制功能。而LCD显示器具有以及小、重量轻、工作电压低、功耗极低、显示内容丰富、稳定可靠、成本低控制驱动方便、接口简单易用、模块化结构紧凑等特点。2.22 LCD显示方式的方案比较。方案(fng n)一:采用(ciyng)花样显示,花样显示是指lcd显示某一屏字符时,采取从左到右或者是从右到左的整屏移动的显示方式。在这种显示方式下,给人的感觉就是(jish)程序是在执行的,同时如

11、果控制好了移动一屏的时间间隔的话,在整体视觉上可以达到很好的效果。方案二:采用静态显示,静态显示是指lcd显示某一屏字符时,时钟保持当前字符的显示,不使用移屏显示。便于控制,同时能够满足正常的显示效果。由于在显示中存在播放时间的动态变化,这样的话,即使是不产生整屏移动,也能给人动态感,也易于控制。基于以上各种特点,设计时该系统选择了方案二。2.3硬件电路图系统硬件电路图如图2-2所示。2.4元件清单因为小组是分工协作的,我主要的工作是设计模块(5),后面将会具体介绍。2.4.1 AT89C52AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可

12、编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要特性: 兼容MCS51指令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能图2-2 系统(xtng)硬

13、件连接图2.4.2 LCD1602 图2-3 162的液晶(yjng)显示屏LM016L1602LCD的指令(zhlng)说明及时序1602液晶模块内部的控制器共有11条控制指令,如表2-1所示.表2-1 1602液晶模块控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器

14、地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容2.4.3按键(n jin)控制单元(dnyun)采用(ciyng)5个button,分别用来设置定时时间或控制定时功能,对应P2.0 P2.4端口。其硬件连接如图2-4所示。 图2-4 按键连接图2.4.4 SPEAKER 当倒计数(j sh)为0时,系统需放出一段音乐(ynyu),其音频输出是通过(tnggu)SPEAKER实现。音频电路输出如下: 图2-5音频输出连接图 3系统软件设计本软件设计关键是要实现一种(y zhn)由单片机控制的带有LCD显示(xinsh)的音乐倒数计时器。

15、通过K1K5开关进行控制时间设置(shzh)来完成其基本功能,当倒计时为零时,通过通过扬声器放出一段乐曲作为闹铃。3.1 系统总体功能流程图 3.1.1 系统基本流程图 3.1.2 模块(m kui)(5)的流程图: 3.2 使用单片机实现(shxin)音乐节拍除了音符以外,节拍也是音乐的关键组成部分。节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。如果单片机要自己播放(b fn)音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输

16、入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。音乐的音拍,一个节拍(jipi)为单位(C调)具体如表3-1所示。表3-1 音乐节拍表曲调值DELAY 曲调值DELAY调4/4125ms 调4/462ms调3/4187ms 调3/494ms调2/4250ms 调2/4125ms 3.3使用单片机产生音频(ynpn)脉冲了解音乐的一些基本知识后可知,产生不同频率的音频(ynpn)脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及

17、单片机定时计数的关系。在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生(chnshng)不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如表3-2所示。T的值决定了TH0和TL0的值,其关系为:TH0=T/256,TL0=T%2563.4使用定时器实现定时功能3.41定时器的工作方式和方式设定 MCS-51单片机有两路独立的定时器,每路定时器有4种工作方式(03),方式0是13位计数结构,计数器由TH全部8位与TL的低5位构成;方式 1是16位计数结构,计数器由TH与TL全部8位共16位组成;方式2是8位计数结构

18、方式,计数器由TL8位组成,与其他方式不同的是,当定时溢出时,硬件自动将TH的值装入TL中,有自动加载功能。前三种工作方式,两路定时器的设置与使用完全相同,但在工作方式3下,两路定时器有很大差别,只有0路定时器可以工作在方式3下,1路定时器只能工作在方式02下,在工作方式3下,0路定时器被拆分成两个独立的8位计数器TL0与TH1,其中0路定时器的各控制位和引脚信号全归TL0使用,因此TH0只能做简单的定时器使用,其控制位占用了1路定时器的控制位,如果0路定时器工作在方式3下,1路定时器由于让出了所属控制位,通常作为串行口波特率发生器3。定时器的工作方式选择主要依靠设置TMOD寄存器的值,其各位

19、定义如下: 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/T M1 M0 其中,B0B3用来控制0路定时器,B4B7用来控制1路定时器。 GATE位为门控位,主要确定定时器启动的方式,如果GATE=0,则用TR0(TR1) 位启动/关闭定时器,如果GATE=1,则以外中断请求信号(INT0或INT1)启动定时 器。C/T位为定时与计数选择位,C/T=0为定时方式,C/T=1为计数方式。M0、M1为工作方式(fngsh)选择位M1M0=00方式(fngsh)0 M1M0=10方式(fngsh)2 M1M0=01方式1 M1M0=11方式

20、3选择定时器工作方式,应根据上述规定向寄存器TMOD中写入相应数设计本系统时选择的是T0定时器,工作在方式1下。3.42定时器计数初值设置定时器工作方式选定后,定时溢出时间唯一取决于计数器的初值,如何根据应用需要确定计数器初值,也是定时器应用的一个重要问题。假定单片机机器周期为K0,所选定的定时方式计数器为n位,所实现的定时时间长度为T,则有:(2nx)K0=T其中x为计数器的初值,根据上式可以求出初值x为: x=2n(T/K0)单片机机器周期k0由单片机时钟频率f确定即: k0=12/f 在实际应用中,本系统单片机时钟频率f为6mHz所以单片机机器周期 k0=2s,然后根据选定的工作方式确定

21、计数器位数n,将所得k0与n代入式2,求出计数初值x,并根据所选择的计数方式将x的值分入TH0与TL0。经计算得,该定时器定时100ms时的计数初值为TL0=0XB7 TH0=0X3C3.5程序描述 3.51程序功能描述我主要的工作是设计模块(5),其具体实现功能如下:复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。此时,若: 按K2键增加倒计数的时间1分钟。 按K3键减少倒计数的时间1分钟。按K4键设置完成。其电路连接:P2.0K1 P2.1K2 P2.2K3 P2.3K4 P2.4K5 按键按下,则相应端口输出为0(低电平) 3.52程序代码(1)按

22、键控制和更改时间函数void ChangeTime() unsigned char b,a=0 xFE, b=a|P2; if(b=0 xFE) /K1按下 TR0=1; /关定时器T0,计时暂停(zn tn) a=0 xFD; b=a|P2; if(b=0 xFD) /K2按下 min+; /增加(zngji)1分钟定时时间 a=0 xF7; b=a|P2; if(b=0 xF7) /K4按下 TR0=0; /开定时器T0,计时重新(chngxn)开始 a=0 xFB; b=a|P2; if(b=0 xFB) /K3按下 min-; /减少1分钟定时时间 a=0 xF7; b=a|P2; i

23、f(b=0 xF7) /K4按下 TR0=0; /开定时器T0 (2)定时(定时器T0)功能函数: void INT_T0() interrupt 1 TH0=0 x3C; TL0=0 xB7; count+; if(count=10) /定时到1秒 sec-; /倒计时秒减1 count=0; if(sec=-1) min-; sec=59; (3)主函数(hnsh)void main() /*主程序 */ TMOD=0 x01; /*设置T0的工作(gngzu)模式为方式1*/ TL0=0XB7; /*设置(shzh)定时计数初值*/ TH0=0X3C; EA=1; /*允许CPU中断*/ ET0=1; /*允许T0中断*/ .4总结(zngji)与展望此次课程设计,系统

温馨提示

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

评论

0/150

提交评论