《音乐倒数计时器单片机课程设计报告》由会员分享,可在线阅读,更多相关《音乐倒数计时器单片机课程设计报告(13页珍藏版)》请在人人文库网上搜索。

1、音乐倒是计时器一、设计要求利用STC89C51单片机结合字符型LCD显示器设计一个简易的倒数计数器,可用来煮方便面、煮开水或小睡片刻等。做一小段时间倒计数,当倒计数为0时,则发出一段音乐声响,通知倒计数终了,该做应当做的事。同时输出控制一个继电器吸合,继电器驱动一个3W的大功率LED灯,亮度可以由单片机控制从50%100%连续可调。定时闹钟的基本功能如下。n 字符型LCD(162)显示器。n 显示格式为“TIME 分分:秒秒”。n 用4个按键操作来设置当前想要倒计数的时间。一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。1、程序执行后工作指示灯LED闪动,表示程序开始执行,按下操作键K1。

2、K4动作如下。K1可调整倒计数的时间160分钟。K2设置倒计数的时间为5分钟,显示“0500”。K3设置倒计数的时间为10分钟,显示“1000”。K4设置倒计数的时间为20分钟,显示“2000”。2、复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键则在LCD上显示出设置画面。此时,若:a. 按操作键K2增加倒计数的时间1分钟。b. 按操作键K3减少倒计数的时间1分钟。c. 按操作键K4设置完成。二、系统硬件说明2.1:音乐倒是计时器要实现一种由单片机控制的带LCD显示的倒数计时器,单片机工作于12MHZ时钟频率,使用其定时/计数器T0,改变计数值TH0和TL0可以产生不同频率的脉冲信。

3、号。该设计具有5个功能按键,用户可以通过这些按键设置定时时间和选择控制定时,倒计数为零时,可通过扬声器将音乐播放出来。系统结构图如下图所示。振荡电路复位电路蜂鸣器输出电路89C52芯片LCD显示电路按键控制电路2.2 AT89C52AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要特性:兼容MCS51指。

4、令系统 8k可反复擦写(1000次)Flash ROM 32个双向I/O口 256x8bit内部RAM 3个16位可编程定时/计数器中断 时钟频率0-24MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共8个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 2.3电路原理图如下:2.4电路仿真图如下:三、系统软件设计音乐倒数计时器软件设计关键是实现音乐的播放。利用定时计数器,通过载入不同的计数初值,产生频率不同的方波,输入到蜂鸣器(SOUNER)中,使其发出频率不同的声音。本设计中单片机晶振为11.0592MHz,通过计算各音阶频率,可得1、2、3、4、5、6、7共7个。

5、音应赋给定时器的初值为64580、64684、64777、64820、64898、64968、65030。通过K1K5开关进行控制时间设置来完成其基本功能,当倒计时为零时,通过通过蜂鸣器放出一段音乐。3.1系统基本流程图如下:3.2 部分程序如下:#include#include#define time 100#define uint unsigned int#define uchar unsigned char uint flag,flag0,flag1,flag2,flag3,flag4,flag5,minute,second=60;int t=0,flag6=0;uchar num,j,。

6、i,k=0,time_H,time_L,times,m,n,p;uchar code table=TIME 00:00;uchar code FREQH=0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,/低音0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,/1,2,3,4,5,6,7,!0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,/高音0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF;/超高音uchar code FREQL= 0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB。

7、6, /低音 0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, /1,2,3,4,5,6,7,i 0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D, /高音 0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16; /超高音 uchar code MUSIC=3,2,2,3,2,2,3,2,4,3,2,2,3,2,2,3,2,4,3,2,2,5,2,2,1,2,3,2,2,1,3,2,4,4,2,2,4,2,2,4,2,3,4,2,2,4,2,2,3,2,2,3,2,2,3,2,1,3,2,1,3,2,。

