论文例子
- 格式:doc
- 大小:1.04 MB
- 文档页数:25
综合实践(能力训练)设计题目:单片机的电子万年历设计所属教研室:电气教研室专业班级: *秋电气自动化*班学生姓名: ***指导教师: *******年** 月** 日毕业综合实践(能力训练)任务书毕业综合实践(能力训练)任务书摘要电子万年历是一种非常广泛日常计时工具,对现代社会越来越流行。
它可以对年、月、日、周日、时、分、秒进行计时,还具有闰年补偿等多种功能,而且DS1302的使用寿命长,误差小。
对于数字电子万年历采用直观的数字显示,可以同时显示年、月、日、周日、时、分、秒和温度等信息,还具有时间校准等功能。
该电路采用AT89S52单片机作为核心,功耗小,能在3V的低压工作,电压可选用3~5V电压供电。
本设计是基于51系列的单片机进行的电子万年历设计,可以显示年月日时分秒及周信息,具有可调整日期和时间功能。
在设计的同时对单片机的理论基础和外围扩展知识进行了比较全面准备。
在硬件与软件设计时,没有良好的基础知识和实践经验会受到很大限制,每项功能实现时需要那种硬件,程序该如何编写,算法如何实现等,没有一定的基础就不可能很好的实现。
在编写程序过程中发现以现有的相关知识要独自完成编写任务困难重重,在老师和同学的帮助下才完成了程序部分的编写。
关键词:电子万年历;DS1302;单片机1绪论 (1)1.1电子万年历的应用及发展 (1)1.2单片机的原理 (2)2应用软件介绍 (3)2.1仿真软件介绍 (3)2.2Proteus 和 Keil C51 联合与应用 (3)2.2.1Keil C51 与 Proteus 离线联合使用 (3)2.2.2Keil C51 与 Proteus 7.0 在线联合仿真调试 (3)3主要硬件介绍 (4)3.1单片机芯片的介绍 (4)3.2DS1302芯片的介绍 (5)3.3LCD液晶显示屏的介绍 (9)3.3.1LCD液晶显示屏概述 (9)3.3.2基本特性 (9)3.3.3模块接口说明 (10)3.3.4指令说明 (12)4系统构成 (14)4.1AT89C51 的电子万年历系统构成 (14)5 仿真与编程 (14)5.1Proteus 仿真设计过程 (14)5.2Keil C51 编写程序 (16)5.3仿真分析及结论 (18)设计总结 (19)参考文献 (20)1绪论1.1电子万年历的应用及发展在当代繁忙的工作与生活中,时间与我们每个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已。
万年历是采用数字电路实现对时、分、秒的数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公共场所,成为人们日常生活中不可少的必需品。
由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能,诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。
因此,研究万年历及扩大其应用,有着非常现实的意义。
电子万年历采用直观的数字显示,可以同时显示年、月、日、周、时、分、秒等信息,还具有时间校准功能。
综上所述,万年历具有读取方便、显示直观、功能多样、电路简洁、成本低廉等诸多优点,符合电子仪器仪表的发展趋势,具有广阔的市场前景。
国内外电子万年历的设计已经比较成熟了,它可以采用很多种设计方案,每种方案各有自己的优缺点。
国内外电子万年历的设计主要有以下几种设计方案。
第一种设计方案是采用可编程逻辑器件设计。
这种方案采用PLD 器件,设计起来结构清晰,各个模块从硬件上设计起来相对简单,控制与显示模块间的连接也比较方便,但是考虑到本设计的特点,EDA 在功能扩展上比较受局限,而且 EDA 占用的资源也会相对多些,从成本上来讲,用可编程逻辑器件来设计并没什么优势可言。
第二种设计方案是采用 ARM 来设计。
ARM 微处理器的功能特别强大,与 MC51 单片机相比,它更适合做中高端数字系统的微处理器。
它体积小、低功耗、低成本、高性能,但是这要求设计者有较高的设计水平,设计起来有点难度,特别是对于我们这种对嵌入式系统不太熟悉的。
第三种设计方案是采用 51 系列单片机来设计,我也是基于 51 系列单片机来设计电子万年历的。
51 系列单片机是基础入门的一类单片机,也是应用最广泛的单片机之一,虽然它的运行速度较慢,功耗较大,不过由于 51 系列单片机比较易学,所以开发者比较容易入门,在本次设计中采用的是 AT89S52 单片机,它具有在线编程,低功耗,能在超低压工作的特点,完全符合电子万年历的设计要求,所以采用基于 AT89S52 来设计电子万年历。
虽然近些年我国也开始重视对电子万年历的开发与设计,让更多的电子时钟能够走进人民生活,更多人能够应用到功能强大,精度高的电子时钟,但是仍然存在很多问题。
中国电子万年历产业发展出现的问题中,许多情况不容乐观,如产业结构不合理、产业集中于劳动力密集型产品;技术密集型产品明显落后于发达工业国家;生产要素决定性作用正在削弱;产业能源消耗大、产出率低、环境污染严重、对自然资源破坏力大;历具有诸多优点,它的市场前景很广泛。
1.2单片机的原理单片机到底是什么呢?就是一个电脑,只不过是微型的,麻雀虽小,五脏俱全:它内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
排烟罩VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。
单片机是靠程序工作的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言(近几年,C语言也开始广泛被应用),它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?很多高级的语言已经达到了可视化编程的水平为什么不用呢?原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC也是承受不了的。
目前最常用的单片机为MCS-51,是由美国INTEL公司(生产CPU的英特尔)生产的,89C51是这几年在我国非常流行的单片机,它是由美国ATMEL公司开发生产的,其内核兼容MCS-51单片机。
2 应用软件介绍2.1仿真软件介绍Proteu是由英国 Labcenter electronics 公司开发的 EDA工具软件,自 1989 年出现至今已有近二十年的历史,在全球广泛使用。
该软件集成了高级原理布图、混合模式 SPICE 电路仿真、PCB 设计以及自动布线来实现一个完全的电子设计系统。
它是一种混合电路的仿真工具,能对模拟电路、数字电路、单片机及其外围电路进行动态仿真。
Proteus 软件主要由两个模块组成:ARES 和 ISIS。
前者主要用于 PCB 自动或人工布线;后者主要绘制电路原理图,并可进行相应的仿真。
作为一款 EDA 仿真软件,Proteus 有着丰富的元件库。
Labcenter 公司与相关的第三方软件公司共同开发了 8000 多个模拟和数字电路中常用的 SPICE 模型以及各种动态元件(基本元件如电阻、电容、各种二极管、三极管、MOS 管、555 定时器等;74 系列 TTL元件和 4000 系列 CMOS元件;存储芯片包括各种常用的 ROM、 RAM、EEPROM;还有常见 I2C 器件等)。
此外该软件还支持微处理器的仿真(支持许多通用的微控制器,如 PIC 系列、AVR 系列、8051 系列等;同时它还支持 ARM、PLD 及各种外围芯片的仿真),并能与常用的编译器,如 Keil、IAR、Proton 等进行协同调试。
整个过程与真实的硬件调试极其相似,在动态外设支持下的实时输入和输出为实验者提供了一个最接近现实的调试环境。
2.2 Proteus 和 Keil C51 联合与应用Proteus 和 Keil C51 整合构建单片机实验仿真环境Proteus 和 Keil 构建单片机实验仿真环境时,常用的方法有如下两种:2.2.1 Keil C51 与 Proteus 离线联合使用①通过Keil C51 编辑、修改、编译源程序并生成 HEX 等单片机能识别的文件;②运行Proteus,将HEX文件与原理图中的单片机(MCU)进行绑定即可。
2.2.2 Keil C51 与 Proteus 7.0 在线联合仿真调试①在计算机(PC)上安装好 TCP/IP 协议;②下载并安装软件 Proteus VSM a GDIDriver(即 vdmag-di.exe),完成后Keil 文件夹下的TOOLS.INI 文件中的[C51]字段的最后两行增加了TDRV2=BIN\VDM51.DLL(用于两个软件的联接)和 BOOK1=HLP\VDMAGDI.HLP(帮助文档);③进入 Keil C51 的开发环境建立一个工程文件,在选中“Target”的情况下选择 Project→Options for target;④在“Debug”选项卡中选择左边的“Use”,在下拉框中选“Proteus VSMSimulator”,再点击“Setting”设置通信接口,在 Host 后面添上“127.0.0.1”、端口号 Port 为 8000,如果不是同一台电脑,在这里添上另一台电脑的 IP 地址(另一台电脑安装 Proteus);⑤打开 Proteus ISIS,在菜单栏中选择“Debug→Use re-mote debug monitor”,选中该项。