嵌入式系统课程作业-基于LPC2214的简易计算器设计参考.docVIP

嵌入式系统课程作业-基于LPC2214的简易计算器设计参考.doc

  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文档。上传文档
查看更多
嵌入式系统课程作业-基于LPC2214的简易计算器设计参考

题目: 嵌入式系统课程作业 学 号: 姓 名: 专 业: 课程名称:《嵌入式系统原理与应用》 课程老师: 二零一一年十二月 基于LPC2214的简易计算器设计 一 设计任务及要求 1.设计任务:利用LPC2214来控制液晶显示器和矩阵式键盘,实现了简易的计算器功能。 2.设计要求: 电路包括4*6键盘,能够通过按键编辑数据。 显示部件使用LCD,显示内容不少于4个字符。 能够完成4位以上十进制整数的加、减、乘、除功能。 能完成小数的加、减、乘、除功能。 能够连续进行运算。 完整计算式选择。 二 引言 本设计利用LPC2214来控制液晶显示器和矩阵式键盘,实现了简易的计算器功能。通过键盘输入需要计算的计算式子,该式子会显示在液晶的第一行,当键入等于号后,计算结果会显示在液晶的第二行。本设计中液晶选用1602字符型液晶显示器,键盘采用4*6矩阵式键盘。 LPC2200系列MCU基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-S CPU,处理器时钟高达60M/75MHz,片内集成8KB、16KB、32KB、64KB、128KB、256KB和512KB的高速Flash存储器,128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。此外,片内集成大量外设:外部存储器控制器(EMC)、UART接口、CAN-bus接口、SPI接口、SSP接口、I2C接口、ADC、DAC、USB 2.0接口、通用定时器、外部中断、PWM、实时时钟、LCD驱动器等等。通过外部存储器接口可以扩展64MB的异步静态存储器设备。 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。 2. 完整电路仿真图如下: 2.1键盘设计 键盘的设计可以有多种方案,相比之下,矩阵式键盘所需要的硬件资源少,控制灵活,操作简单。因此,本设计中采用矩阵式键盘来控制。 键盘工作原理: 特别说明:IO0口悬空时为低电平,故用高电平扫描。 (1)判断键盘中有无键按下 将全部行线-PO3置电平,然后检测列的状态。只要有一列的电平为,则表示键盘中有键被按下,而且闭合的键位于电平线与4根行线相交叉的4个按键之中。若所有列线均为电平,则键盘中无键按下。 判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将行线置为电平,即在置某根行线为电平时,其它线为电平。在确定某根行线位置为电平后,再逐行检测各列线的电平状态。若某列为,则该列线与置为电平的行线交叉处的按键就是闭合的按键。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A’。uint8 KEYSCAN(void) *lcd初始化函数:lcd_init() *检查总线是否忙:void ChkBusy() *写命令函数:void LCD_WriteControl (uint8 dat) *写数据函数:void WrDat(uint8 dat) *显示文本函数:DisText() (驱动函数见附录) 4.2整体设计流程图如下 参考程序见附录。 五 总结与体会: 通过本次设计,我对ARM的C语言编程方法有了很深刻的理解。通过自己亲自编程实践,我学会了控制1602字符型液晶及矩阵式键盘的方法。这次设计是对我们在课堂上所学知识的一次检验,虽然在理论课上学习了很多关于单片机的知识,但都没有经过具体的实践,很多东西都不能得到验证。这次设计使我体会到了实践的乐趣(虽然只是仿真)。 由于是夸专业生,在这次设计碰到了不少困难;但都通过查阅相关资料,请教老师和同学,以及自己的努力把问题解决掉了。在这次的设计中,让我们发自内心的明白一些道理,我将好好地记录下这次设计的点点滴滴,我想,这不单是我的经历,更是我的一笔财富。 千里之行,始于足下。这次学习,让我对ARM有了大概的了解,可以说,坐而言不如立而行,对于这些编程设计还是应该自己动手实际操作才会有深刻理解。 六 参考文献: [1]. 《ARM嵌

文档评论(0)

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

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

1亿VIP精品文档

相关文档