基于51单片机的音乐倒数计数器_第1页
基于51单片机的音乐倒数计数器_第2页
基于51单片机的音乐倒数计数器_第3页
基于51单片机的音乐倒数计数器_第4页
基于51单片机的音乐倒数计数器_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、学 号: 0121118700121课 程 设 计题 目基于51单片机的音乐倒数计数器学 院物流工程学院专 业物流工程班 级物流zy1101班姓 名同 组 者指导教师课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 题 目: 基于51单片机的音乐倒数计数器初始条件:1. protues 7 professional的isis 7 professional和ares 7 professional软件2. keil uvision4软件3.单片机的相关资料指导书要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)本设计的任务是利用at89c51单片机结合字符

2、型lcd显示器设计一个简易的倒数计数器。具体要求如下:1.通过按键设置倒数时间,做一小段时间倒计数;2.时间由lcd显示;3.当倒计数为0时,则发出一段音乐声响,或者由电动机机构产生振动。时间安排:十六周到十七周设计,十八周答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日本科生课程设计成绩评定表姓 名 吴振富性 别男专业、班级物流工程卓越1101班课程设计题目:基于51单片机的音乐倒数计数器课程设计答辩或质疑记录:成绩评定依据:1 选题合理、目的明确 10分2 设计方案正确,具有可行性、创新性 20分3 设计结果 20分4 态度认真、学习刻苦、遵守纪律 15分5 设计报告的

3、规范化、参考文献充分(不少于5篇) 10分6 答辩 25分最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日武汉理工大学单片机原理及接口技术课程设计说明书摘 要单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机由cpu、一定容量的ram和rom构成,定时、计数和多种接口于一体的微控制

4、器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。本设计利用at89c51单片机结合字符型lcd显示器设计一个简易的倒数计数器。用4个按键操作来设置当前想要倒计数的时间。做一小段时间倒计数,当倒计数为0时,则或者发出一段音乐声响,或者振动,通知倒计数终了,该做应当做的事。应用 proteus的isis软件和keil uvision4来实现该计数器的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。该多功能计数器可以应用于一般的生活和工作中,也可以通过

5、改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词: at89c51;计数器;键盘控制;lcd显示;proteus;keil 目录1 设计概述和要求11.1 设计概述11.2设计要求12 系统设计22.1 框图设计22.2 元件清单22.3主要结构的性能介绍33电路工作原理53.1 复位电路模块53.2 晶振电路模块53.4 按键电路模块63.5 lcd显示73.6 功能输出模块84软件设计94.1 程序流程图94.1.1 主程序流程图94.1.2 蜂鸣器发声程序流程图94.2 蜂鸣器发声电路原理105 proteus仿真结果115.1 电路原理图及仿真114.2 倒计时

6、设置仿真如下图4-2所示1143 蜂鸣器的仿真如下图4-3所示124.4振动功能的仿真如下图4-4所示125 总结136 附表(本设计所有程序)13参考文献231 设计概述和要求本设计的任务是利用at89c51单片机结合字符型lcd显示器设计一个简易的倒数计数器。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响或者产生振动。1.1 设计概述20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度。同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。随着科技的发展和社会的进步,人们对数字钟的要求越

7、来越高,多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟实际上是一个对标准频率进行计数的计数电路,走时精度高,稳定性好,使用方便,不需要经常调校。单片计算机即单片微型计算机,是集cpu,ram,rom,定时/计数和多种接口于一体的微控制器。它体积小成本低,功能强,广泛应用于智能产品和工业自动化上。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超多老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能,诸如定时自动报警、0按时自动打铃、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都

8、是以数字化为基础的,因此研究数字钟及扩大其应用有着非常现实的意义。本系统采用单片机作为数字钟的核心控制器,读取时钟的值,并通过lcd液晶显示器显示出来,而且可以通过按键电路控制执行信号,给时钟赋初值。还可以设置闹钟,当计数为0时,发出一阵音乐声。并可拓展其功能显示年月日。1.2设计要求利用at89c51单片机结合字符型lcd显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。作品先接受用户输入的倒数计数时间,然后由用户启动作品工作(可用一个闪烁的led灯指示),当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。定时闹钟的基本功能如下:l1.显示格式为“time

9、 分分:秒秒”。2.用4个按键操作来设置当前想要倒计数的时间。3.一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声或者产生振动。2 系统设计根据设计要求对本系统进行框图设计以及元件选择。2.1 框图设计本项目的系统设计框图如图2.1所示:图2.1 系统框图2.2 元件清单由系统框图可看出,本设计由单片机at89c51、lcd液晶显示器、控制键盘、蜂鸣器、复位单路和定时器电路几大模块构成,如表2.2所示。表2.2 led点阵显示电子钟元件清单元件名称型号数量/个用途单片机at89c511控制核心晶振12mhz1晶振电路电容30pf2晶振电路电解电容10uf/10v1复位电路电阻8.9k、1

