分享
分享赚钱 收藏 举报 版权申诉 / 23

类型带有LCD显示的音乐倒数计数器课程设计.doc

  • 上传人:11xg27ws
  • 文档编号:9509230
  • 上传时间:2019-08-11
  • 格式:DOC
  • 页数:23
  • 大小:590.50KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    带有LCD显示的音乐倒数计数器课程设计.doc
    资源描述:

    1、电子信息工程专业课程设计报告广西科技大学(筹)课程论文题目:带有 LCD 显示的音乐倒数计数器课程:单片机的 C 语言程序设计与应用学期:2011-2012-2班级:测控 092姓名:黄慧先 利春晖 骆祖壮学号:200900304066 200900304059 200900304065教师:蓝会立日期:2012.6.22电子信息工程专业课程设计报告摘 要单片机技术是一门不可或缺的技术,对我们将来的工作以及生活和学习都有很密切的联系。近年来,随着电子技术和微机计算机的迅速发展,单片机的档次不断提高,其应用领域也在不断的扩大,已在工业控制、尖端科学、智能仪器仪表、日用家电、汽车电子系统、办公自动

    2、化设备、个人信息终端及通信产品中得到了广泛的应用,成为现代电子系统中最重要的智能化的核心部件。单片机由 CPU、一定容量的 RAM 和 ROM 构成,定时、计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而 51 系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习、应用,从而达到学习、设计、开发软、硬的能力。本设计利用 AT89C51 单片机结合字符型 LCD 显示器设计一个简易的倒数计数器。用 4 个按键操作来设置当前想要倒计数的时间。做一小段时间倒计数,当倒计数为 0 时,则发出一段音乐声响,通知倒计数终了,该做应当做的

    3、事。应用 Proteus 的 ISIS 软件和 Keil uVision3 来实现该计数器的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。该多功能计数器可以应用于一般的生活和工作中,也可以通过改装,提高性能,增加新功能,从而给人们的生活和工作带来更多的方便。关键词: AT89C51,计数器,键盘控制,LCD 显示,Proteus,Keil 电子信息工程专业课程设计报告目 录1 设计概述和要求 11.1 设计概述 .11.2 设计要 求 .12 系统设计 32.1 框图 设计 .32.2 元件清单 .33 软件设计 .73.1 程序流程图 .73.1.1 主程序流程图 .73.1.2 蜂

    4、鸣器发声程序流程图 .83.2 蜂鸣器发声电路原理 .83.3 蜂鸣器发声程序的关键代码 .94 PROTEUS 仿真结果 104.1 总体电路仿真结果 .104.2 假设倒计时为 5 秒时的仿真结果 .105 总结 126 附表(本设计所有程序) .14参考文献 14电子信息工程专业课程设计报告1 设计概述和要求本设计的任务是利用 AT89C51 单片机结合字符型 LCD 显示器设计一个简易的倒数计数器。做一小段时间倒计数,当倒计数为 0 时,则发出一段音乐声响。1.1 设计概述20 世纪末,电子技术获得了飞速的发展。在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动和提高了社会

    5、生产力的发展与信息化程度。同时也使现代电子产品性能进一步提升,产品更新换代的节奏也越来越快。随着科技的发展和社会的进步,人们对数字钟的要求越来越高,多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟实际上是一个对标准频率进行计数的计数电路,走时精度高,稳定性好,使用方便,不需要经常调校。单片计算机即单片微型计算机,是集 CPU,RAM,ROM,定时/计数和多种接口于一体的微控制器。它体积小成本低,功能强,广泛应用于智能产品和工业自动化上。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超多老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原

    6、先的报时功能,诸如定时自动报警、0 按时自动打铃、定时广播、自动启闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字化为基础的,因此研究数字钟及扩大其应用有着非常现实的意义。本系统采用单片机作为数字钟的核心控制器,读取时钟的值,并通过 LCD液晶显示器显示出来,而且可以通过按键电路控制执行信号,给时钟赋初值。还可以设置闹钟,当计数为 0 时,发出一阵音乐声。并可拓展其功能显示年月日。1.2 设 计 要 求利用 AT89C51 单片机结合字符型 LCD 显示器设计一个简易的倒数计数器,可电子信息工程专业课程设计报告用来煮方便面、煮开水或小睡片刻等。作品先接受用

    7、户输入的倒数计数时间,然后由用户启动作品工作(可用一个闪烁的 LED 灯指示) ,当倒计数为 0 时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。定 时 闹 钟 的 基 本 功 能 如 下 。 字 符 型 LCD( 16 2) 显 示 器 。 显 示 格 式 为 “TIME 分 分 :秒 秒 ”。用 4 个 按 键 操 作 来 设 置 当 前 想 要 倒 计 数 的 时 间 。 一 旦 按 下 键 则 开 始 倒计 数 , 当 计 数 为 0 时 , 发 出 一 阵 音 乐 声2 系统设计2.1 框图设计本项目的系统设计框图如图 2-1 所示:AT89C51L C D液 晶 屏 显 示

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

    9、lash Programmable and Erasable Read Only Memory)的低电压,高性能 CMOS 8 位微处理器,俗称单片机。主要特性:与 MCS-51 兼容 、4K 字节可编程闪烁存储器 、寿命:1000写/擦循环、数据保留时间:10 年 、全静态工作:0Hz-24MHz 、三级程序存储器锁定 、1288 位内部 RAM 、32 可编程 I/O 线 、两个 16 位定时器/计数器 电子信息工程专业课程设计报告、5 个中断源 、可编程串行通道 、低功耗的闲置和掉电模式 、片内振荡器和时钟电路。1602LCD :1602 液 晶 模 块 内 部 的 控 制 器 共 有

    10、11 条 控 制 指 令 , 如 表 2-1 所 示 .表 2-1 1602 液 晶 模 块 控 制 指 令序号 指令 RS R/W D7 D6 D5 D4 D3 D2 D1 D01 清显示 0 0 0 0 0 0 0 0 0 12 光标返回 0 0 0 0 0 0 0 0 1 *3 置输入模式 0 0 0 0 0 0 0 1 I/D S4 显示开/关控制 0 0 0 0 0 0 1 D C B5 光标或字符移位 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

    11、 0 1 显示数据存贮器地址9 读忙标志或地址 0 1 BF 计数器地址10 写数到 CGRAM 或 DDRAM) 1 0 要写的数据内容11 从 CGRAM 或 DDRAM 读数 1 1 读出的数据内容键盘:键盘采用 5 个 button,分别控制倒计时开始、调分个位、调分十位、调秒个位、调秒十位;另外还加一个总开关用于控制所有电路的通电情况。蜂鸣器:用三极管、电阻和 speaker 组成蜂鸣器电路。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。电子信息工程专业课程设计报告3 软件设计3.1 程序流程图3.1.1 主程序流程图主程序开始初始化,然后扫描键盘、

    12、复位电路和计数器。当键盘按键有按下时,调整计数器值,LCD 显示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计为 0 时,蜂鸣器发出声音,计数器停止倒计,程序结束。主程序流程图如图 3-1 所示:蜂 鸣 器 发 声初 始 化调 整 计 数 器 值扫 描 键 盘扫 描 计 数 器按 键 是 否 有 按下 ?计 数 值 是 否 为 0 ?开 始结 束L C D 显 示 计 数 值计 数 器 停 止 倒 计 数是 是否否扫 描 复 位 电 路复 位 ?是否图 3-1 主程序流程图电子信息工程专业课程设计报告3.1.2 蜂鸣器发声程序流程图蜂鸣器发声程序流程图如图 3-2 所示:

    13、置 2 0 0 次 计 数K 1 是 否 按 下 ?开 始F L A F = 0 ?P 3 . 7 输 出 取 反延 时 3 0 m s计 数 值 是否 计 完 ?F L A G 取 反置 2 0 0 次 计 数P 3 . 7 输 出 取 反延 时 1 m s计 数 值 是否 计 完 ?F L A G 取 反是是是是否否否否图 3-2 蜂鸣器发声程序流程图3.2 蜂鸣器发声电路原理对于单片机产生音乐,关键是控制频率的输出.我们知道,不同的声音对应不同的频率,产生有规律的频率输出就可以得到相应规律的声音.有 8 个基本音符:doremifasolaxido,八个不同的音符对应着不同的频率.只要我

    14、们对照音符输出相对应的频率,就可以产生美妙的音乐.本文中采用了 T0 中断方式产生不同频率, 并用按键控制音乐的播放和停止。用三极管、电阻和 BUZZER电子信息工程专业课程设计报告组成蜂鸣器电路。蜂鸣器最重要的特点是只要按照极性要求加上合适的直流电压就可以发出固有频率的声音。4 PROTEUS 仿真结果4.1 电路原理图及仿真系统 protel99se 电路原理图和 proteus 电路仿真分别如图 4-1(a)、图 4-1(b)所示图 4-1(a) 总体电路电路原理图电子信息工程专业课程设计报告XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/

    15、AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51C21nFC31nF X1CRYSTAL D71463D5124D31029D1807E6RW5S4VS1D2VE3LCD1LM016LLS1SOUNDER 234567891RP1RESPACK-8C11nFR?

    16、8.9k图 4-1(b)电路仿真4.2 倒计时设置仿真如下图 4-2(a)所示XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51C21nFC31nF X1CRYSTAL

    17、 D71463D5124D31029D1807E6RW5S4VS1D2VE3LCD1LM016LLS1SOUNDER 234567891RP1RESPACK-8C11nFR?8.9k图 4-2 倒计时设置仿真电子信息工程专业课程设计报告倒计数设置为 5 秒时的仿真如下图 4-2(b)所示XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD435.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014

    18、P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51C21nFC31nF X1CRYSTAL D71463D5124D31029D1807E6RW5S4VS1D2VE3LCD1LM016LLS1SOUNDER 234567891RP1RESPACK-8C11nFR?8.9k图 4-2(b)倒计数 5 秒的仿真43 蜂鸣器的仿真如下图 4-3 所示XTAL218XTAL119ALE301PSN29RST9P0./AD039.1/18P0.2/AD237.3/36P0.4/AD43

    19、5.5/54P0.6/AD63.7/72P1.01.2P1.23.34P1.45.56P1.67.78P3.0/RXD10.1/TP3.2/IN012./IT13P3.4/014P3.7/RD17.6/W6.5/T15P2.7/A1528P2.0/A821.1/9P2./A023.3/14P2.4/A225.5/136.6/47U1AT89C51C21nFC31nF X1CRYSTAL D71463D5124D31029D1807E6RW5S4VS1D2VE3LCD1LM016LLS1SOUNDER 234567891RP1RESPACK-8C11nFR?8.9k图 4-3 蜂鸣器的仿真电子信

    20、息工程专业课程设计报告5 总结通过此次多功能数字计数器的设计制作,我们将从书本上学到的知识应用于实践,再次巩固了我的单片机知识,提高了我的电路仿真设计能力。虽然设计过程中遇到了很多困难,但是在解决这些问题的过程无疑是对自身专业素质的提高。当最终调试成功的时候也是对自己的一种肯定。此次的设计不仅增强了自己在专业设计方面的信息,鼓舞了自己,更是一次兴趣的培养,为以后的学习方向明确了重点。另外在这次设计中我们遇到了不少的问题,针对不同的问题我们采取不同的解决方法,最终一一解决了。在我们遇到不懂得问题时,利用课本上、参考书上的知识,以及网上的资料最终解决问题。和队友之间相互讨论,明白了团队合作的重要性

    21、。本次项目设计还存在很多不足,比如,LCD 的日期显示还不够完美,计数功能也不够详细等。以后争取完善这个设计,以提高我们的单片机设计能力。这里很感谢蓝会立老师给我们的指导和教育,感谢他给我们提供了良好的学习设计环境,也很感谢可爱的伙伴们,让我觉得团队的力量很伟大。6 附表(本设计所有程序)#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;unsig

    22、ned char code dis1 = “605 “;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 int fensw=0;unsigned char flag=1;unsigned char timer0h,timer0l,time;/世上只有妈妈好数据表code unsigned char ssz

    23、ymmh= 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 ;/ 音阶频率表 高八位code unsigned char FREQH=0xF2,0xF3,0xF5,0xF5,0xF6

    24、,0xF7,0xF8, 0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC, /1,2,3,4,5,6,7,8,i0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,电子信息工程专业课程设计报告0xFE,0xFE,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,i0xEE,0x44, 0x6B,0x

    25、B4,0xF4,0x2D, 0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,;void delayyy(unsigned char t)unsigned char t1;unsigned long t2;for(t1=0;t10;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();/ 初始化 LCDdelay(10);lcd_pos(0x02);/设置显示位置j = 0;while(d

    26、is1j != 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;delay1s();lcd_wshuzi();TMOD=1; /置 CT0 定时工

    27、作方式 1EA=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 类音频放大器设计应用6姜志海、赵艳雷、陈松 .单片机的 C 语言程序设计与应用基于 Proteus仿真(第二版) 电子工业出版社

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:带有LCD显示的音乐倒数计数器课程设计.doc
    链接地址:https://www.docduoduo.com/p-9509230.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开