文档介绍:题目: 嵌入式系统课程作业
学号:
姓名:
专业:
课程名称:《嵌入式系统原理与应用》
课程老师:
二零一一年十二月
基于LPC2214的简易计算器设计
一设计任务及要求
:利用LPC2214来控制液晶显示器和矩阵式键盘,实现了简易的计算器功能。
:
电路包括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 、通用定时器、外部中断、PWM、实时时钟、LCD驱动器等等。通过外部存储器接口可以扩展64MB的异步静态存储器设备。
近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔的市场前景。在嵌入式系统中,数据和命令通过网络接口或串行口经过ARM程序处理后,或显示在LCD上,或传输到远端PC上。
本文通过周立功的LPC2214芯片完成的简易计算器,正式对嵌入式应用的学习和探索。
三硬件设计
LPC2214是一款基于16/32位ARM7TDMI-S,并支持实时仿真和跟踪的CPU,并带有128/256 k字节(kB)嵌入的高速Flash存储器。128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。 LPC2214采用144脚封装、极低的功耗、多个32位定时器、8路10位ADC、PWM输出以及多达9个的外部中断,这款微控制器特别适合工业控制、医疗系统、收款机控制等应用领域。其可用GPIO范围为76脚(外部存储区)到112脚(单片).由于内置了宽范围的串行通信接口,它们也非常适合于通信网关、协议转换器、嵌入式软件调制解调器以及其它各种类型的应用。
管脚图:
2. 完整电路仿真图如下:
键盘的设计可以有多种方案,相比之下,矩阵式键盘所需要的硬件资源少,控制灵活,操作简单。因此,本设计中采用矩阵式键盘来控制。
键盘工作原理:
特别说明:IO0口悬空时为低电平,故用高电平扫描。
(1)判断键盘中有无键按下将全部行线PO0-PO3置高电平,然后检测列的
状态。只要有一列的电平为高,则表示键盘中有键被按下,而且闭合的键位于高电平线与4根行线相交叉的4个按键之中。若所有列线均为低电平,则键盘中无键按下。
(2)判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键
的过程。其方法是:依次将行线置为高电平,即在置某根行线为高电平时,其它线为低电平。在确定某根行线位置为高电平后,再逐行检测各列线的电平状态。若某列为高,则该列线与置为高电平的行线交叉处的按键就是闭合的按键。
选择理由:1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如‘A’。总体来说,操作简单,价格便宜。
四软件设计
、显示等驱动函数:
*键盘扫描程序:uint8 KEYSCAN(void)
*lcd初始化函数:lcd_init()
*检查总线是否忙:void ChkBusy()
*写命令函数:void LCD_WriteControl (uint8 dat)
*写数据函数:void WrDat(uint8