版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南涉外经济学院课程设计报告课程名称:单片机原理及应用报告题目:音乐倒数计数器学生姓名: 所在学院:信息科学与工程学院专业班级: 学生学号: 指导教师:廖亦凡20 14 年 6 月 4日课程设计任务书 报告题目音乐倒数计数器完成时间学生姓名 专业班级 指导教师廖亦凡职称总体设计要求和技术要点利用数字AT89C51单片机实现倒数计数器的功能,设定时间后在LED数码管上显示相应的时间。其功能和性能指标如下: 字符型LCD(162)显示器,显示格式为“TIME 分分:秒秒”。 用4个按键操作来设置当前想要倒计数的时间。 一旦按下键则开始倒计数,当计数为0时,发出一阵音乐声。 程序执行后工作指示灯LC
2、D闪动,表示程序开始执行,按下操作键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 :验收答辩课程设计成果1与
3、设计内容对应的软件程序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 其它元件 177、
5、结论与心得 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显示流程图和按键流程图分别如下图4
10、-1、图4-2和图4-3所示。开始初始化扫描复位电路扫描键盘扫描计数器按键是否有按下?复位?计数值是否为0?否 否 否是是蜂鸣器发声 是调整计数器值计数器停止倒数计数LCD液晶显示器结束 图4-1 主程序流程图24退出LCD显示相应画面是否有键按下LCD倒数计时复位键是否按下LCD相应时间是否有键按下LED闪动是否有程序执行开始 是 否 是 否是否是否 图3-2 LCD显示流程图有键按下时间显示模式按键处理,确定模式按键扫描初始化开始 否是根据按键状态修改时间时间修改模式根据按键状态显示相应时间段是否 图3-3 按键流程4.2源程序#include#include#define time 10
11、0#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;sbit key3=P12;sbit key4=P13;sbit key5=P14;sbit P1
12、_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;x0;x-)for(y=110;y0;y-);/延时1S/void delay1(void) uchar a,b,c; for(c=13;c0;c-) for(b=247;b0;b-) for(a=142;a0;a-);/1602写命令函数/void write_com(uchar com)RS=0;P3=com;delay(5);E
13、=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(minute0) 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(
14、) 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_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) de
15、lay(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);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;TR1=1;flag5=1; /初始化函数/void init() P1=0xff;RW=0;write_com(0x38);
16、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;/TR1=1;/TR0=1;EA=1;flag0=1;for(num=0;num0) minute=minute-1;write_time(7,minute);if(second=0) k=1;second=60;int main() init(); while(1) while(flag0) start();counter();wh
17、ile(flag5)delay1(); i+; if(i7) 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) delay(100);if(key5=0) TR1=0;flag5=0;k=0;j=0;五、系统的仿真与调试5.1 硬件调试 硬件调试分为静态调试和动态调试,对于硬件调试而言,只要认真焊接,硬件一般不会出现什么
18、问题的。静态调试一般采用的工具是万用表,它是在用户系统未工作时的一种硬件检测。动态调试是在用户系统工作的情况下发现和排查错误的一种硬件检测。调试步骤是:首先把电路分为若干模块,调试过程中与该模块无关的元件可以不加考虑,这样可把故障限定在一定的范围内;故障清除后,把各个模块合在一起进行联调,即可完成整个硬件调试工作。5.2 软件调试 软件调试是通过对程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。5.3 软硬件调试软硬件联调是指把调试无误的软件程序烧制进单片机芯片内部,通上电源后,检查硬件工作是否有预期的效果,如果没有则需要检测软件是否在实现功能上有欠缺。若有错误
19、,通过改写软件来调试,直至达到预期效果,则设计圆满成功。本课程设计调试结果如下图4-1所示。图4-1课程设计调试结果六、总原理图及元器件清单 6.1总原理图 图6-1总原理图6.2元器件清单 6.2.1 AT89C51芯片 AT89C51芯片图如下图6-2所示。 图6-2 AT89C51芯片简介:AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除
20、只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24MHz;三级程序存储器锁定;1288位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的
21、闲置和掉电模式;片内振荡器和时钟电路。6.2.2 字符型LCD1602字符型LCD1602如下图6-3所示。 图6-3字符型LCD16021602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,各引脚符号及其功能表如下表6-1所示。引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电
22、平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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育心理学高分通关题型题库附解析答案
- 山西省煤矿建设六个标准目录3篇
- 高三综评自我陈述报告
- 期货入门知识
- 地板砖买卖协议2024年
- 2024商业借款保障协议规范
- 新人教版数学第二十五章-概率初步全章教学设计
- 2024年制定商品销售返购协议样例
- 2024年度房产项目融资安排协议
- 2024年化建筑工程施工承包协议
- 人教版(2024)七年级地理上册2.2《地形图的判读》精美课件
- 黄河商品交易市场介绍稿
- 人格障碍(分析“人格障碍”)49
- Unit 3 My friends Part C Story time(教学设计)-2024-2025学年人教PEP版英语四年级上册
- 2024中国海油校园招聘2024人(高频重点提升专题训练)共500题附带答案详解
- 孙中山诞辰纪念日主题班会主题班会
- 派出所外观建设形象规范
- 2024-2030年全球及中国半导体级磷烷行业现状动态及产销需求预测报告
- 2024年团务附有答案
- 液压动力滑台的PLC控制新版专业系统设计
- 2024年北京出版集团有限责任公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论