单片机课程设计报告带有LCD显示的音乐倒数计数器.doc

上传人:文库蛋蛋多 文档编号:4147731 上传时间:2023-04-07 格式:DOC 页数:22 大小:877.50KB
返回 下载 相关 举报
单片机课程设计报告带有LCD显示的音乐倒数计数器.doc_第1页
第1页 / 共22页
单片机课程设计报告带有LCD显示的音乐倒数计数器.doc_第2页
第2页 / 共22页
单片机课程设计报告带有LCD显示的音乐倒数计数器.doc_第3页
第3页 / 共22页
单片机课程设计报告带有LCD显示的音乐倒数计数器.doc_第4页
第4页 / 共22页
单片机课程设计报告带有LCD显示的音乐倒数计数器.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《单片机课程设计报告带有LCD显示的音乐倒数计数器.doc》由会员分享,可在线阅读,更多相关《单片机课程设计报告带有LCD显示的音乐倒数计数器.doc(22页珍藏版)》请在三一办公上搜索。

1、物电学院课程设计报告书题 目: 带有LCD显示的音乐倒数计数器 专 业: 电子信息工程 班 级: 0811电工 组员: 学号: 08128050 08128069 08128046 指导教师: 2011年6月19日 摘 要单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机由CPU、一定容量的RAM和ROM构

2、成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而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 附表(本设计所有程序) .14参考文献13 1

4、设计概述和要求本设计的任务是利用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 系统设计2.1 框图设计本项目

7、的系统设计框图如图2-1所示:图2-1 系统框图由系统框图可看出,本设计由单片机AT89C51、LCD液晶显示器、控制键盘、蜂鸣器、复位单路和定时器电路几大模块构成。2.2 元件清单主控单片机采用AT89C51芯片,时钟模块选用一12MHZ晶振,产生时钟脉冲。显示模块采用LCD1602,设置部分选用键盘按键电路,发声部分选用BUZZER蜂鸣器。还有一些电源、电阻、电容、接地等。主要元件清单如图2-2所示:图2-2 主要元件清单AT89C51:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only

8、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清显示00000000012光标返回0000

9、00001*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,LOOPRETEND4 PROTEUS仿

13、真结果4.1 总体电路仿真结果总体电路仿真结果如图4-1所示:图4-1 总体电路仿真结果4.2 假设倒计时为5秒时的仿真如图4-2所示 图4-2 假设倒计时设为5秒时的仿真4、3 时间设置的仿真设置时间的仿真,例如设置为22分22秒如图4-35 总结通过此次多功能数字计数器的设计制作,我们将从书本上学到的知识应用于实践,再次巩固了我的单片机知识,提高了我的电路仿真设计能力。虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。当最终调试成功的时候也是对自己的一种肯定。此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了

14、重点。另外在这次设计中我们遇到了不少的问题,针对不同的问题我们采取不同的解决方法,最终一一解决了。在我们遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。和队友之间相互讨论,明白了团队合作的重要性。本次项目设计还存在很多不足,比如,LCD的日期显示还不够完美,计数功能也不够详细等。以后争取完善这个设计,以提高我们的单片机设计能力。这里很感谢李晓艳老师给我们的指导和教育,感谢她给我们提供了良好的学习设计环境,也很感谢可爱的伙伴们,让我觉得团队的力量很伟大。 6 附表(本设计所有程序) #include #include sbit rs= P24;sbit rw = P25

15、;sbit ep = P26;sbit k1=P14;sbit k2=P15;sbit k3=P16;sbit k4=P17;sbit k5=P13;sbit speaker=P30;unsigned char code dis1 = The Last Time ;unsigned char code dis2 = TIME 00:00;unsigned char code dis3 = 0123456789;unsigned int num=0;unsigned int miaogw=0;unsigned int miaosw=0;unsigned int fengw=0;unsigned

16、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,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

17、,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,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF, ; / 音阶频率表 低八位code unsigned char FREQL= 0x42,0xC1,0x17

18、,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 long t2; for(t1=0;t1t;t1+) for(t2=0;t28000;t2+) ; TR0=0; void t0int() interrupt 1 TR0=0; spe

19、aker=!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;lcd_init()

20、;/ 初始化LCDdelay(10);lcd_pos(0x02);/设置显示位置j = 0;while(dis1j != 0)lcd_wdat(dis1j);/显示字符j+;while(1) lcd_pos(0x42);/ 设置显示位置i = 0;while(dis2i != 0)lcd_wdat(dis2i);/ 显示字符i+; keyscan();num=fensw*600+fengw*60+miaosw*10+miaogw;while(num)num-;fensw=num/60/10;fengw=num/60%10;miaosw=num%60/10;miaogw=num%60%10;de

21、lay1s();lcd_wshuzi(); TMOD=1; /置CT0定时工作方式1 EA=1; ET0=1;/IE=0x82 /CPU开中断,CT0开中断 while(1) i=0; while(i100) /音乐数组长度 ,唱完从头再来 k=sszymmhi+7*sszymmhi+1-1; timer0h=FREQHk; timer0l=FREQLk; time=sszymmhi+2; i=i+3; song(); 参考文献1康华光,陈大钦. 电子技术基础模拟部分(第五版)M. 北京:高等教育出版社,20052李珍.单片机原理与应用技术 清华大学出版社, 2003 3陈明荧.8051单片机课程设计实训教材 清华大学出版社 ,20034 苏家健、曹柏荣.单片机原理及应用技术M.高等教育出版社5 焦春生.新型绿色能效D类音频放大器设计应用EB/OL.

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号