《单片机课程设计报告带有LCD显示的音乐倒数计数器》由会员分享,可在线阅读,更多相关《单片机课程设计报告带有LCD显示的音乐倒数计数器(22页珍藏版)》请在金锄头文库上搜索。
1、物电学院课程设计报告书题 目: 带有LCD显示的音乐倒数计数器 专 业: 电子信息工程 班 级: 0811电工 组员: 学号: 08128050 08128069 08128046 指导教师: 2011年6月19日 I 电子信息工程专业课程设计报告摘 要单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机由C
2、PU、一定容量的RAM和ROM构成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。本设计利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。用4个按键操作来设置当前想要倒计数的时间。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。应用 Proteus的ISIS软件和Keil uVision3来实现该计数器的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源
3、。该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词: AT89C51,计数器,键盘控制,LCD显示,Proteus,Keil 目 录1 设计概述和要求11.1 设计概述11.2 设计要求12 系统设计32.1 框图设计32.2 元件清单33软件设计73.1 程序流程图73.1.1 主程序流程图73.1.2 蜂鸣器发声程序流程图83.2 蜂鸣器发声电路原理83.3 蜂鸣器发声程序的关键代码94 PROTEUS仿真结果104.1 总体电路仿真结果104.2 假设倒计时为5秒时的仿真结果105 总结126 附表(本设计所有
4、程序) .14参考文献13 1 设计概述和要求本设计的任务是利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响。1.1 设计概述20世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会生产力的发展与信息化程度。同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。随着科技的发展和社会的进步,人们对数字钟的要求越来越高,多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟实际上是一个对标准频率进行计数的计数电路,走时精度高,稳定性好,使用方便,不需
5、要经常调校。单片计算机即单片微型计算机,是集CPU,RAM,ROM,定时/计数和多种接口于一体的微控制器。它体积小成本低,功能强,广泛应用于智能产品和工业自动化上。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超多老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先的报时功能,诸如定时自动报警、0按时自动打铃、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字化为基础的,因此研究数字钟及扩大其应用有着非常现实的意义。本系统采用单片机作为数字钟的核心控制器,读取时钟的值,并通过LCD液晶显示器显
6、示出来,而且可以通过按键电路控制执行信号,给时钟赋初值。还可以设置闹钟,当计数为0时,发出一阵音乐声。并可拓展其功能显示年月日。1.2设计要求利用AT89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。作品先接受用户输入的倒数计数时间,然后由用户启动作品工作(可用一个闪烁的LED灯指示),当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。定时闹钟的基本功能如下。l 字符型LCD(162)显示器。l 显示格式为“TIME 分分:秒秒”。用4个按键操作来设置当前想要倒计数的时间。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声2
7、 系统设计2.1 框图设计本项目的系统设计框图如图2-1所示:图2-1 系统框图由系统框图可看出,本设计由单片机AT89C51、LCD液晶显示器、控制键盘、蜂鸣器、复位单路和定时器电路几大模块构成。2.2 元件清单主控单片机采用AT89C51芯片,时钟模块选用一12MHZ晶振,产生时钟脉冲。显示模块采用LCD1602,设置部分选用键盘按键电路,发声部分选用BUZZER蜂鸣器。还有一些电源、电阻、电容、接地等。主要元件清单如图2-2所示:图2-2 主要元件清单AT89C51:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Era
8、sable Read Only Memory)的低电压,高性能CMOS 8位微处理器,俗称单片机。主要特性:与MCS-51 兼容 、4K字节可编程闪烁存储器 、寿命:1000写/擦循环、数据保留时间:10年 、全静态工作:0Hz-24MHz 、三级程序存储器锁定 、1288位内部RAM 、32可编程I/O线 、两个16位定时器/计数器 、5个中断源 、可编程串行通道 、低功耗的闲置和掉电模式 、片内振荡器和时钟电路。1602LCD :1602液晶模块内部的控制器共有11条控制指令,如表2-1所示.表2-1 1602液晶模块控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示000
9、00000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容键盘:键盘采用5个button,分别控制倒计时开始、调分个位、调分十位、调秒个位、调秒十位;另外还加一个总开关用于控制所有电路的通电情况。蜂鸣器:用三极管、电阻和speaker组成蜂鸣器电
10、路。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音3软件设计3.1 程序流程图3.1.1 主程序流程图主程序开始初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,LCD显示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。主程序流程图如图3-1所示:3软件设计3.1 程序流程图3.1.1 主程序流程图主程序开始初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,LCD显示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计为0时,蜂鸣
11、器发出声音,计数器停止倒计,程序结束。主程序流程图如图3-1所示:图3-1 主程序流程图3.1.2 蜂鸣器发声程序流程图 蜂鸣器发声程序流程图如图3-2所示: 图3-2 蜂鸣器发声程序流程图3.2 蜂鸣器发声电路原理 对于单片机产生音乐,关键是控制频率的输出.我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音.有8个基本音符:doremifasolaxido,八个不同的音符对应着不同的频率.只要我们对照音符输出相对应的频率,就可以产生美妙的音乐.本文中采用了T0中断方式产生不同频率, 并用按键控制音乐的播放和停止。用三极管、电阻和BUZZER组成蜂鸣器电路。蜂鸣器
12、最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。3.3 蜂鸣器发声程序的关键代码下面是蜂鸣器报警的子程序清单:FLAG BIT 00HORG 00HSTART: JB P3.1,STARTJNB FLAG,NEXTMOV R2,#200DV: CPL P3.7LCALL DELY500LCALL DELY500DJNZ R2,DVCPL FLAGNEXT: MOV R2,#200DV1: CPL P3.7LCALL DELY500DJNZ R2,DV1CPL FLAGSJMP STARTDELY500: MOV R7,#250LOOP: NOPDJNZ R7,LOOP
13、RETEND4 PROTEUS仿真结果4.1 总体电路仿真结果总体电路仿真结果如图4-1所示:图4-1 总体电路仿真结果4.2 假设倒计时为5秒时的仿真如图4-2所示 图4-2 假设倒计时设为5秒时的仿真4、3 时间设置的仿真设置时间的仿真,例如设置为22分22秒如图4-35 总结通过此次多功能数字计数器的设计制作,我们将从书本上学到的知识应用于实践,再次巩固了我的单片机知识,提高了我的电路仿真设计能力。虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。当最终调试成功的时候也是对自己的一种肯定。此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了重点。另外在这次设计中我们遇到了不少的问题,针对不同的问题我们采取不同的解决方法,最终一一解决了。在我们遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。和队友之间相互讨论,明白了团队合作的重要性。本次项目设计还存在很多不足,比如,LCD的日期显示还不够完美,计数功能也不够详细等。以后争取完善这个设计,以提高我们的单片机设计能力。这里很感谢李晓艳老师给我们的指