单片机LCD显示的音乐倒数计时器Word下载.docx

上传人:b****4 文档编号:18393859 上传时间:2022-12-16 格式:DOCX 页数:15 大小:231.14KB
下载 相关 举报
单片机LCD显示的音乐倒数计时器Word下载.docx_第1页
第1页 / 共15页
单片机LCD显示的音乐倒数计时器Word下载.docx_第2页
第2页 / 共15页
单片机LCD显示的音乐倒数计时器Word下载.docx_第3页
第3页 / 共15页
单片机LCD显示的音乐倒数计时器Word下载.docx_第4页
第4页 / 共15页
单片机LCD显示的音乐倒数计时器Word下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机LCD显示的音乐倒数计时器Word下载.docx

《单片机LCD显示的音乐倒数计时器Word下载.docx》由会员分享,可在线阅读,更多相关《单片机LCD显示的音乐倒数计时器Word下载.docx(15页珍藏版)》请在冰豆网上搜索。

单片机LCD显示的音乐倒数计时器Word下载.docx

使该设计功能更加完善。

1.2课题研究的目的和意义

利用AT89C52单片机自带资源,设计一款带有LCD显示的音乐倒数计时器。

1.3课题的主要研究工作

本课题设计的主要工作要求有以下几个方面:

(1)字符型LCD(16×

2)显示器,显示格式为“TIME分分:

秒秒”。

(2)用4个按键操作来设置当前想要倒计数的时间。

(3)一旦按下键K5则开始倒计数,当计数为0时,发出一阵音乐声。

(4)程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1~K4动作如下:

·

K1---可调整倒计数的时间1~60分钟。

K2---设置倒计数的时间为5分钟,显示“0500”。

K3---设置倒计数的时间为10分钟,显示“1000”。

K4---设置倒计数的时间为20分钟,显示“2000”。

(5)复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。

此时,若:

按K2键---增加倒计数的时间1分钟。

按K3键---减少倒计数的时间1分钟。

按K4键---设置完成。

[扩充功能]:

(1)增加时钟及闹钟功能。

(2)增加秒表计数功能。

(3)增加万年历显示“年月日”。

2系统硬件设计及说明

2.1系统组成及总体框图

硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。

该设计要实现一种由单片机控制的带LCD显示的倒数计时器,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,改变计数值TH0和TL0可以产生不同频率的脉冲信号。

该设计具有5个功能按键,用户可以通过这些按键设置定时时间和选择控制定时,倒计数为零时,可通过扬声器将音乐播放出来。

系统结构图如图2-1所示。

图2-1系统结构图

2.2系统硬件方案论述

2.21系统方案概述

利用单片机、LCD显示器和压电喇叭实现音乐倒数计时器。

单片机具有高性能、速度快、体积小、价格低、稳定可靠、应用广泛、通用性强等突出优点。

它在硬件结构、指令系统、I/O端口、功能消耗及可靠性等方面均有独特之处,其最显著的特点之一就是具有非常有效的控制功能。

而LCD显示器具有以及小、重量轻、工作电压低、功耗极低、显示内容丰富、稳定可靠、成本低控制驱动方便、接口简单易用、模块化结构紧凑等特点。

2.22LCD显示方式的方案比较。

方案一:

采用花样显示,花样显示是指lcd显示某一屏字符时,采取从左到右或者是从右到左的整屏移动的显示方式。

在这种显示方式下,给人的感觉就是程序是在执行的,同时如果控制好了移动一屏的时间间隔的话,在整体视觉上可以达到很好的效果。

方案二:

采用静态显示,静态显示是指lcd显示某一屏字符时,时钟保持当前字符的显示,不使用移屏显示。

便于控制,同时能够满足正常的显示效果。

由于在显示中存在播放时间的动态变化,这样的话,即使是不产生整屏移动,也能给人动态感,也易于控制。

基于以上各种特点,设计时该系统选择了方案二。

2.3硬件电路图

系统硬件电路图如图2-2所示。

2.4元件清单

因为小组是分工协作的,我主要的工作是设计模块(5),后面将会具体介绍。

2.4.1AT89C52

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

主要特性:

兼容MCS51指令系统·

8k可反复擦写(>

1000次)FlashROM

  ·

32个双向I/O口·

256x8bit内部RAM

3个16位可编程定时/计数器中断·

时钟频率0-24MHz

2个串行中断·

可编程UART串行通道

2个外部中断源·

共8个中断源

2个读写中断口线·

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

图2-2系统硬件连接图

