音乐倒数计数器课程设计.docx
- 文档编号:1788489
- 上传时间:2022-10-24
- 格式:DOCX
- 页数:13
- 大小:233.85KB
音乐倒数计数器课程设计.docx
《音乐倒数计数器课程设计.docx》由会员分享,可在线阅读,更多相关《音乐倒数计数器课程设计.docx(13页珍藏版)》请在冰豆网上搜索。
音乐倒数计数器课程设计
摘要
单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。
近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。
单片机由CPU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。
它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。
而51系列单片机是各单片机中最为典型和最有代表性的一种。
这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。
本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。
用4个按键操作来设置当前想要倒计数的时间。
做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。
应用Proteus的ISIS软件和KeiluVision3来实现该计数器的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。
关键词:
AT89C51,计数器,键盘控制,LCD显示,Proteus,Keil
目录
1项目概述和要求1
1.1项目概述1
1.2项目要求1
2系统设计3
2.1框图设计3
2.2元件清单3
3软件设计7
3.1程序流程图7
3.1.1主程序流程图7
3.1.2蜂鸣器发声程序流程图8
3.2蜂鸣器发声电路原理8
3.3蜂鸣器发声程序的关键代码9
4PROTEUS仿真结果10
4.1总体电路仿真结果10
4.2蜂鸣器发声电路仿真结果10
5总结12
参考文献13
1项目概述和要求
本项目的任务是利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。
做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响。
1.1项目概述
20世纪末,电子技术获得了飞速的发展。
在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度。
同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。
随着科技的发展和社会的进步,人们对数字钟的要求越来越高,多功能数字钟不管在性能还是在样式上都发生了质的变化。
数字钟实际上是一个对标准频率进行计数的计数电路,走时精度高,稳定性好,使用方便,不需要经常调校。
单片计算机即单片微型计算机,是集CPU,RAM,ROM,定时/计数和多种接口于一体的微控制器。
它体积小成本低,功能强,广泛应用于智能产品和工业自动化上。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超多老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能,诸如定时自动报警、0按时自动打铃、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字化为基础的,因此研究数字钟及扩大其应用有着非常现实的意义。
本系统采用单片机作为数字钟的核心控制器,读取时钟的值,并通过LCD液晶显示器显示出来,而且可以通过按键电路控制执行信号,给时钟赋初值。
还可以设置闹钟,当计数为0时,发出一阵音乐声。
并可拓展其功能显示年月日。
1.2项目要求
1.字符型LCD(16×2)显示器,显示格式为“TIME分分:
秒秒”。
2.用4个按键操作来设置当前想要倒计数的时间。
3.一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。
4.程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1~K4动作如下:
K1---可调整倒计数的时间1~60分钟。
K2---设置倒计数的时间为5分钟,显示“0500”。
K2---设置倒计数的时间为10分钟,显示“1000”。
K2---设置倒计数的时间为20分钟,显示“2000”。
5.复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。
此时,若:
按K2键---增加倒计数的时间1分钟。
按K2键---减少倒计数的时间1分钟。
按K4键---设置完成。
6.[扩充功能]:
增加时钟及闹钟功能。
增加秒表计数功能。
增加万年历显示“年月日”。
2系统设计
2.1框图设计
本项目的系统设计框图如图2-1所示:
图2-1系统框图
由系统框图可看出,本设计由单片机AT89C51、LCD液晶显示器、控制键盘、蜂鸣器、复位单路和定时器电路几大模块构成。
2.2元件清单
主控单片机采用AT89C51芯片,时钟模块选用DS12C887,显示模块采用LCD1602,设置部分选用键盘按键电路,发声部分选用BUZZER蜂鸣器。
还有一些电源、电阻、电容、接地等。
主要元件清单如图2-2所示:
图2-2主要元件清单
AT89C51:
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。
主要特性:
与MCS-51兼容、4K字节可编程闪烁存储器、寿命:
1000写/擦循环、数据保留时间:
10年、全静态工作:
0Hz-24MHz、三级程序存储器锁定、128×8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路。
1602LCD:
1602液晶模块内部的控制器共有11条控制指令,如表2-1所示.
表2-11602液晶模块控制指令
序号
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
1
清显示
0
0
0
0
0
0
0
0
0
1
2
光标返回
0
0
0
0
0
0
0
0
1
*
3
置输入模式
0
0
0
0
0
0
0
1
I/D
S
4
显示开/关控制
0
0
0
0
0
0
1
D
C
B
5
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
6
置功能
0
0
0
0
1
DL
N
F
*
*
7
置字符发生存贮器地址
0
0
0
1
字符发生存贮器地址
8
置数据存贮器地址
0
0
1
显示数据存贮器地址
9
读忙标志或地址
0
1
BF
计数器地址
10
写数到CGRAM或DDRAM)
1
0
要写的数据内容
11
从CGRAM或DDRAM读数
1
1
读出的数据内容
键盘:
键盘采用16个button,分别代表低音到中音的两个八度的音;而P2.7端口的SW1则是对选择是从sounder中播放的是从键盘输入的声音的响应还是内置音乐编码的响应。
蜂鸣器:
用三极管、电阻和BUZZER组成蜂鸣器电路。
蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。
3软件设计
3.1程序流程图
3.1.1主程序流程图
主程序开始初始化,然后扫描键盘、复位电路和计数器。
当键盘按键有按下时,调整计数器值,LCD显示新值。
当复位键有按下时,计数器复位为初值,重新倒计数。
当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。
主程序流程图如图3-1所示:
图3-1主程序流程图
3.1.2蜂鸣器发声程序流程图
蜂鸣器发声程序流程图如图3-2所示:
图3-2蜂鸣器发声程序流程图
3.2蜂鸣器发声电路原理
对于单片机产生音乐,关键是控制频率的输出.我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音.有8个基本音符:
do﹑re﹑mi﹑fa﹑so﹑la﹑xi﹑do,八个不同的音符对应着不同的频率.只要我们对照音符输出相对应的频率,就可以产生美妙的音乐.本文中采用了T0中断方式产生不同频率,并用按键控制音乐的播放和停止。
用三极管、电阻和BUZZER组成蜂鸣器电路。
蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。
3.3蜂鸣器发声程序的关键代码
下面是蜂鸣器报警的子程序清单:
FLAGBIT00H
ORG00H
START:
JBP3.1,START
JNBFLAG,NEXT
MOVR2,#200
DV:
CPLP3.7
LCALLDELY500
LCALLDELY500
DJNZR2,DV
CPLFLAG
NEXT:
MOVR2,#200
DV1:
CPLP3.7
LCALLDELY500
DJNZR2,DV1
CPLFLAG
SJMPSTART
DELY500:
MOVR7,#250
LOOP:
NOP
DJNZR7,LOOP
RET
END
4PROTEUS仿真结果
4.1总体电路仿真结果
总体电路仿真结果如图4-1所示:
图4-1总体电路仿真结果
4.2蜂鸣器发声电路仿真结果
蜂鸣器发声电路仿真结果如图4-2所示:
图4-2蜂鸣器发声电路仿真结果
5总结
通过此次多功能数字计数器的设计制作,我们将从书本上学到的知识应用于实践,再次巩固了我的单片机知识,提高了我的电路仿真设计能力。
虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。
当最终调试成功的时候也是对自己的一种肯定。
此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了重点。
另外在这次设计中我们遇到了不少的问题,针对不同的问题我们采取不同的解决方法,最终一一解决了。
在我们遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。
和队友之间相互讨论,明白了团队合作的重要性。
本次项目设计还存在很多不足,比如,LCD的日期显示还不够完美,计数功能也不够详细等。
以后争取完善这个设计,以提高我们的单片机设计能力。
这里很感谢李晓艳老师给我们的指导和教育,感谢她给我们提供了良好的学习设计环境,也很感谢可爱的伙伴们,让我觉得团队的力量很伟大。
参考文献
[1]康华光,陈大钦.电子技术基础—模拟部分(第五版)[M].北京:
高等教育出版社,2005
[2]李珍.单片机原理与应用技术清华大学出版社,2003
[3]陈明荧.8051单片机课程设计实训教材清华大学出版社,2003
[4]苏家健、曹柏荣.单片机原理及应用技术[M].高等教育出版社
[5]焦春生.新型绿色能效D类音频放大器设计应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 倒数 计数器 课程设计