




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南涉外经济学院课程设计报告课程名称:单片机原理及应用报告题目:音乐倒数计数器学生姓名: 所在学院:信息科学与工程学院专业班级: 学生学号: 指导教师:廖亦凡20 14 年 6 月 4日课程设计任务书 报告题目音乐倒数计数器完成时间学生姓名 专业班级 指导教师廖亦凡职称总体设计要求和技术要点利用数字AT89C51单片机实现倒数计数器的功能,设定时间后在LED数码管上显示相应的时间。其功能和性能指标如下: 字符型LCD(16×2)显示器,显示格式为“TIME 分分:秒秒”。 用4个按键操作来设置当前想要倒计数的时间。 一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。 程序执行后工
2、作指示灯LCD闪动,表示程序开始执行,按下操作键K1K4动作如下: K1-可调整倒计数的时间160分钟。 K2-设置倒计数的时间为5分钟,显示“0500”。 K3-设置倒计数的时间为10分钟,显示“1000”。 K4-设置倒计数的时间为20分钟,显示“2000” 复位后LCD的画面应能显示倒计时的分钟和秒数,此时按K1键,则在LCD上显示出设置画面。此时,若: 按K2键-增加倒计数的时间1分钟。 按K3键-减少倒计数的时间1分钟。 按K4键-设置完成。工作内容及时间进度安排第15周:周1-周3 :立题、论证方案设计周4-周5 :预答辩第16周:周1-周3 :仿真实验7周4-周5 :验收答辩课程
3、设计成果1与设计内容对应的软件程序2课程设计总结报告摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,收到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机最为典型和最有代表性的一种。本实验是基于MCS51系列单片机所设计的,可以实现键盘按键与数字动态显示并可以用音乐倒数的计数器。本设计基于单片机技术原理,以单片机芯片STC89C51作为核心控制器,通过硬件电路的制作以及软件程序的编程,设计制作出一个计数器,包括以下功能:输出时间,按下键就开始计时,并将时间显示在LCD1602显示器上。当倒数计数为0是,蜂鸣器就发出音乐声响等等。该计数系统主要由计数器模块、LCD显示快、
4、蜂鸣器模块、键盘模块、复位模块等部分组成。关键词 :STC89C51;键盘;LCD1602显示;蜂鸣器 目录 一、概述1二、方案设计与论证2三、系统硬件电路设计与分析2 3.1主控制器AT89S51单机 2 3.2显示电路LCD数码 2 4、 系统软件程序设计与分析 24.1 程序流程图24.2源程序 65、 系统的仿真与调试13 5.1 硬件调试135.2 软件调试135.3 软硬件调试13六 、总原理图及元器件清单146.1总原理图 146.2元器件清单 14 6.2.1 AT89C51芯片 14 6.2.2 字符型LCD1602 15 6.2.3 按键控制模块 16 6.2.4 其它元件
5、 177、 结论与心得 178、 参考文献 18 一、概述 随着科技的发展和社会的进步,人们对数字钟的要求越来越高,多功能数字钟不管在性能还是在样式上都发生了质的变化。数字钟实际上是一个对标准频率进行计数的计数电路,走时精度高,稳定性好,使用方便,不需要经常调校。单片计算机即单片微型计算机,是集CPU,RAM,ROM,定时/计数和多种接口于一体的微控质器。它体积小成本低,功能强,广泛应用于智能产品和工业自动化上。由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大地方便,而且大大的扩展了钟表原先报时功能,诸如定时自动报警、0按
6、时自动打铃、定时广播、自动启闭路灯、定时开机烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字化为基础的,因此研究数字钟及扩大其应用有着非常现实的意义。本系统采用单片机作为数字钟的核心控制器,读取时钟的值,并通过LCD液晶显示器现实现实出来,而且可以通过按键电路控制执行信号,给时钟赋初值。还可以设置闹钟,当计数为0时,发出一阵音乐声。二、方案设计与论证 音乐倒数计数器所倒数的时间由数字显示,控制器使用单片机AT89C51。本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个计数器,包括以下功能:输出时间,按
7、下键就开始计时,并将时间显示在LCD1602显示器上。当倒计数为0时,蜂鸣器就发出音乐声响等等。该计数器系统主要由计数器模块、LCD显示器模块、蜂鸣器模块、键盘模块、复位模块等部分组成。总体设计方框图如图1-1所示。LCD1602复位电路AT89C51蜂鸣器键盘 图1-1 总体设计方框图三、系统硬件电路设计与分析31主控制器AT89S51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪
8、烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 与MCS-51 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 全静态工作:0Hz-24Hz 三级程序存储器锁定 128*8位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串
9、行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 32显示电路LCD数码管采用静态显示,静态显示是指LCD显示某一屏字符时,时钟保持当前字符的显示,不使用移屏显示。便于控制,同时能够满足正常的显示效果。由于在显示中存在播放时间的动态变化,这样的话,即使是不产生整屏移动,也能给人动态感,也易于控制。四、系统软件程序设计与分析4.1 程序流程图主程序开始初始化,然后扫描键盘、复位电路和计数器。当键盘按键有按下时,调整计数器值,LCD显示新值。当复位键有按下时,计数器复位为初值,重新倒计数。当计数器值倒计为0时,蜂鸣器发出声音,计数器停止倒计,程序结束。主程序流程图、LCD显示流程图和按键流程图
10、分别如下图4-1、图4-2和图4-3所示。开始初始化扫描复位电路扫描键盘扫描计数器按键是否有按下?复位?计数值是否为0?否 否 否是是蜂鸣器发声 是调整计数器值计数器停止倒数计数LCD液晶显示器结束 图4-1 主程序流程图24退出LCD显示相应画面是否有键按下LCD倒数计时复位键是否按下LCD相应时间是否有键按下LED闪动是否有程序执行开始 是 否 是 否是否是否 图3-2 LCD显示流程图有键按下时间显示模式按键处理,确定模式按键扫描初始化开始 否是根据按键状态修改时间时间修改模式根据按键状态显示相应时间段是否 图3-3 按键流程4.2源程序#include<reg52.h>#i
11、nclude<intrins.h>#define time 100#define uint unsigned int#define uchar unsigned charuint t,flag,flag0,flag1,flag2,flag3,flag4,flag5,minute,second=60;uchar num,j,i,k=0;uchar code table="TIME 00:00"uint code table1=64580,64684,64777,64820,64898,64968,65030;sbit key1=P10;sbit key2=P11;
12、sbit key3=P12;sbit key4=P13;sbit key5=P14;sbit P1_5=P15;sbit RS=P20;sbit RW=P21;sbit E=P22;sbit led_red=P23;void write_time(uint addr,uint date); void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);/延时1S/void delay1(void) uchar a,b,c; for(c=13;c>0;c-) for(b=247;b>0;b-) for(a=142;
13、a>0;a-);/1602写命令函数/void write_com(uchar com)RS=0;P3=com;delay(5);E=1;delay(10);E=0;/1602写数据函数/void write_date(uchar date)RS=1;P3=date;delay(5);E=1;delay(10);E=0;/按键1处理函数/void KEY1() while(flag1) if(key2=0) delay(time);if(key2=0) if(minute<=60) minute=minute+1;write_time(7,minute);if(key3=0) de
14、lay(time);if(key3=0) if(minute>0) minute=minute-1;write_time(7,minute);if(key4=0|key5=0) delay(150);if(key4=0|key5=0) flag1=0;flag =1;TR0=1;/按键2处理函数/void KEY2() minute=5;write_time(7,minute);while(flag2) if(key5=0) delay(time);if(key5=0) flag2=0;flag =1;TR0=1;/按键3处理函数/void KEY3() minute=10;write_
15、time(7,minute);while(flag3) if(key5=0) delay(time);if(key5=0) flag3=0;flag =1;TR0=1;/按键4处理函数/void KEY4() 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) uint ge,shi;ge=date%10;shi=date/10; write_com(0x80+addr);wr
16、ite_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;TR1=1;flag5=1; /初始化函数/void init() P1=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;
17、TL1=0x44;ET1=1;ET0=1;/TR1=1;/TR0=1;EA=1;flag0=1;for(num=0;num<12;num+)write_date(tablenum);delay(20);void start()if(key1=0) delay(time);if(key1=0) flag0=0; flag1=1; KEY1();if(key2=0)delay(time);if(key2=0) flag0=0; flag2=1;KEY2();if(key3=0)delay(time);if(key3=0)flag0=0; flag3=1;KEY3();if(key4=0)de
18、lay(150);if(key4=0) flag0=0; flag4=1;KEY4();void write_time0()minute=minute-1;write_time(7,minute);write_time(10,59);flag=0; void counter()if(t=20)led_red=led_red1;if(flag=1) write_time0();t=0; second=second-1;write_time(10,second); if(k=1&&second=59) if(minute>0) minute=minute-1;write_ti
19、me(7,minute);if(second=0) k=1;second=60;int main() init(); while(1) while(flag0) start();counter();while(flag5)delay1(); i+; if(i>7) i=0;return 0;void inter0() interrupt 1TH0=(65536-50000)/256;TL0=(65536-50000)%256;t+;void initer1() interrupt 3TH1=table1i/256;TL1=table1i%256;P1_5=P1_5;if(key5=0)
20、delay(100);if(key5=0) TR1=0;flag5=0;k=0;j=0;五、系统的仿真与调试5.1 硬件调试 硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么问题的。静态调试一般采用的工具是万用表,它是在用户系统未工作时的一种硬件检测。动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤是:首先把电路分为若干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。5.2 软件调试 软件调试是通过对程序的汇编、连接、执行来发现程序中存在的
21、语法错误与逻辑错误并加以排除纠正的过程。5.3 软硬件调试软硬件联调是指把调试无误的软件程序烧制进单片机芯片内部,通上电源后,检查硬件工作是否有预期的效果,如果没有则需要检测软件是否在实现功能上有欠缺。若有错误,通过改写软件来调试,直至达到预期效果,则设计圆满成功。本课程设计调试结果如下图4-1所示。图4-1课程设计调试结果六、总原理图及元器件清单 6.1总原理图 图6-1总原理图6.2元器件清单 6.2.1 AT89C51芯片 AT89C51芯片图如下图6-2所示。 图6-2 AT89C51芯片简介:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Progr
22、ammable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容;4K字节可编程闪烁存
23、储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;128×8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。6.2.2 字符型LCD1602字符型LCD1602如下图6-3所示。 图6-3字符型LCD16021602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,各引脚符号及其功能表如下表6-1所示。引脚符号功能说明1VSS一般接地2V
24、DD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flag)15BLA背光电源正极16BLK背光 电源负极 表6-1 LCD各引脚及其功能表6.2.3 按键控制模块按键用于控制数码显示、LCD显示、扬声器等模块的工作。通过扫描按键是否按下,来设定各模块的工作情况
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年保安证考试难点分析及答案
- 2025年保安证考试要点试题及答案
- 2025年保安证考试快速入门试题及答案
- 关键考点保安证考试试题及答案
- 2025年保安证考试的先进学习方法试题及答案
- 2025保安证考试全景分析试题及答案
- 研发产品立项报告
- 高分秘籍与保安证试题及答案
- 深入了解保安证考试动态试题及答案
- 山东石油化工学院《集装箱与多式联运2》2023-2024学年第一学期期末试卷
- 小学英语作业分层设计实施策略研究优秀科研论文报告
- 高中 高二 化学选择性必修1 第三章 第四节 第1课时 难溶电解质的沉淀溶解平衡 教学课件
- 《农村合作金融机构非信贷资产风险分类指引》(银监发[2007]29号)
- 第五届云南省科技兴乡贡献奖人员评议结果
- 军事地形学地形图基本知识
- 品质部过程品质管理看板
- 小学生安全教育主题班会PPT模板(含具体内容)
- 设备安装工程监理规划
- 注册安全工程师(延续注册)履职情况说明
- 简单娱乐yy频道设计模板
- 退火强化和退火软化
评论
0/150
提交评论