LPC在嵌入式系统中的应用技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LPC在嵌入式系统中的应用技术

LPC2132在嵌入式系统中的应用技术 类别:电子综合 阅读:1878 左小五   摘要 ARM7微处理器LPC2132具有高的集成度和高性价比,很适合于嵌入式系统设计,本文设计了LPC2132与LCM的硬件接口,在软件接口中,提出用汇编语言文件存储汉字点阵信息,而在C语言文件中调用汉字点阵信息的混合编程方法,提高了资源利用效率,针对常见液晶显示刷新速度慢的现象,提出了提高液晶显示刷新速度的方法。提出了用时钟寄存器保存系统参数,从而使LPC2132具有数据掉电保存功能,并介绍了I2C总线应用技术等。 关键词 嵌入式系统;LPC2132; ARM ; LCM显示 1. 引言   SoC在医疗器械中应用前景广阔[1],LPC2131/2132/2138是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-STM CPU的微控制器,带有32kB/64kB/512 kB的嵌入的高速Flash存储器和8/16/32kB片内静态RAM。多达47个5V的通用I/O口,1个(LPC2132/2132)或2个(LPC2138)8路10位A/D转换器共包含16个模拟输入,1个10位D/A转换器,可提供不同的模拟输出(LPC2132/2138)。多个串行接口,包括2个16C550工业标准UART、2个高速I2C接口(400kbit/s)、SPITM 和SSP。内部集成实时时钟等,资源比较丰富,使它们特别适用于工业控制和医疗等嵌入式系统。本文以LPC2132为例,介绍LPC2132的设计经验与设计技术。 2. 显示设计   显示设计是所有嵌入式系统的重要组成部分之一。显示器件包括LED、字符LCM、图形LCM、VFD等,其中图形LCM(如128x64、192x64等点阵)可显示ASCII字符、汉字和图形,且性价比较高,在嵌入式系统中的应用日趋广泛,虽在MCS-51系列中的设计已非常成熟。但由于ARM与MCS-51有许多不同之处,其设计方法当然也有差别,下面以LPC2132和192x64点阵LCM为例进行说明。 2.1 与液晶显示模块(LCM)的硬件接口设计   1) 电平匹配:LPC2132系列操作电压范围:3.0~3.6 V,选择3V的LCM当然没有问题,但市场上3V的LCM价格常常比5V贵,而LPC2132的I/O口可承受5V的最大电压,所以可采用5V的LCM,但需在LCM与LPC2132相连的I/O口上接5V上拉电阻。   2) I/O连接:LPC2132没有外部总线,所有I/O口都需要进行配置,由内部寄存器决定是输入还是输出。其中P0口共有31个I/O口,P1口有16个I/O口,而且I/O口的编号不连续(如P0.28与P1.25相邻),由于编程时对I/O口采用位操作,所以具体连接时,可根据硬件电路板布线需求进行连接。为提高显示刷新速度,需检测LCM内部的忙标志,每次向LCM写数据前,先读取LCM的状态,当状态为非忙时才能写入显示数据,这样,要注意动态设置与LCM数据线相连的LPC2132的I/O口方向,而且8个数据位要用IOSET和IOCLR逐一控制。   3) 液晶背光控制:由于液晶的背光电流需要100多毫安,电压一般在5V左右,而LPC2132的I/O口驱动能力较弱,LPC2132能可靠控制背光LED的亮与灭,且对系统无干扰。 2.2 液晶显示的软件设计   LPC2132可采用CodeWarrior进行软件开发,由于用C语言进行编程,开发速度比较快。在编写LCM程序时,先编写硬件驱动程序,包括LCM初始化函数,写LCM数据函数,写LCM命令函数,读LCM数据函数,读LCM命令函数,在这些函数的基础上,编写显示16x16点阵汉字的函数,设置显示位置函数等,鉴于篇幅限制,就不在此赘述,下面重点向读者介绍如何显示汉字的技巧和提高液晶显示刷新速度。   在显示汉字信息时,需要先用工具软件提取待显示汉字的点阵,并将这些点阵信息保存在程序中,如果单纯采用C语言,则只能定义数组变量,然后在显示时调用所定义的数组变量。但采用这种方法有以下缺点。1)采用数组变量定义字符点阵,将浪费宝贵的RAM资源。2)当显示内容丰富,需定义的大量的点阵数据时,造成RAM容量不足。如果采用汇编语言文件与C语言文件混合编程,将字符点阵信息以程序代码的形式保存,不占用RAM,则可克服上述问题。下面以显示汉字“上海”(16x16点阵)为例,介绍具体方法: 1) 点阵信息的定义。   建立一个以s为扩展名的汇编语言文件,文件内容具体如下。 EXPORT shang16x16 EXPORT hai16x16 AREA TTTT,CODE,READONLY ENTRY; shang16x16 DCB 0,0,0,0,0,0,255,32 DCB

文档评论(0)

xinghua3aa + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档