1、计算机硬件技术实践报告计算机硬件技术实践报告 题目题目 简易计算器的设计简易计算器的设计 姓名姓名 专业专业 自动化(电站方向)自动化(电站方向) 班级班级 学号学号 一、一、设计设计题目及题目及目的目的 本次课程设计的实验目的是:通过该实验掌握较复杂程序的设计;能独立完成用程序对 8086、8255A 控制键盘和 LED 显示的控制,完成计算器加减法的应用;独立编写程序,明白 和掌握程序的原理和实现方式;学习和掌握计算机中常用接口电路的应用和设计技术,充 分认识理论知识对应用技术的指导性作用;进一步加强理论知识与应用相结合的实践和锻 炼,为以后的设计提供经验。这次设计实践,加深了我对专业知识
2、和理论知识学习的认识 和理解,使我的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全 面提高。我们的具体任务是用 8086 设计一个能实现 09 整数加减乘除法的运算器,并用 2 位 LED 数码显示,键盘包括 0-9,+ ,-,=,NO/C 共 16 个按键。 二、二、小组成员分工及成果小组成员分工及成果 在实验课程要求下,我们选择基于 8086CPU 的模拟计算器设计。要完成设计首先需要 构建简单的微型计算机应用系统,其次是确定组成各部件的芯片,然后画原理图,根据相 应的原理以及实现过程,编写出相应的汇编代码。再根据原理图连接硬件电路,电路连接 完成后进行调试。设计过程中我
3、们用到了 8086CPU、可编程并行输入/输出芯片 8255A、 74HC138、74HC373、矩阵式键盘、LED 数码管。我们的模拟计算器能实现 2 位十进制数以 内的加减乘除法运算。 首先,本组的三个成员一起讨论研究简易计算器设计的主要方案。 粗略设计程序流程图以确定简易计算器设计的大概框架。 明确目的后各自查询资料了解设计原理、逐步清晰设计思路。 以下为大体分工:主要负责:1、设计主要程序,编写; 2、查找资料验证修改; 主要负责:1、选择需要用的各个芯片; 2、设计硬件原理图; 主要负责:1、各个芯片功能的资料查找; 2、设计程序流程图 三、三、设计方案设计方案思路思路 用 8086
4、 设计一个能实现 09 整数加减乘除法的运算器,并用 2 位 LED 数码显示,键盘 包括 0-9,+ ,-,=,NO/C 共 16 个按键。 1、通过小键盘做加减乘除运算。 2、数码管显示器作输入数据和结果数据的显示。 3、数字用小键盘 09,“C、= ”做功能键 4、运算顺序:a.首先输入一个原始数据(在 09 之间,否则无反应)显示器跟随显示 b.按“+、”显示器内容不变 c.再次输入一个数据(在 09 之间,否则无反应)显示器跟随显示 d.按“=”显示器显示结果数据 e.按 C 显示“00”数据清 0,并重新开始运算 f.若输入一个数据后直接按“=”则数据不变 设计思路:设计思路: 将
5、整个程序划分为键盘扫描部分,显示部分,运算程序部分。首先利用程序不断扫描键 盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序 核对输入键的数值,通过调用子程序实现运算。运算完成后将运算的结果储存并显示到 LED 显示器上。 软件流程大致如下:开始,然后是系统的初始化,进行键盘扫描,对扫描的键值进行判 断(分为数字键和功能键),若为数字键,则执行数字键处理程序,即显示数字并将数值 存储;若为功能键,则先判断是否为清屏,如是清屏,则执行清屏子程序,如是加减乘除 运算键则调用相应程序运算,如是等号键,则先判断上个符号位,调用相对应的运算子程 序进行运算,如此就可以得到需
6、要的结果了。 四、四、硬件原理图(包括芯片的选型介绍)硬件原理图(包括芯片的选型介绍) 硬件电路图:(见图 1) 图 1 原理图 1 1、键盘输入模块、键盘输入模块 键盘是常用信息输入元件,其实键盘也是由一个个按钮组成,如果是独立按钮的话必 须要对应一个 I/O 口对它进行检测,而键盘往往只需要键盘按钮数一半的 I/O 口对它进行 检测,也许对一个比较简单的系统 I/O 口数一般不是问题,但对于一个大型、复杂的系统 来说 I/O 资源就显得非常珍贵了,尽量减少 I/O 使用是非常利于降低成本,另外一方面键 盘比用独立按键要美观,同时硬件上的节省必然导致软件上编程的复杂。我们设计时使用 的是 4*4 式键盘,如图 2 所示。 图