2.4.2LCD1602

图2-316×

2的液晶显示屏LM016L

1602LCD的指令说明及时序

1602液晶模块内部的控制器共有11条控制指令,如表2-1所示.

表2-11602液晶模块控制指令

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

2

光标返回

*

3

置输入模式

I/D

S

4

显示开/关控制

D

C

B

5

光标或字符移位

S/C

R/L

6

置功能

DL

N

F

7

置字符发生存贮器地址

字符发生存贮器地址

8

置数据存贮器地址

显示数据存贮器地址

9

读忙标志或地址

BF

计数器地址

10

写数到CGRAM或DDRAM)

要写的数据内容

11

从CGRAM或DDRAM读数

读出的数据内容

2.4.3按键控制单元

采用5个button,分别用来设置定时时间或控制定时功能,对应P2.0~P2.4端口。

其硬件连接如图2-4所示。

图2-4按键连接图

2.4.4SPEAKER

当倒计数为0时,系统需放出一段音乐,其音频输出是通过SPEAKER实现。

音频电路输出如下:

图2-5音频输出连接图

3系统软件设计

本软件设计关键是要实现一种由单片机控制的带有LCD显示的音乐倒数计时器。

通过K1~K5开关进行控制时间设置来完成其基本功能,当倒计时为零时,通过通过扬声器放出一段乐曲作为闹铃。

3.1系统总体功能流程图

3.1.1系统基本流程图

3.1.2模块(5)的流程图:

3.2使用单片机实现音乐节拍

除了音符以外,节拍也是音乐的关键组成部分。

节拍实际上就是音持续时间的长短,在单片机系统中可以用延时来实现,如果1/4拍的延时是0.4秒,则1拍的延时是1.6秒,只要知道1/4拍的延时时间,其余的节拍延时时间就是它的陪数。

如果单片机要自己播放音乐,那么必须在程序设计中考虑到节拍的设置,由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。

对于不同的曲调我们也可以用单片机的另外一个定时/计数器来完成。

音乐的音拍,一个节拍为单位(C调)具体如表3-1所示。

表3-1音乐节拍表

曲调值

DELAY

调4/4

125ms

62ms

调3/4

187ms

94ms

调2/4

250ms

3.3使用单片机产生音频脉冲

了解音乐的一些基本知识后可知,产生不同频率的音频脉冲即能产生音乐,对于单片机而言,产生不同频率有脉冲非常方便,可以利用它的定时/计数器来产生这样的方波频率信号,因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。

在本实验中,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,工作模式为1,改变计数值TH0和TL0可以产生不同频率的脉冲信号,在此情况下,C调的各音符频率与计数值T的对照如表3-2所示。

T的值决定了TH0和TL0的值,其关系为:

TH0=T/256,TL0=T%256

3.4使用定时器实现定时功能

3.41定时器的工作方式和方式设定

MCS-51单片机有两路独立的定时器,每路定时器有4种工作方式(0~3),方式0是13位计数结构,计数器由TH全部8位与TL的低5位构成;

方式1是16位计数结构,计数器由TH与TL全部8位共16位组成;

方式2是8位计数结构方式,计数器由TL8位组成,与其他方式不同的是,当定时溢出时,硬件自动将TH的值装入TL中,有自动加载功能。

前三种工作方式,两路定时器的设置与使用完全相同,但在工作方式3下,两路定时器有很大差别,只有0路定时器可以工作在方式3下,1路定时器只能工作在方式0~2下,在工作方式3下,0路定时器被拆分成两个独立的8位计数器TL0与TH1,其中0路定时器的各控制位和引脚信号全归TL0使用,因此TH0只能做简单的定时器使用,其控制位占用了1路定时器的控制位,如果0路定时器工作在方式3下,1路定时器由于让出了所属控制位,通常作为串行口波特率发生器[3]。

定时器的工作方式选择主要依靠设置TMOD寄存器的值,其各位定义如下:

位序

B7

B6

B5

B4

B3

B2

B1

B0

位符号

GATE

C/T

M1

M0

其中,B0~B3用来控制0路定时器,B4~B7用来控制1路定时器。

GATE位为门控位,主要确定定时器启动的方式,如果GATE=0,则用TR0(TR1)位启动/关闭定时器,如果GATE=1,则以外中断请求信号(INT0或INT1)启动定时

器。

C/T位为定时与计数选择位,C/T=0为定时方式,C/T=1为计数方式。

M0、M1为工作方式选择位

