简易计算器系统设计

  • 格式:doc
  • 大小:376.50 KB
  • 文档页数:18

下载文档原格式

  / 18
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(此文档为word格式,下载后您可任意编辑修改!) 湖南文理学院芙蓉学院嵌入式系统课程设计报告

题目简易计算器系统设计

学生姓名刘胜凯

专业班级计算机科学与技术

指导老师娄小平

组员李阳、杨帆、曾家俊

目录

一、摘要 (3)

二、原理与总体方案 (3)

三、硬件设计 (6)

四、调试 (10)

五、测试与分析 (12)

六、心得体会 (14)

七、参考文献 (15)

八、附录 (15)

一、摘要

计算器一般是指“电子计算器”,是能进行数学运算的手持机器,拥有集成电路芯片。对于嵌入式系统,以其占用资源少、专用性强,在汽车电子、航空和工控领域得到了广泛地应用。本设计就是先通过C语言进行相应程序的编写然后在ADS中进行运行最后导入PROTUES进行仿真。最后利用ARM中的LPC2106芯片来控制液晶显示器和4X4矩阵式键盘,从而实现简单的加、减、乘、除等四则运算功能。

二、原理与总体方案

主程序在初始化后调用键盘程序,再判断返回的值。若为数字0—9,则根

据按键的次数进行保存和显示处理。若为功能键,则先判断上次的功能键,根据代号执行不同功能,并将按键次数清零。

程序中键盘部分使用行列式扫描原理,若无键按下则调用动态显示程序,并继续检测键盘;若有键按下则得其键值,并通过查表转换为数字0—9和功能键与清零键的代号。最后将计算结果拆分成个、十、百位,再返回主程序继续检测键盘并显示;若为清零键,则返回主程序的最开始。

电路设计与原理:通过LPC2106芯片进行相应的设置来控制LCD显示器。而通过对键盘上的值进行扫描,把相应的键值通过MM74C922芯片进行运算从而让ARM芯片接收。

2.1 系统整体流程图

2.2 程序运行流程图

2.3 仿真电路图设计

2.4 仿真图形

2.4.1 计算加法

2.4.2 计算减法(结果为负数) 2.4.3 计算减法(结果为正数)2.4.4 计算乘法

2.4.5 计算除法

注:本设计不能进行连续运算,只能进行当次运算,且只能进行单行显示。进行除法时会自动取整,无小数。显示器上不会显示加减乘除等运算符号,只有操作数和操作结果。

三、硬件设计

3.1元件清单

计算器输入数字和其

他功能按键要用到很多按

键,如果采用独立按键的

方式,在这种情况下,编

程会很简单,但是会占用

大量的I/O 口资源,因此

在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。

矩阵键盘的工作原理:

计算器的键盘布局如图3-1所示:一般有16个键组成,在单片机中正好可以

用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。

图3-1 矩阵键盘布局图

电路中采用4*4键盘作为输入电路模块的话,电路连线会比较简单,而且这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。但是在硬件电路设计的过程中,实验室没有提供矩阵键盘,所以我们将4*4的矩阵键盘换成了16个独立按键。采用独立按键的方式的话,会占用大量的I/O 口资源,但是在这种情况下,编程会很简单。

矩阵键盘内部电路图如图3-2所示。

图3-2 矩阵键盘内部电路图

3.3显示模块:

本设计采用LCD1液晶显示屏来显示输出数据。通过D0-D7引脚向LCD1写指令字或写数据以使LCD1实现不同的功能或显示相应数据。LCD1管脚图如图3-3所示。

图3-3 LCD1管脚图

3.4各模块的特性与作用

3.4.1 LPC2106的特性及引脚功能

LPC2106 是基于一个支持实时仿真和跟踪的32 位ARM CPU 的微处理器,并带有256kB 嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32 位代码能够最大时钟速率下运行,并具有广泛应用。含向量中断控制器,多个串行接口,两个三十二位定时器,片内晶振的操作频率范围:10MHZ-25MHZ,两个低功耗模式:空闲和掉电.

CPU操作电压范围:1.65V-1.95V

图3-4 LPC2106管脚图

管脚说明:

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 根列线。

管脚说明: