版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM基于LPC2124 RTC LCD显示(xinsh)电子时钟ARM电子时钟(shzhng)目录TOC o 1-3 h u HYPERLINK l _Toc28995 第一章 设计(shj)任务和要求 PAGEREF _Toc28995 4 HYPERLINK l _Toc5781 一、课设目的 PAGEREF _Toc5781 4 HYPERLINK l _Toc31150 二、辅助设备 PAGEREF _Toc31150 4 HYPERLINK l _Toc19301 三、实验内容 PAGEREF _Toc19301 4 HYPERLINK l _Toc18603 第二章 主要芯片及应
2、用软件简介 PAGEREF _Toc18603 4 HYPERLINK l _Toc3914 一、RTC简介 PAGEREF _Toc3914 4 HYPERLINK l _Toc32516 1.1RTC PAGEREF _Toc32516 4 HYPERLINK l _Toc10305 1.2硬件结构 PAGEREF _Toc10305 4 HYPERLINK l _Toc14778 二、 LPC2124简介(jin ji) PAGEREF _Toc14778 5 HYPERLINK l _Toc14961 1.1LPC2124管脚 PAGEREF _Toc14961 5 HYPERLINK
3、 l _Toc17112 1.2LPC2124 RTC PAGEREF _Toc17112 5 HYPERLINK l _Toc19507 三、芯片(xn pin)LM016L简介 PAGEREF _Toc19507 6 HYPERLINK l _Toc16866 3.1液晶显示原理(yunl) PAGEREF _Toc16866 6 HYPERLINK l _Toc32577 3.2引脚功能说明 PAGEREF _Toc32577 6 HYPERLINK l _Toc12496 四、 Proteus简介 PAGEREF _Toc12496 8 HYPERLINK l _Toc20563 4.
4、1软件特点 PAGEREF _Toc20563 8 HYPERLINK l _Toc16809 4.2与Keil联调 PAGEREF _Toc16809 9 HYPERLINK l _Toc30904 Keilc与Proteus连接调试 PAGEREF _Toc30904 9 HYPERLINK l _Toc578 五、 Keil简介 PAGEREF _Toc578 9 HYPERLINK l _Toc10673 5.1Keil开发基本常识 PAGEREF _Toc10673 9 HYPERLINK l _Toc13997 5.2软件优点 PAGEREF _Toc13997 10 HYPERL
5、INK l _Toc22416 第三章 时钟软件设计 PAGEREF _Toc22416 11 HYPERLINK l _Toc26709 一、 软件流程图 PAGEREF _Toc26709 11 HYPERLINK l _Toc15084 二、 软件详情 PAGEREF _Toc15084 11 HYPERLINK l _Toc22245 第四章 硬件设计 PAGEREF _Toc22245 13 HYPERLINK l _Toc8303 一、 电路效果图 PAGEREF _Toc8303 13 HYPERLINK l _Toc8547 二、 晶振电路 PAGEREF _Toc8547 1
6、3 HYPERLINK l _Toc9216 三、 显示(xinsh)电路 PAGEREF _Toc9216 14 HYPERLINK l _Toc28969 第五章(w zhn) 心得体会 PAGEREF _Toc28969 15 HYPERLINK l _Toc6750 附录(fl) PAGEREF _Toc6750 16 设计任务(rn wu)和要求一、课设目的(md)了解时钟(shzhng)的硬件控制原理及设计方法掌握RTC模块程序设计方法二、辅助设备Proteus模拟ARM7芯片设计Keil编译C语言,连接生成Hex文件 三、实验内容使用PROTEUS 仿真,选用ARM7 LPC21
7、24 芯片和LCD显示屏,导入Hex文件,然后进行软件仿真调试。应用现有的仿真工具和嵌入式软件开发平台,规范、科学地完成一个小型LCD显示电路的设计与实现。主要芯片及应用软件简介一、RTC简介1.1RTC实时时钟的缩写是RTC(Real_Time Clock)。RTC 是集成电路,通常称为时钟芯片。实时时钟芯片是日常生活中应用最为广泛的消费类电子产品之一。它为人们提供精确的实时时间,或者为电子系统提供精确的时间基准,目前实时时钟芯片大多采用精度较高的晶体振荡器作为时钟源。有些时钟芯片为了在主电源掉电时,还可以工作,需要外加电池供电。1.2硬件结构晶振晶振一般(ybn)叫做晶体谐振器,是一种机电
8、器件,晶振是石英振荡器的简称,英文名为Crystal是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。晶振的作用(zuyng):提供基准频率。RTC的晶振:任何实时时钟的核心都是晶振,晶振频率为32768 Hz 。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常(zhngchng)工作,不能够收到干扰。RTC的晶振又分为:外部晶振和内置晶振。RTC的晶振频率为什么是32768Hz? RTC时间是以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都是16位的。又因为时间的准确性很重要,故震荡次数越
9、低,时间的准确性越低。所以必定是个高次数。215 = 32768 。 32768 Hz = 215 即分频15次后为1Hz,周期 = 1s。 经过工程师的经验总结32768 Hz,时钟最准确。 规范和统一。LPC2124简介1.1LPC2124管脚1.2LPC2124 RTC当选择正常或空闲模式时,实时时钟(RTC)提供一套用于测量时间(shjin)的计数器。RTC消耗的功率非常低,这使其适合于由电池供电的,CPU不连续工作(空闲模式)的系统。特性(txng)对时间段进行测量以实现(shxin)一个日历或时钟超低功耗设计,支持电池供电系统提供秒、分、小时、日、月、年和星期可编程基准时钟分频器允
10、许调节RTC以适应不同的晶振频率三、芯片LM016L简介3.1液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。LM016L LCD相关参数主要参数显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm3.2引脚功能说明LM016LLCD采用标准的14脚(无背光)或16脚(带背光)接口,各引
11、脚接口说明如表3-1所示:表3-1 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源(dinyun)。第2脚:VDD接5V正电源(dinyun)。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地(jid)时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存
12、器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。LCD指令说明及时序LM016L液晶模块内部的控制器共有11条控制指令,如表3-2所示:表3-2 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000
13、01*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设
14、置。 I/D:光标移动(ydng)方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效(yuxio),低电平则无效。指令4:显示开关(kigun)控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符
15、。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址。 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。Proteus简介Proteus是目前最先进的单片机CPU和外围电路仿真工具之一。本文介绍了单片机仿真软件Proteus的特点,并结合实时时钟电路的实例详细介绍了使用Proteus进行电路设计与仿真的过程及方法,旨在为单片机爱好者和技术人员提供了一个很好的学习平台。ProteusISIS是英国Lacenterelec-tronics公司开发的电路分析与实物仿真软件,应用范围十分广泛,
16、涉及PCB制版、Spice电路仿真、单片机仿真以及对ARM7/LPC2000的仿真。Proteus主要由ARESISIS两大模块构成,ARES主要用于印刷电路板(PCB)的设计及其电路仿真,ISIS主要用于原理图的设计并仿真。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路。 4.1软件特点实现了单片机仿真和SPI CE电路仿真相结合。具有模拟电路仿真,数字电路仿真。单片机及其外围电路组成的系统的仿真。有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、805l系列。AVR系列、ARM系列
17、、PICl2系列、PICl6系列、PICl8系列、Z80系列、HCl1系列以及各种( zhn)外围芯片。3.提供软件调试功能。该软件仿真(fn zhn)系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,同时支持第三方的软件编译和调试环境,如Keil C5l uVision2等软件。4.具有强大(qingd)的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。本文介绍Proteus ISIS软件的工作环境和一些基本操作。4.2与Keil联调Keilc与Proteus连接调试1.假若Keil与Proteus均已正确安装在C:
18、Program Files的目录里; 2.安装Keil与Proteus的连接插件vdmagdi.exe;3.进入Keil Vision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的单片机CPU器件(如:NXP公司的LPC2124)。并为该项目加入Keil源程序。Keil简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(Vi
19、sion)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。5.1Keil开发(kif)基本常识该课设使用的是keil公司(n s)13年发布的Keil Keil Vision5系统(xtng)概述Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil的优势。下面详细介绍Keil C51开发系统各
20、部分功能和使用。Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,Vision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.obj)。目标文件可由LIB51 创建生成库文件,也可以与库文件一起经L51 连接定位生成绝对目标文件(.abs)。abs文件由OH51 转换成标准的hex 文件,以供调试器dScope51 或tScope51 使用进行源代码级调试,也可由仿真器使用直
21、接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。使用独立的Keil仿真器时,注意事项*仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。*仿真器上的复位按钮只复位仿真芯片,不复位目标系统。* 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。5.2软件优点Keil C51生成的目标代码效率非常之高,多数语句生成的汇编(hubin)代码很紧凑,容易理解。在开发大型软
22、件时更能体现高级语言的优势。与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势(yush),因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。时钟(shzhng)软件设计RTCIni() 初始化实时时钟软件流程图SendTimeRtc()读取RTC的时间的时分秒值显示循环输出DisText()显示函数WrDat()写数据输出在LCD 软件(run jin)详情DisText()函数(hnsh)显示文本(wnbn)函数输出在LCD上void DisText(uint8 addr,uint8 *p)WrOp(addr);while(*p !=0)WrDat(*(p+);Se
23、ndTimeRtc()函数读取RTC的时间值,并将读出的时分秒值由串口发送到上位机显示void SendTimeRtc(void) uint32 times; uint8 bak; times=CTIME0; /读取完整时钟寄存器0 bak=(times16)&0 x1F; /取得时的值 send_buf0=bak/10+0; send_buf1=bak%10+0; send_buf2=:; bak=(times8)&0 x3F; /取得分的值 send_buf3=bak/10+0; send_buf4=bak%10+0; send_buf5=:; bak=times&0 x3F; /取得秒的
24、值 send_buf6=bak/10+0; send_buf7=bak%10+0; send_buf8=n; DisText(0 xC0,send_buf);/ 第二行字符(z f)地址为:C0CF。 RTCIni()函数(hnsh) 初始化实时(sh sh)时钟。 void RTCIni(void) PREINT = Fpclk / 32768 - 1;/ 设置基准时钟分频器 PREFRAC = Fpclk - (Fpclk / 32768) * 32768; YEAR = 2004; / 初始化年 MONTH = 2; / 初始化月 DOM = 19; / 初始化日 HOUR = 8; M
25、IN = 30; SEC = 0; CIIR = 0 x01; / 设置秒值的增量产生一次中断 CCR = 0 x01; / 启动RTCmain() 函数读取实时时钟的值,并发送到 LCD 硬件设计电路效果图晶振电路(dinl)石英晶体连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率是石英晶体的并联谐振频率。晶体旁边(pngbin)的俩个电容接地,实际上就是电容三点式电路的分压电容,接地点就是分压点。以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反馈以保证电路持续振荡。LPC2124中自带内部晶振所以(suy)没有做外接。
26、 显示(xinsh)电路通过SendTimeRtc() 读取RTC的时间值,并将读出的时分秒值调用DisText()按数组调用WrDat()写数据函数(hnsh) 在LCD上显示时间及数据文本。心得体会这次(zh c)课程(kchng)设计,我学到了很多东西(dngx),首先是对加深了对Keil软件的运用,并对液晶屏动态显示方面的知识有了更多了解,在以前我只是对这些软件有个大概的了解,但通过这次的实践,使我对这些软件有了更深刻的了解,在以后的学习及工作中将会起到很大的作用,这次我将自己所学的知识运用到了实践当中,使得理论有了实践的指导。由于以前没有实际做过按键控制液晶屏动态显示这方面的内容,所
27、以在有些内容的准备上还有很多不足之处,通过在网络上的查找资料在LCD的使用指南中发现了解决办法。通过这次的课设深刻的认识到了芯片使用指南的重要作用,没有指南就没办法明确迅速的找到芯片的具体用法。这次课程设计使我受益匪浅,经过认真的学习,这为今后的论文写作打下了基础。附录(fl)/* File: main.c* 功能(gngnng): 运行RTC进行计时,并将所计时间值向LCD输出 */#include config.h#define rs (18)/ 0000 0001 0000 0000 = 0 x0100 #define rw (19)/ 0000 0010 0000 0000 = 0 x
28、0200 #define en (110)/ 0000 0100 0000 0000 = 0 x0400 #define busy (17)/ 0000 0000 1000 0000 = 0 x0080 #define rs_rw_en rs|rw|en / 0000 0111 0000 0000 = 0 x0700 P8P10 #define lcd_pins 0 x7FF / 将 P0.0P0.10 设置(shzh)为输出 0000 0111 1111 1111uint32 IO0DIR_bak; uint32 IO0SET_bak;uint32 IO0CLR_bak;uint8 MESSAGE=XIAN TIME:;#define LED1CON 116)&0 x1F; /取得时的值 send_buf0=bak/10+0; send_buf1=bak%10+0; send_buf2=:; bak=(times8)&0 x3F; /取得分的值 send_buf3=bak/10+0; send_buf4=bak%10+0; send_buf5=:; bak=times&0 x3F; /取得秒的值 send_buf6=bak/10+0; send_buf7=bak%10+0; send_b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度社保工伤保险合同范本(含企业员工福利政策)3篇
- 二零二五年度企业人才招聘与培养合同3篇
- 二零二五年度国际知识产权授权合同与实施标准3篇
- 2025年度数据安全防护与应急预案制定合同3篇
- 苏州校本课程设计
- 二零二五年度幼儿园教育设施建设与房地产开发合同3篇
- 海南职业技术学院《全科医学概论A》2023-2024学年第一学期期末试卷
- 旋转洗瓶机课程设计
- 海南卫生健康职业学院《智能交通系统》2023-2024学年第一学期期末试卷
- 海南外国语职业学院《食品工厂机械与设备A》2023-2024学年第一学期期末试卷
- 锅炉安装竣工报告
- 水土保持监理工作报告
- 时间管理学习通超星课后章节答案期末考试题库2023年
- 噪声监测服务投标方案
- 分子影像学概论课件
- 中国移动呼叫中心的精细化管理
- (全)2023电气工程师内部考试习题含答案(继保)
- 辣椒栽培技术
- 纪检监察知识题库-案例分析(20题)
- 《笨狼的故事》读书会读书分享PPT课件(带内容)
- 就这样当班主任读书分享
评论
0/150
提交评论