学号:2011-2012学年第1学期《基于ARM的可调电子钟设计》课程设计报告题目:基于ARM的可调电子钟设计专业:通信工程班级:姓名:指导教师:成绩:电气工程系2011年12月9日课程设计任务书学生班级:学生姓名:学号:设计名称:基于ARM的可调电子钟设计起止日期:2011-12-3至2011-12-9指导教师:一.设计目的1.应用所学的ARM知识设计一个实时时钟2.掌握LPC2106中断处理,RTC的使用。二、设计任务1.查阅文献资料,了解、熟悉电子钟的原理及其电路2.了解掌握ARM内容及其应用3.对Proteus软件的熟悉与应用4.利用Proteus对所设计的电子钟进行调试,验证其正确性三、具体要求1.实时时间可通过按键选择调节。2.可以通过按键设定报警时间。3.当达到报警时间时,蜂鸣器响一下,LED灯点亮。4.报警时间和实时时间通过液晶模块LCD1602显示目录摘要..................................................................................................................................................3第一章绪论.................................................................................................................................-1-1.1电子钟的发展.................................................................................................................-1-1.2常用电子钟系统及模式.................................................................................................-1-第二章ARM的简介...................................................................................................................-2-2.1ARM概述.......................................................................................................................-2-2.2ARM的特点...................................................................................................................-2-2.3ProteusSP3软件介绍....................................................................................................-2-2.4ProteusSP3仿真步骤....................................................................................................-3-第三章电子钟的系统原理及设计.............................................................................................-4-3.1设计原理.........................................................................................................................-4-3.2软件时钟的电路仿真图................................................................................................-4-3.3电子钟系统软件设计....................................................................................................-5-3.4电子钟的调试................................................................................................................-7-3.5仿真结果分析与展望....................................................................................................-8-自我评价.....................................................................................................................................-10-指导老师评语.............................................................................................................................-11-摘要电子钟是目前应用非常广泛的一种电子装置,众所周知,ARM微处理器功能特别的强大,与MC51单片机相比,它更适合做中高端数字系统的微处理器,ARM已经成了现代主流微处理器内核,目前,绝大多数码产品,如,手机,MP3,MP4,数码相机,他们的系统都嵌入了ARM系列内核,ARM微处理器更新换代很快,现在的诺基亚N系列智能手机如N78,N79已经采用了ARM11了,使得运行于塞班操作系统S60第三版的应用程序流畅自如。本文使用LPC2106ARM处理器而设计的实时时钟,由硬件和软件相配合使用。硬件由主控器、时钟电路、显示电路、键盘接口5个模块组成。实现电子时钟的功能,并在LCD上显示类似的时钟界面;动态显示当前的时间,包括:年月、日、时、分、秒,时针。关键字:电子钟;LCD1602;Proteus;LPC2106-1-第一章绪论1.1电子钟的发展电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。在城市的主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚。1.2常用电子钟系统及模式目前市场上各式各样的数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大,而且目前市场上的电子钟一般都用LED显示,显示界面不友好。市场上还有一些老式的机械式电子钟,机械式的电子钟使用寿命较短,一般只能使用一年时间,机械式电子钟出现故障后很难修复,这样很浪费资源。因此有必要对机械式电子钟进行淘汰,对电子钟进行改进。本文设计的可调电子钟,设计的电路成本较低,可靠性高,运用简单方便,正常环境下能使用五年。出现元器件老化故障,可以只更换元器件,便可正常使用,节省资源,保护环境。-2-第二章ARM的简介2.1ARM概述ARM(AdvancedRISCMachines)处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。更早称作AcornRISCMachine。ARM的Jazelle技术使Java加速得到比基于软件的Java虚拟机(JVM)高得多的性能,和同等的非Java加速核相比功耗降低80%。CPU功能上增加DSP指令集提供增强的16位和32位算术运算能力,提高了性能和灵活性。ARM还提供两个前沿特性来辅助带深嵌入处理器的高集成SoC器件的调试,它们是嵌入式ICE-RT逻辑和嵌入式跟踪宏核(ETMS)系列。2.2ARM的特点ARM处理器的三大特点是:耗电少功能强、16位/32位双指令集和合作伙伴众多。1、体积小、低功耗、低成本、高性能;2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;3、大量使用寄存器,指令执行速度更快;4、大多数数据操作都在寄存器中完成;5、寻址方式灵活简单,执行效率高;6、指令长度固定。2.3ProteusSP3软件介绍Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。本文章基于ProteusPRO6.7SP3和KEILuVision3软件。当然,软件仿真精度有限,而且不可能所有的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是对于单片机爱好者,或者简单的开发应该是比较好的选择。Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的-3-改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。运行proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件命令)命令,在pickdevices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Definecodegenerationtools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/removesourcefiles命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。2.4ProteusSP3仿真步骤Proteus本身是无法仿真的,要配合上keil,因为需要将程序写入芯片。首先,要下载安装这两个软件了。第二步,安装完毕,把C:\ProgramFiles\LabcenterElectronics\Proteus6Professional\MODELS\目录下的VDM51.dll文件复制到C:\Keil\C51\BIN文件夹下。(目录名都是默认的,你可以根据你实际安装的目录进行复制。)第三步,用记事本(其它的编辑软件也可以,如UltraEdit)打开Keil根目录下的TOOLS.INI文件,在[C51]栏目下加入TDRV3=BIN\VDM51.DLL(ProteusVSMMonitor-51Driver),其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。第四步,keil的设置。把C:\ProgramFiles\LabcenterElectronics\Proteus6Professional\SAMPLES的8051LCDDriver”文件夹