AT89C51单片机设计的音乐倒数计数器Word格式.doc

上传人:b****3 文档编号:15494325 上传时间:2022-11-02 格式:DOC 页数:17 大小:380KB
下载 相关 举报
AT89C51单片机设计的音乐倒数计数器Word格式.doc_第1页
第1页 / 共17页
AT89C51单片机设计的音乐倒数计数器Word格式.doc_第2页
第2页 / 共17页
AT89C51单片机设计的音乐倒数计数器Word格式.doc_第3页
第3页 / 共17页
AT89C51单片机设计的音乐倒数计数器Word格式.doc_第4页
第4页 / 共17页
AT89C51单片机设计的音乐倒数计数器Word格式.doc_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

AT89C51单片机设计的音乐倒数计数器Word格式.doc

《AT89C51单片机设计的音乐倒数计数器Word格式.doc》由会员分享,可在线阅读,更多相关《AT89C51单片机设计的音乐倒数计数器Word格式.doc(17页珍藏版)》请在冰豆网上搜索。

AT89C51单片机设计的音乐倒数计数器Word格式.doc

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

做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

应用Proteus的ISIS软件和KeiluVision3来实现该计数器的设计与仿真。

该方法仿真效果真实、准确,节省了硬件资源。

该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。

关键词:

AT89C51,计数器,键盘控制,LCD显示,protues,Keil。

目录

1绪论 3

1.1课题背景及研究意义 3

1.2国内外现状 3

1.3课题的设计目的 3

1.4课题的主要工作 3

2系统概述 4

2.1方案论证 4

2.2系统设计原理 4

3系统硬件设计 5

3.1主控电路设计 5

3.2LCD液晶显示器接口电路设计 6

4系统软件设计 7

4.1主程序设计 7

4.2硬件调试 8

4.3仿真结果 9

结论 10

参考文献 11

系统整体电路 11

全部程序清单 12

-III-

1绪论

1.1课题背景及研究意义

近年来单片机发展十分迅速,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业[1]。

本设计使用单片机作为核心进行控制。

单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途[2]。

1.2国内外现状

单片机是指一个集成在一块芯片上的完整计算机系统。

同时集成诸如通讯接口、定时器,实时时钟等外围设备。

而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上[3][4]。

单片机也被称为微控制器(Microcontroller),是因为它最早被用在工业控制领域。

最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。

INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。

1.3课题的设计目的

利用STC89C52单片机结合字符型LCD显示器设计一个简易的倒数计数器。

1.4课题的主要工作

1.字符型LCD(16×

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

秒秒”。

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

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

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

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

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

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

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

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

此时,若:

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

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

n按K4键---设置完成。

2系统概述

2.1方案论证

方案一:

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

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

方案二:

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

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

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

基于以上各种特点,我选择了方案二

2.2系统设计原理

本课程设计是利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。

作品先接受用户输入的倒数计数时间,然后由用户启动作品工作(可用一个闪烁的LED灯指示),当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。

定时闹钟的基本功能如下:

1、字符型LCD(16 

´

 

2)显示器。

2、显示格式为“TIME分分:

3、用5个按键操作来设置当前想要倒计数的时间。

4、一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声

5、程序执行后工作指示灯LCD闪动,表示程序开始执行,按下操作键K1~K4动作如下:

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

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

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

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

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

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

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

按K4键---设置完成。

3系统硬件设计

3.1主控电路设计

AT89C51为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。

在本系统中,AT89C51单片机内部的功能单元已经能够满足系统设计需要,不需要系统扩展。

主要特性:

与MCS-51兼容、4K字节可编程闪烁存储器、寿命:

1000写/擦循环、数据保留时间:

10年、全静态工作:

0Hz-24MHz、三级程序存储器锁定、128×

8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。

3.2LCD液晶显示器接口电路设计

LCD1602显示方式的方案比较。

基于以上各种特点,我选择了方案二。

图2-5按键控制模块图

4系统软件设计

4.1主程序设计

主程序开始初始化,然后扫描键盘、复位电路和计数器。

当键盘按键有按下时,调整计数器值,LCD显示新值。

当复位键有按下时,计数器复位为开机画面,当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。

主程序流程图、lcd显示流程图和按键流程图分别如下图3-1、图3-2和图3-3所示。

开始

初始化

按键扫描

有键按下

按键处理,确定模式

时间显示模式

根据按键状态显示相应时间段

时间修改模式

根据按键状态修改时间

NO

YES

图3-3按键流程图

红灯亮

绿灯亮

灯灭

结束

显示温度

MCBU初始化

BS18B20初始化

判定温度是否在范围内

图4-1主程序流程图

源代码

全部程序清单

#include<

reg51.h>

intrins.h>

sbitrs=P2^4;

sbitrw=P2^5;

sbitep=P2^6;

sbitk1=P1^4;

sbitk2=P1^5;

sbitk3=P1^6;

sbitk4=P1^7;

sbitk5=P1^3;

sbitspeaker=P3^0;

unsignedcharcodedis1[]={"

605"

};

unsignedcharcodedis2[]={"

TIME00:

00"

unsignedcharcodedis3[]={"

0123456789"

unsignedintnum=0;

unsignedintmiaogw=0;

unsignedintmiaosw=0;

unsignedintfengw=0;

unsignedintfensw=0;

unsignedcharflag=1;

unsignedchartimer0h,timer0l,time;

//世上只有妈妈好数据表

codeunsignedcharsszymmh[]={6,2,3,5,2,1,3,2,2,5,2,2,1,3,2,6,2,1,5,2,1,

6,2,4,3,2,2,5,2,1,6,2,1,5,2,2,3,2,2,1,2,1,

6,1,1,5,2,1,3,2,1,2,2,4,2,2,3,3,2,1,5,2,2,

5,2,1,6,2,1,3,2,2,2,2,2,1,2,4,5,2,3,3,2,1,

2,2,1,1,2,1,6,1,1,1,2,1,5,1,6,0,0,0

};

//音阶频率表高八位

codeunsignedcharFREQH[]={

0x

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

当前位置:首页 > 高等教育 > 经济学

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

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