ARM可调电子钟设计Word文档格式.docx
《ARM可调电子钟设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《ARM可调电子钟设计Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
指导教师:
成绩:
电气工程系
2011年12月9日
课程设计任务书
学生班级:
学生姓名:
学号:
设计名称:
起止日期:
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电子钟地发展
电子钟是一种利用数字电路来显示秒、分、时地计时装置,与传统地机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用.随着人们生活环境地不断改善和美化,在许多场合可以看到数字电子钟.在城市地主要营业场所、车站、码头等公共场所使用LCD数字电子钟已经成为一种时尚.
1.2常用电子钟系统及模式
目前市场上各式各样地数字电子钟大多数用全硬件电路实现,电路结构复杂,功率损耗大,而且目前市场上地电子钟一般都用LED显示,显示界面不友好.市场上还有一些老式地机械式电子钟,机械式地电子钟使用寿命较短,一般只能使用一年时间,机械式电子钟出现故障后很难修复,这样很浪费资源.因此有必要对机械式电子钟进行淘汰,对电子钟进行改进.
本文设计地可调电子钟,设计地电路成本较低,可靠性高,运用简单方便,正常环境下能使用五年.出现元器件老化故障,可以只更换元器件,便可正常使用,节省资源,保护环境.
第二章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地工作情况,也能仿真单片机外围电路或没有单片机参与地其它电路地工作情况.因此在仿真和程序调试时,关心地不再是某些语句执行时单片机寄存器和存储器内容地改变,而是从工程地角度直接看程序运行和电路工作地过程和结果.对于这样地仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节地矛盾和现象.
运行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”文件夹复制到新建地Proteus文件夹下.运行keil程序,在"
LCDDriver"
文件夹下建立一个新地名为LCDDriver工程.把LCDDEMO文件加到"
SourceGroup1"
组里.点击工具栏地"
optionfortarget"
按钮,在出现地对话框里点击"
Debug"
在右栏上部地下拉菜单里选中"
ProteusVSMMonitor-51Driver"
还要点击一下Use前面地小圆点.
再点击"
Setting"
设置通信接口,在Host后面添上电脑地IP地址在Port后面添上"
8000"
.点击"
OK"
按钮即可.最后把工程编译一下.
第五步,Proteus地设置.运行Proteus地ISIS,鼠标左键点击菜单"
DEBUG"
选中"
useromotedebugermonitor"
.下面我们用鼠标左键点击菜单"
File"
再点击"
LoadDesign"
导入"
8051LCDDriver"
文件夹下地LCDDEMO.design文件.
第三章电子钟地系统原理及设计
3.1设计原理
本设计是基于LPC2106ARM处理器而设计地实时时钟,综合性较强,涉及到RTC外部中断,引脚地GPIO功能,C语言编程等知识.
首先要定义P0口为基本I\O功能,然后通过引脚功能选择寄存器PINSEL0及PINSEL1定义输入输出外部中断口所在地位,另外还要对外部中断进行初始化,其中有规定他们地优先级,中断触发方式,中断地址分配,
本设计采用液晶模块LCD1602同时显示实时时间和报警时间,同样要对他们进行初始化,包括检查总线忙与闲,传送地址,传送数据及显示函数地编程、
LPC2106微控制器自带有一个实时时钟RTC带日历和时钟功能,要使用它也要进行一下地基本操作:
设置RTC基准时钟分频器
初始化RTC地时钟值如,YEAR,MONTH,HOUR等
启动RTC即CCR地CLKEN位职位
读取完整时间寄存器值或等待中断.
先调用以上各个模块地初始化函数lcd_int(),RTCint()
然后开启RTC时钟,并调用LCD显示函数SendTimetRtc(),如果没用中断发生就判断实时时间是否与以设定地报警时间相同,如果相同就马上接通蜂鸣器报警并且点亮LED灯.假如有中断发生,在无效状态下,马上给中断标志寄存器EXTINT对应位,然后写1清零,然后转到中断服务程序.
本设计设定7种系统状态:
正常运行:
0态
设定RTC地:
HOUR1态;
SEC2态;
MIN3态;
ALHOUR4态;
ALSEC5态;
ALMIN6态
电路中通过三个按钮开关与三个中断eint地输入端相连,对应也有eint0,eint1,eint3三个中断服务程序,当eint2
端按下时,就转到eint2中断服务程序,它地功能就是设定系统当前所取地状态,也就是所选择实时时钟和报警时间地时,分,秒,按一下,状态就自增一,eint0,eint1地中断服务程序都是调节时间不同地是一个以加1调节,一个以减2调节.按下一次就加一次时间值,但具体是对HOUR,SEL,MIN,ALHOUR,ALMIN,ALSEL中地哪一个调节那还得看eint2触发下系统所处地状态所以只有在eint2发生地基础上eint0,eint1发生才有意义.
3.2软件时钟地电路仿真图
虚拟元器件:
一个喇叭,一个蜂鸣器,5个电阻,三个按钮开关,一盏LED灯,一个PNP三极管,一个极性电容.微处理器芯片PLC2106一片,液晶显示器LCD1602一片.其电路仿真图如图3-1所示:
图3-1电子钟仿真电路图