logo资料库

简易计算器课程设计.doc

第1页 / 共19页
第2页 / 共19页
第3页 / 共19页
第4页 / 共19页
第5页 / 共19页
第6页 / 共19页
第7页 / 共19页
第8页 / 共19页
资料共19页,剩余部分请下载后查看
目录 1、 封面—————————————————————P1 2、 目录—————————————————————P2 3、 前言—————————————————————P3 4、 关键字————————————————————P3 5、 原理与总体方案————————————————P3 6、 硬件设计———————————————————P6 7、 调试—————————————————————P10 8、 测试与分析——————————————————P11 9、 总结—————————————————————P13 1
10、 附件—————————————————————P14 前言 近几年,随着大规模集成电路的发展,各种便携式嵌入式设备,具有十分广阔 的市场前景。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通 常,嵌入式系统是一个控制程序存储在 ROM 中的嵌入式处理器控制板。事实上,所 有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统, 有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是是由单个程序实现整个 控制逻辑。在嵌入式系统中,数据和命令通过网络接口或串行口经过 ARM 程序处理 后,或显示在 LCD 上,或传输到远端 PC 上。 本文通过周立功的 LPC2106 芯片完成的简易计算器,正是对嵌入式应用的学习 和探索。 一、摘要: 计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路 芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领 域得到了广泛地应用。本设计就是先通过 C 语言进行相应程序的编写然后在 ADS 中 进行运行最后导入 PROTUES 进行仿真。最后利用 ARM 中的 LPC2106 芯片来控制液晶 显示器和 4X4 矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。 关键字:中断,扫描,仿真,计算 二、原理与总体方案: 主程序在初始化后调用键盘程序,再判断返回的值。若为数字 0—9,则 根据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键, 根据代号执行不同功能,并将按键次数清零。程序中键盘部分使用行列式扫描 原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其 键值,并通过查表转换为数字 0—9 和功能键与清零键的代号。最后将计算结果 拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返 回主程序的最开始。 - 2 -
电路设计与原理:通过 LPC2106 芯片进行相应的设置来控制 LCD 显示器。 而通过对键盘上的值进行扫描,把相应的键值通过 MM74C922 芯片进行运算从而 让 ARM 芯片接收。 1.系统整体流程图: 开始 系统初始化 调用显示子程序 按键扫描 有按键 Y N 参数设定子程序 检查总线是否忙 写函数 写数据函数 显示文本函数 Lcd 显示函数 调用采样子程序 数据处理 2. System 初始化函数 Lcd 初始化函数 EINT2 中断服务程序 键 值 转 化 为 键 盘 上 按键值函数 算术运算函数 3.寄存器初始化: 引脚功能选择初始化 - 3 -
向量中断初始化 外部中断初始化 2)仿真设计 仿真电路图: 仿真图形: 1.计算加法 2.计算减法(结果为负数) 3.计算减法(结果为正数) 4.计算乘法 - 4 -
5.计算除法 (除法只能进行整除,无小数) 注:本设计不能进行连续运算,只能进行当次运算,且只能进行单行显示。 进行除法时会自动取整,无小数。显示器上不会显示加减乘除等运算符号,只有操 作数和操作结果。 三、硬件设计: 3.1 元件清单: 器件 LPC2106 LED KEYPAD 电源 电源地 电线 件数 1 个 1 个 1 个 若干 若干 若干 3.2 键盘接口电路: 注:无实物,以电路设计图为依准。 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式, 在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下 都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线, 四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样 键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 - 5 -
矩阵键盘的工作原理: 计算器的键盘布局如图2.1所示:一般有16个键组成,在单片机中正好可以用一 个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图2.1矩阵键盘布局图 电路中采用4*4键盘作为输入电路模块的话,电路连线会比较简单,而且这种行 列式键盘结构能有效地提高单片机系统中I/O 口的利用率。但是在硬件电路设计的 过程中,实验室没有提供矩阵键盘,所以我们将4*4的矩阵键盘换成了16个独立按键。 采用独立按键的方式的话,会占用大量的I/O 口资源,但是在这种情况下,编程会 很简单。 矩阵键盘内部电路图如图2.2所示。 3.3 显示模块: 图2.2 矩阵键盘内部电路图 本设计采用 LCD1 液晶显示屏来显示输出数据。通过 D0-D7 引脚向 LCD1 写指令 字或写数据以使 LCD1 实现不同的功能或显示相应数据。LCD1 管脚图如图 2.3 所示。 - 6 -
图 2.3 LCD1 管脚图 3.4 各模块的特性与作用: 3.4.1LPC2106 的特性及引脚功能:  LPC2106 是基于一个支持实时仿真和跟踪的 32 位 ARM CPU 的微处理器,并带 有 256kB 嵌入的高速 Flash 存储器。128 位宽度的存储器接口和独特的加速结 构使 32 位代码能够最大时钟速率下运行,并具有广泛应用。含向量中断控制器, 多个串行接口,两个三十二位定时器,片内晶振的操作频率范围:10MHZ-25MHZ, 两个低功耗模式:空闲和掉电. CPU 操作电压范围:1.65V-1.95V 图 2.4 LPC2106 管脚图 - 7 -
管脚说明: V3、V18:供电电压 Vss、DBGSEL:接地 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 P0.0-P0.14 作为 GPIO 接口,P0.15 作为 EINT2 接口。 3.4.2 LCD 的特性:  LCD 显示屏可以采用字符显示,当使用字符显示方式时,可以直接用外码 作为输入数据,由显示屏自动给出显示字模数据,而无需由微处理器提供字模。 3.4.3 数字式键盘的特性:  数字式键盘的实质仍是行列式键盘,4 根行线和 4 根列线通过下拉电阻接 地,在其表面贴有标示对应按键的膜,使得易于观察和操作,更加贴近使用者 的需求。 3.4.4 MM74C922 的特性及其引脚功能: MM74C922 具有功耗低,电压为 3-5V,三态门输出,与 LPTTL 兼容,输出锁 存按下最后的键,用一个电容器就可以消除键盘抖动,两键轮回,行具有上拉功能, 具有芯片内或芯片外时钟,最大开关电阻为管脚说明: A-D 为行键扫描电平输出端,1-4 为列键输入读取端; OSC 为振荡器的外接引线端,可用外部的输入脉冲或电容器; OE 为数据输出端,低电平有效;DAV 为数据输出有效,高电平有效; VCC 为电源端,接 3-5V;GND 为接地端。  本设计中选用 LPC2106 的 P0.0~P0.10 与 LCD 显示屏相连,它们所输出信号 控制显示屏上的显示,其中 P0.0~P0.7 分别接显示屏的 D0~D7,P0.8~P0.10 分别接显示屏的 RS、RW、E 接口;选用 LPC2106 的 P0.11~P0.14 连续 4 个 IO 口与芯片 MM74C922 和计算器键盘相连,可通过反转法检测到按下按键的键 码,再通过查键盘对应的字符编码使 LCD 显示,其中 A~D 依次接键盘的 4 根 行线,1~4 依次接键盘的 4 根列线。 管脚说明: A-D 为行键扫描电平输出端,1-4 为列键输入读取端; OSC 为振荡器的外接引线端,可用外部的输入脉冲或电容器; - 8 -
分享到:
收藏