M1M0=00方式0M1M0=10方式2M1M0=01方式1M1M0=11方式3

选择定时器工作方式,应根据上述规定向寄存器TMOD中写入相应数

设计本系统时选择的是T0定时器,工作在方式1下。

3.42定时器计数初值设置

定时器工作方式选定后,定时溢出时间唯一取决于计数器的初值,如何根据应用需要确定计数器初值,也是定时器应用的一个重要问题。

假定单片机机器周期为K0,所选定的定时方式计数器为n位,所实现的定时时间长度为T,则有:

  (2n-x)K0=T

其中x为计数器的初值,根据上式可以求出初值x为:

 

x=2n-(T/K0)

单片机机器周期k0由单片机时钟频率f确定即:

k0=12/f

在实际应用中,本系统单片机时钟频率f为6mHz所以单片机机器周期k0=2μs,然后根据选定的工作方式确定计数器位数n,将所得k0与n代入式2,求出计数初值x,并根据所选择的计数方式将x的值分入TH0与TL0。

经计算得,该定时器定时100ms时的计数初值为TL0=0XB7TH0=0X3C

3.5程序描述

3.51程序功能描述

我主要的工作是设计模块(5),其具体实现功能如下:

复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。

其电路连接:

P2.0→K1P2.1→K2P2.2→K3P2.3→K4P2.4→K5

按键按下,则相应端口输出为0(低电平)

3.52程序代码

(1)按键控制和更改时间函数

voidChangeTime()

{

unsignedcharb,a=0xFE,

b=a|P2;

if(b==0xFE)//K1按下

{

TR0=1;

//关定时器T0,计时暂停

a=0xFD;

if(b=0xFD)//K2按下

min++;

//增加1分钟定时时间

a=0xF7;

if(b=0xF7)//K4按下

TR0=0;

//开定时器T0,计时重新开始

}

a=0xFB;

if(b=0xFB)//K3按下

min--;

//减少1分钟定时时间

//开定时器T0

}

(2)定时(定时器T0)功能函数:

voidINT_T0()interrupt1

TH0=0x3C;

TL0=0xB7;

count++;

if(count==10)//定时到1秒

sec--;

//倒计时秒减1

count=0;

if(sec==-1)

sec==59;

(3)主函数

voidmain()/*主程序*/

TMOD=0x01;

/*设置T0的工作模式为方式1*/

TL0=0XB7;

/*设置定时计数初值*/

TH0=0X3C;

EA=1;

/*允许CPU中断*/

ET0=1;

/*允许T0中断*/

…………………………….

4总结与展望

此次课程设计,系统部分功能已实现。

可以播放存储演奏一首喜欢的曲子,基本达到预定的效果。

在设计的过程中,小组各成员各负其责,设计不同模块。

不仅提高了设计的效率,而且体现了实践动手及团队合作的精神。

经过一周的课程设计,真的感觉收获还是不少。

刚开始是画元件电路图,很大一部分时间用来画键盘电路模块了,由于上课的时候只是一些理论知识,实际要画出电路,感觉有些吃力,但反复看几遍书上的讲解,以及在老师的指导讲解下,最后能很好的掌握理解键盘扫描的的原理并画出连接电路。

虽然,后来发现这次设计的项目中并不需要用到键盘扫描,但学到了就算是有收获,而且可以考虑键盘扫描作为这个项目的扩展方向。

再就是,之前一直都只是知道,只要给一段音乐,通过音频元件输出就可以,并不知道其最根本的原理方法,通过老师细心的讲解,让我了解到,音乐其实从根本上,是通过控制高低电平延续时间长短来实现的,这让我感到很好奇,也觉得挺有趣。

通过这次课程设计,能将学过的知识系统的组织到一起,通过解决实际遇到的问题,能进一步增强了对知识点的理解,也可以找出自己掌握得不好的地方,得以进一步学习。

参考文献

[1]李朝青,单片机原理及接口技术(第3版)[M].北京:

北京航天航空大学出版色,2001.

[2]康华光,陈大钦.电子技术基础—模拟部分(第五版)[M].北京:

高等教育出版社,2005

[3]赵鑫,蒋亮,齐兆群等.数字电路设计[M].北京机械工业出版社,2005

[4]苏家健、曹柏荣、汪志锋,单片机原理及应用技术[M].高等教育出版社

[5]于海生,微型计算机控制技术选编[M].清华大学出版社,1999.

[6]胡汉才,单片机原理及其接口技术[M].北京:

清华大学出版社,2004.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 生产经营管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1