基于单片机STC89C516RD+的电子钟设计实验报告.docx_第1页
基于单片机STC89C516RD+的电子钟设计实验报告.docx_第2页
基于单片机STC89C516RD+的电子钟设计实验报告.docx_第3页
基于单片机STC89C516RD+的电子钟设计实验报告.docx_第4页
基于单片机STC89C516RD+的电子钟设计实验报告.docx_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机课程设计实验报告 基于stc89c516rd+的电子钟设计 学院:电气与电子工程学院 班级: 姓名: = 学号: 时间: 2015.06 目 录1. 实验内容及要求/012. 课题研究目的和意义及介绍./013. 设计思路及描述/024. 硬件设计./035. 软件设计./066. 实验心得及体会/107. 总结./11一、 实验内容及要求1. 实验内容用stc89c516rd+设计一个用电子屏显示的电子钟,可以显示年、月、日以及时、分、秒,且时间时时刻刻在变化,秒数每秒加一且可以进行分钟进位小时进位。另外该电子钟还可以设置闹钟,闹钟到达指定时刻时便自动进行闹铃,间断响铃持续一分钟后停止,而在其过程中若是按下键盘上的#号键可以将闹钟关闭,不仅如此#号键就是闹钟的总开关,按下一次闹钟关闭,再按一次闹钟开启。对应键盘上的*号键功能为设置闹钟,按下*号键再用键盘输入四位数字如“0909”,9时9分就成为了电子钟的闹铃时间。2. 实验要求了解89c51系列芯片的工作原理和工作方式,使用该种芯片对lcd数字显示屏进行显示控制,实现用单片机的端口控制显示屏,显示时间年月日时分秒,并且能通过按键来设置一个闹钟,并可以控制开启和关闭闹钟。要求选用定时器的工作方式,画出使单片机控制lcd显示屏的电路图,并实现硬件电路,最后用软件编程完成闹钟设置、闹钟提醒、闹钟开关功能。二、 课题研究目的和意义及介绍1. 目的意义1) 通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。2) 掌握定时器、外部中断的设置和编程原理。3) 通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4) 该实验通过单片机的定时器/计数器定时和计数原理,设计简单的电子钟系统,拥有精准的时间显示、设置闹钟、开关闹钟,在现实生活中应用广泛,具有现实意义。2. 单片机的简单介绍stc90c516rd+系列单片机是宏晶科技推出的新一代超高速/低功耗的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可任意选择,内部集成max810专用复位电路,时钟频率在12mhz以下时,复位脚可直接接地。其主要性能有:1).增强型6 时钟/ 机器周期,12 时钟/ 机器周期 8051 cpu2).工作电压:5.5v - 3.8v(5v单片机)/3.8v - 2.4v(3v 单片机)3).工作频率范围:0-40mhz,相当于普通8051的 080mhz.4).用户应用程序空间 4k/6k/7k/8k/10k/12k/13k/16k/32k/40k/48k/56k/ 61k/字节5).片上集成 1280字节/512/256字节 ram6).共3个16位定时器/计数器,其中定时器0还可以当成2个8位定时器使用7).外部中断4路,下降沿中断或低电平触发中断,power down模式可由外部中断低电平触发中断方式唤醒8).工作温度范围:0-75/-40-+853. 实验仪器集成电路芯片stc90c516rd+,lcd显示屏,pcf8583,uln2003,有源蜂鸣器,矩阵按键;装有keil软件、stc_isp软件、汉字取模软件的pc一台,能够下载程序的单片机开发板一套。 三、 设计思路及描述 该设备各个模块由stc89c516+链接,lcd显示屏使能端由芯片的p1.0和p1.1引脚控制,时钟计数pcf8583的scl和sca分别由p1.4和p1.5控制,89c516+的p0.0到p0.7引脚连接矩阵按键模块的con10芯片进而控制按键,p1.6p1.7控制蜂鸣器的启动。lcd显示屏stc89c516+pcf8583计数矩阵按键蜂鸣器、led四、 硬件设计1. lcd显示屏lcd12232中vdd为逻辑电源正,v0为lcd驱动电源,reset为复位端,e1e2为读写使能端,d0到d7为数据输入输出引脚。2. pcf8583pcf8583是philips公司制造的带有256x8 bit ram的8引脚时钟芯片,具有两线串行i2c中线接口,内有振荡上电复位电路,具有计时和中断功能。该芯片1、2脚外接晶振,3脚逻辑正,4脚gnd,5脚数据线,6脚时钟线,7脚中断输出,8脚vcc。3. 矩阵按键判断键盘有无按键按下。首先将所有列线均置为低电平,然后检查各行线电平是否都为高,若全为高则无按键按下,否则就有。识别哪个被按下。逐列扫描,即某时刻只让一条列线为低电平,其他全为高,当行列线全为低电平交叉处既是按下的按键。依据公式“键号=行首键号+列号”,计算按下键值的键号,再根据此键号转入相应的处理程序。4. 蜂鸣器 芯片通过p0脚通过74hc574的d触发器和uln2003的反向放大器控制蜂鸣器的响起和停止。开始五、 软件设计屏幕初始化循环对比不正确扫描键盘对比时间更新时间闹钟开关开 闹钟开关关按下*号键按下#号键响铃对比正确扫描键盘是否有输入?按下#号键无存入中间数组响铃中断未完成有输入完成?完成p(小时)=(new04)+new1q(分钟)=(new26;t5=(time1&0x1f); /取得月t6=0; / nct7=time0; / 取得年的基数i2c_puts( 0xa2,0x01,8,t);5. display_time( )为显示当前时间,括号内写入1使显示屏上一直都有当前时间显示。6. key( )为按键扫描函数,其值为按下键位的键码。7. naozhong( )和set( )是闹钟扫描函数和闹钟设置函数。naozhong( )函数功能就是将当前时间的小时数值和分钟数值与设定的闹钟数值进行比对,若符合则开启蜂鸣器闹钟响铃;set( )函数就是用按键扫描读入四位数字即闹钟时间存入闹钟数组,然后每次闹钟扫描使都将扫描这个时间,闹钟便成功加入了。六、 实验心得体会1. 认真审题,看懂题目的要求,选择适当的课题,不要太简单或者太难。做到既能把课题完成又能锻炼自己的能力。2. 根据课题要求,复习相关的知识,查询相关的资料。3. 根据实验条件,找到适合的方案,找到需要的元器件及工具,准备实验。4. 根据课程设计的要求和自己所要增加的功能写好程序流程图,在程序流程图的基础上,根据芯片的功能写出相应的程序。然后再进行程序调试和相应的修改,以达到能够实现所要求的功能的目的。5. 还要根据实验的实际情况,添加些额外程序来使系统更加的稳定。6. 程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。7. 该实验的程序可以参照其他51系列单片机的程序,毕竟殊途同归,只要基础一样怎样变化都是可以的,当然也可以按照自己的风格写。8. 课程设计实践性十分强,在过程中遇到不会的应该自己想办法弄懂,比如程序用开发板如何烧写参数如何设定等等。七、 总结 本次课设主题是考勤机系统,电子钟只能说是考勤机的一个分部,由此次课设我们可以明显的感觉到实践的重要。 第一次参加单片机课设,原来的几次小实验与课设相比根本就不值一提,可以说实验仅仅只是一个一个的小东西,而课设确是将几个分开的模块连接结合在一起形成一个大的系统。课设开始首先是信盈达公司的讲师为我们讲解考勤机的各个部分的原理以及使用,在这里可以清晰的感觉仅仅只是局限于书本上的内容并不够,讲解之后便是给了我们几个课题让我们在考勤机的基础上完成。 我们小组选择的是电子钟的设计,用到了考勤机中的显示屏模块、按键模块、计时模块还有蜂鸣器led模块,由于硬件是现成的,所以主要的难点在于软件的编写。我们学习的单片机语言是汇编语言,在这里就略显不足,汇编重在程序执行的过程,但是却并不好理解。相比之下c语言程序清晰较容易理解,看到源程序举一反三也就比较容易。 最终我们小组完成了电子钟的设计,我们的电子钟具有了时钟显示、闹钟、闹钟设置、闹钟开关的功能。在程序设计的过程中遇到了许多困难,总是会出现这样那样的错误,最终在组员的努力和老师的帮助下完成。然而最后由于时间紧迫,电子钟的调整时间功能并没有实现,在大家心中留下了遗憾。 在设计中有好多问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论