10、k分别有1个和2个复位电路lcdlm016l1显示电路蜂鸣器sounder1发出声音电动机motor1产生振动ledled-yellow、led-green 各一个指示功能npn2开关元件排阻10k81上拉电阻按键button5复位与控制2.3主要结构的性能介绍1. at89c51at89c51是一种带4k字节闪存可编程可擦除只读存储器(fperomflash programmable and erasable read only memory)的低电压,高性能cmos 8位微处理器,俗称单片机。主要特性:与mcs-51 兼容 、4k字节可编程闪烁存储器 、寿命:1000写/擦循环、数据保留时

11、间:10年 、全静态工作:0hz-24mhz 、三级程序存储器锁定 、1288位内部ram 、32可编程i/o线 、两个16位定时器/计数器 、5个中断源 、可编程串行通道 、低功耗的闲置和掉电模式 、片内振荡器和时钟电路。2. lm016llm016l液晶模块内部的控制器共有11条控制指令,如表2.3所示.表2.3 lm016l液晶模块控制指令序号指令rsr/wd7d6d5d4d3d2d1d01清显示00000000012光标返回000000001*3置输入模式00000001i/ds4显示开/关控制0000001dcb5光标或字符移位000001s/cr/l*6置功能00001dlnf*7

12、置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01bf计数器地址10写数到cgram或ddram)10要写的数据内容11从cgram或ddram读数11读出的数据内容3. 键盘键盘采用5个button,分别控制倒计时开始、调分个位、调分十位、调秒个位、调秒十位;另外还加一个总开关用于控制所有电路的通电情况。蜂鸣器:用三极管、电阻和sounder组成蜂鸣器电路。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。电动机:用三极管、电阻和motor组成电动机振动电路,通以一定的电流时电动机产生转动,结合一些机械结

13、构就可以使装置振动。3电路工作原理3.1 复位电路模块本设计采用rc上电加按钮复位。如图3.1中所示,将一个手动按钮与电阻串联后再和复位电容并联起来,当系统上电后,由于开关没有导通,还是一个基本的阻容复位电路,系统会可靠地复位。如果在调试过程中需要对系统进行复位,这时不需要断电再接通电源,只需按一下复位开关即可。当复位开关按下后,电容被短路,在ret脚上由于电阻分压会得到一个复位的高电平,达到复位效果。图3.1 复位电路3.2 晶振电路模块at89c52单片机芯片内部设有一个由反向放大器构成的振荡器,xtal1和xtal2分别为振荡电路的输出端和输入端,时钟可由内部或外部生成,在xtal1和x

14、tal2引脚上外接定时元件,内部振荡电路就会产生自激振荡。晶振电路中,采用高精度的12mhz的石英晶振和电容值为30皮法拉的电容组成并联谐振回路。以获得较高的刷新频率及较准确的时钟频率使显示稳定,计时准确。系统时钟由定时器t0中断方式产生,较为精确。图3.2 晶振电路电路图如图3.2所示。综合以上两个电路模块可设计出由复位电路和晶振电路加上at89c52单片机所组成的单片机最小系统,如图3.3所示。图3.3 单片机最小系统电路3.4 按键电路模块按键电路由五个独立式按键组成,如图3.4。采用定时查询方式,一般情况下,单片机应用系统的用户按一次键(从按下到释放)或释放一次键(从释放到再次按下)最

15、快也需要50毫秒以上,在此期间cpu只要有一次查询键盘,则该次的按键和释放就不会丢失。因此,可以编制这样的按键程序,即每隔不大于50毫秒的时间(典型值为20毫秒)单片机就去查询一次按键,查询各键按下与释放的状态,就能正确地识别用户对键盘的操作。独立按键,按键电路由五个独立式按键组成,分别接单片机的p1.3、p1.4、p1.5、p1.6、p1.7低电平驱动。这五个按键分别用作时间设置中的开始,分调整,秒调整。如表3.1:表3.1 按键功能对应表k1分调整中的十位k2分调整中的个位k3秒调整中的十位k4秒调整中的个位k5开始倒计数图3.4 独立按键电路3.5 lcd显示工业字符型液晶,能够同时显示

16、162即32个字符(16列2行)。lm016l字符型lcd图3.5 lcd的显示通常有14条引脚线或16条引脚线的lcd,多出来的2条线是背光电源。vcc(15脚)和地线gnd(16脚),其控制原理与14脚的lcd完全一样。lm016l液晶模块内部的字符发生存储器(cgrom)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“a”的代码是01000001b(41h),显示时模块把地址41h中的点阵字符图形显示出来,我们就能看到字母“a”。 proteus7.8中的lm016l液晶只有14个