8、2,2,2,2,2,2,2,1,2,2,2,2,2,5,2,3,5,1,2,5,1,2,3,2,2,2,2,2,1,2,2,5,1,3,5,1,1,5,1,1,5,1,2,3,2,2,2,2,2,1,2,2,6,1,3,6,1,2,6,1,2,4,2,2,3,2,2,2,2,2,6,1,3,6,1,2,0,0,0 ;sbit key1=P33;sbit key2=P34;sbit key3=P35;sbit key4=P36;sbit key5=P37;sbit P1_0=P10;sbit RS=P25;sbit RW=P26;sbit E=P27;sbit led_red=P13;void 。

9、write_time(uint addr,uint date);void delay(uint z) /延时函数/uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void delay1(unsigned char d) /us延时 while(-d);void delay2(unsigned char d) /延时1mSwhile(d-) delay1(245);delay1(245);void delay3(uchar d) /延时125ms,4/4拍for(m=0;m0)minute=minute-1;write_time(7,minute); if(key。

10、4=0|key5=0)delay(150);if(key4=0|key5=0)flag1=0;flag=1;TR0=1;void KEY2() /按键2/minute=5;write_time(7,minute);while(flag2)if(key5=0)delay(time);if(key5=0)flag2=0;flag=1;TR0=1;void KEY3() /按键3minute=10;write_time(7,minute);while(flag3)if(key5=0)delay(time);if(key5=0)flag3=0;flag=1;TR0=1;void KEY4() /按键4。

11、minute=20;write_time(7,minute);while(flag4)if(key5=0) delay(150);if(key5=0) flag4=0;flag=1;TR0=1;void write_time(uint addr,uint date) /lcd1602初始化uint ge,shi;ge=date%10;shi=date/10;write_com(0x80+addr);write_date(0x30+shi);write_date(0x30+ge);if(addr=7&date=0)j=1;if(j=1&addr=10&date=0)flag0=1;TR0=0;T。

12、R1=1;flag5=1; /flag5=1void init()P3=0xff;RW=0;write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x80);TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=0xfc;TL1=0x44;ET1=1;ET0=1;TR0=1;EA=1;flag0=1;for(num=0;num0)minute=minute-1;write_time(7,minute);if(second=0)k=1;second=59;int main(。

13、)init();while(1)while(flag0)start();counter();while(flag5)TMOD=0x10; /置定时器1工作方式1EA=1; /打开全局中断ET1=1; /打开定时1中断while(1i=0; while(i140) /音乐数组长度 ,循环播放 n=MUSICi+7*MUSICi+1-1; / 去音符振荡频率所需数据time_H=FREQHn;time_L=FREQLn;times=MUSICi+2; /节拍时长i=i+3;Song(); return 0;void inter0() interrupt 1 /中断T0TH0=(65536-50000)/256;TL0=(65536-50000)%256 ;t+;if(t=20)flag6=1;void inter1() interrupt 3 /中断T1TR1=0; P1_0=!P1_0;TH1=time_H;TL1=time_L;TR1=1。

单片机音乐倒数计时器c语言,音乐倒数计时器单片机课程设计报告相关推荐

  1. 四六级考试报名系统c语言,四六级考试系统课程设计报告.doc

    四六级考试系统课程设计报告 <.NET架构及应用>期末考试 (课程设计总结) 设计名称: 英语四.六级考试报名系统 组 长: 白缔祖 参 加 人: 白缔祖.霍晓文 指导教师: 付向东 班 ...

  2. 编程模拟洗牌和发牌过程c语言,洗牌发牌模拟系统课程设计报告.doc

    集美大学诚毅学院 <高级语言程序设计>课程设计 实验报告 题目:洗牌和发牌模拟 专业:计算机科学与技术 班级: 姓名: 成绩: 指导教师: 完成日期:2008 年 6月 26 日 一.目的 ...

  3. 液位控制系统c语言程序,水槽液位控制系统课程设计报告.doc

    摘要 ? 本文根据液位系统过程机理,建立了单容水箱的数学模型.在设计中用到的PID算法提到得较多,PLC方面的知识较少.并根据算法的比较选择了增量式PID算法.建立了PID液位控制模拟界面和算法程序, ...

  4. c语言课程设计湖南工程学院,湖南工程学院15级C语言课程设计报告.doc

    湖南工程学院15级C语言课程设计报告.doc 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 通讯录 专 业 电气工程 班 级 1561 学 号 201517060105 姓 名 卢靖 指 ...

  5. 温度报警器c语言课程设计,温度报警器课程设计报告.doc

    温度报警器课程设计报告.doc 目 录 1引言4 2正文4 第1章 绪论4 1.1 设计背景4 1.2 设计来源4 1.3 设计内容与要求5 第2章 硬件电路设计5 2.1 AT89S52单片机5 2 ...

  6. c语言电子计算器课程设计报告,计算机程序设计课程设计报告.doc

    计算机程序设计课程设计报告.doc PAGE 1 计算机程序设计(C语言) 课程设计报告 题目:学生信息管理系统 学院: 计算机科学与工程学院 专业: 电子信息工程 班级:110406 姓名: 黄伟强 ...

  7. 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc

    计算机程序设计(C语言)课程设计报告.doc 计算机程序设计C语言课程设计报告题目电子动画时钟 学院 机电工程学院专业 班级090109班学号 姓名 指导教师 设计日期 一.概述选题背景 随着社会的进 ...

  8. c语言基础程序设计报告,c语言程序设计基础课程设计报告.doc

    c语言程序设计基础课程设计报告.doc 还剩 16页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保! 内容要点: C 语言程序 ...

  9. c语言学生成员管理代码报告怎么写,C语言学生通信录管理系统课程设计报告

    <C语言学生通信录管理系统课程设计报告>由会员分享,可在线阅读,更多相关<C语言学生通信录管理系统课程设计报告(18页珍藏版)>请在人人文库网上搜索. 1.实验名称 :学生通信 ...

  10. c语言课程设计作业红白球,c语言课程设计报告.doc

    <c语言课程设计报告.doc>由会员分享,可在线阅读,更多相关<c语言课程设计报告.doc(28页珍藏版)>请在装配图网上搜索. 1.C程序设计课程设计学 院: * 专 业: ...

最新文章

  1. 使用Docker-Docker for Web Developers(2)
  2. Configuration of OpenCV 2.4.7 in VS2012 (X86)
  3. 重磅推出校园疫情填报系统,永洪BI助力疫情防控
  4. distable:table-cell
  5. MySQL【问题记录 01】报错 1709 - Index column size too large. The maximum column size is 767 bytes. 可能是最简单的方法
  6. css3学习下...
  7. == 与 equals 的区别
  8. php和python-python与php比较
  9. 单源最短路(SPFA算法)
  10. Atitit 编程语言知识点tech tree v2 attilax大总结
  11. 《简明微积分》(第四版)学习笔记
  12. jforum二次开发教程
  13. 软件测试项目实战学习路线
  14. PackageManager
  15. python编程求一个数的平方根_用Python求一个数的平方根.
  16. 核心内参: TDR原理及常见问题
  17. 一般计算机命名规则,详解intel处理器命名规则
  18. leetcode No5. Longest Palindromic Substring
  19. mqdf python_GitHub - jugg1024/court_recognition
  20. c语言链表中next作用,C语言链表详解

热门文章

  1. 模拟钟表的手机软件_手机时钟软件推荐
  2. it营Typescript学习笔记02(基础完结)模块,命名空间,装饰器
  3. 写出调试c语言程序的基本操作步骤,C语言程序设计基本步骤
  4. SQL之正则表达式的简单使用
  5. CHIP-seq流程学习笔记(11)-使用GSEA软件进行GSEA分析
  6. SSMS(sql server管理工具)修改表不允许保存
  7. matlab函数作图格式,Matlab绘制函数图像函数示例汇总
  8. 用VBA自动整理系统导出的订单
  9. LQR控制基本原理(包括Riccati方程具体推导过程)
  10. 最新51单片机毕业设计项目集合