17、引脚,少了背光电源的两根引脚,完全兼容。本设计中,液晶的数据口与单片机的p0口相连。如图3.5所示。3.6 功能输出模块功能输出模块由以蜂鸣器为主的音乐输出模块和以电动机为主的振动输出模块,可分别选择需要的输出功能,当选择音乐输出功能时,按下sounder按键,黄色led显示灯亮,则蜂鸣器将输出音乐,当选择振动输出功能时,按下motor按键,绿色led显示灯亮,则电动机转动产生振动。如图3.6所示:图3.6功能输出模块4软件设计4.1 程序流程图4.1.1 主程序流程图主程序开始初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,lcd显示新值。当复位键有按下时,计数器复

18、位为初值,重新倒计数。当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。主程序流程图如图4.1所示:图4.1 主程序流程图4.1.2 蜂鸣器发声程序流程图 蜂鸣器发声程序流程图如图4.2所示:图4.2 蜂鸣器发声程序流程图4.2 蜂鸣器发声电路原理 对于单片机产生音乐,关键是控制频率的输出.我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音.有8个基本音符:doremifasolaxido,八个不同的音符对应着不同的频率.只要我们对照音符输出相对应的频率,就可以产生美妙的音乐.本文中采用了t0中断方式产生不同频率, 并用按键控制音乐的播放和停止。用三

19、极管、电阻和buzzer组成蜂鸣器电路。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。5 proteus仿真结果5.1 电路原理图及仿真系统电路原理图和proteus电路仿真如图5.1所示:图5.1 总体电路电路原理图5.2 倒计时设置仿真倒计时设置仿真如图5.2所示:图5.2倒计时设置仿真5.3 蜂鸣器的仿真蜂鸣器电路的仿真如图5.3所示:图5.3蜂鸣器的仿真5.4振动功能的仿真振动功能的仿真如图5.4所示:图5.4 振动功能的仿真5 总结通过此次多功能数字计数器的设计制作,我将从书本上学到的知识应用于实践,再次巩固了我的单片机知识,提高了我的电路仿真设计能

20、力。虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。当最终调试成功的时候也是对自己的一种肯定。此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了重点。另外在这次设计中我遇到了不少的问题,针对不同的问题我采取不同的解决方法,最终一一解决了。在我遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。本次项目设计还存在很多不足,比如,lcd的日期显示还不够完美,计数功能也不够详细等。以后争取完善这个设计,以提高我们的单片机设计能力。 最后,感谢袁兵老师的辛苦教学与悉心指导。6 附表(本设计所有程序

21、)#include #include sbit rs= p24;sbit rw = p25;sbit ep = p26;sbit k1=p14;/按键的定义sbit k2=p15;sbit k3=p16;sbit k4=p17;sbit k5=p13;sbit speaker=p30;/蜂鸣器输出的定义sbit motor=p31;/电动机的输出定义unsigned char code dis1 = 000 ;unsigned char code dis2 = time 00:00;/lcd的初始显示unsigned char code dis3 = 0123456789;unsigned i

22、nt num=0;/初始化unsigned int miaogw=0;unsigned int miaosw=0;unsigned int fengw=0;unsigned int fensw=0;unsigned char flag=1;unsigned char timer0h,timer0l,time; /世上只有妈妈好数据表code unsigned char sszymmh=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

23、,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 ; / 音阶频率表 高八位code unsigned char freqh= 0xf2,0xf3,0xf5,0xf5,0xf6,0xf7,0xf8, 0xf9,0xf9,0xfa,0xfa,0xfb,0xfb,0xfc,0xfc, /1,2,3,4,5,6,7,8,i 0xfc,0xfd,0xfd,0xfd,0xfd,0xfe, 0xfe,0x

24、fe,0xfe,0xfe,0xfe,0xfe,0xff, ; / 音阶频率表 低八位code unsigned char freql= 0x42,0xc1,0x17,0xb6,0xd0,0xd1,0xb6, 0x21,0xe1,0x8c,0xd8,0x68,0xe9,0x5b,0x8f, /1,2,3,4,5,6,7,8,i 0xee,0x44, 0x6b,0xb4,0xf4,0x2d, 0x47,0x77,0xa2,0xb6,0xda,0xfa,0x16, ;void delayyy(unsigned char t)/音乐延时子程序 unsigned char t1; unsigned lo

25、ng t2; for(t1=0;t1t;t1+) for(t2=0;t28000;t2+) ; tr0=0; void t0int() interrupt 1 tr0=0; speaker=!speaker; th0=timer0h; tl0=timer0l; tr0=1; void song()/音乐子程序 th0=timer0h; tl0=timer0l; tr0=1; delayyy(time); void delay(unsigned char ms)/延时子程序unsigned char i;while(ms-)for(i = 0; i0;h-) for(i=4;i0;i-) for(j=116;j0;j-) for(k=214;k0;k-);void main(void)/主程序unsigned char j; unsigned char k,i; speaker=0; motor=0;lcd_init();/ 初始

温馨提示

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

最新文档

评论

0/150

提交评论