1、 课程设计报告课程设计报告 ( 20132014 年度第一学期) 名 称: 微机原理及应用 题 目: 8255/273 实现六位简单计算器 院 系: 控计学院 班 级: 创新自动化 1101 学 号: 学生姓名: 日期:2014 年 1 月 3 日 1 一、课程一、课程设计设计的目的与要求的目的与要求 目的目的:在微机原理及应用课程中分别学过了微机原理各个基本组成模块的原理和编程技术的基础上, 综合应用各部分知识,在实验室现有设备的情况下,设计一个具有一定功能的应用系统,达到 对各部分知识加深理解、融会贯通的目的,并进一步锻炼学生的动手能力和综合分析能力,同 时培养学生的团队精神。要求每个同学
2、独立完成自己分担的部分,整体方案可以组内同学讨论 确定。 要求要求:能完成六位十进制数的加、减、乘、除运算以及平方运算,操作过程与普通计算器相同,即先 输入一个操作数,然后按下“+”“”“”“”键,再输入下一个操作数,按等号键开 始运算并显示结果,若结果超过六位,则显示“E”。 要求尽量与真实计算器相似。 任务任务:我负责的是软件整体构建,和对加法,减法,乘法,除法,平方,清零以及带小数运算程序的 编写和调试。 二、设计正文二、设计正文 将可编程外围接口芯片8255A 与键盘和七段LED 连接,通过对8255A 编程及对键盘的操作实 现计算功能。键盘码包括数字09、运算符号“+” “-” “*
3、” “/”“=”和清零“CL”键。 首先利用程序不断扫描件键盘是否有输入,如果没有就一直扫描,如果有就停止扫描,完成输 入。通过键盘依次输入第一个运算数字、运算符号、第二个运算数字、“=”,在七段LED 灯上 显示运算结果,期间数字输入有误可按“C”键之后重新输入。 三、课程设计总结三、课程设计总结 1 本次课程设计选择了简易计算器设计的题目,不仅使我加深了对接口程序设计的认识,对可编程 并行 I/O 接口芯片 8255 的工作原理也有了进一步的了解,更重要的是培养了我们发现问题,解 决问题的能力。 2 根据微机原理课程所学相关知识及实验教程相关内容,在基于 proteus 平台,使用汇编语言
4、,以 8086 为核心的情况下,配合可编程并行接口器件 8255A,LED 数码管等器件实现可进行简单六 位数加减乘除法及清零扩展功能的十进制计算器。在课程设计实践中,我们不仅锻炼了实际动手 能力,培养了团队精神和严肃认真的工作态度,更增强了自己在实际的工程设计中查阅资料,撰 写设计报告表达设计思想和结果的能力。 3 在编程过程中,需要很多细节的注意和推敲。本来很简单的想法,到了实际的编程过程中,就发 现并不是那么简单。 如减法的每次循环过程中的借位, 时时刻刻都得注意, 稍不留神就可能出错。 编程不仅使我们对微机有了更深的理解,也教会了我们不要眼高手低,得脚踏实地,帮我们养成 了严谨的思想。
5、还有,本次课设中有各种新的知识不在课本中,就需要我们去查阅资料,上网搜 索之类。在这个过程中,不仅仅是反映在这几页报告中的知识,更多的也有如 protues 的作图, 仿真过程中的各类问题的解决方法;以及键盘的各类知识。有些东西,我们天天接触,但要是让 我们亲自做一下的时候,可能就会暴露出我们更多的问题。很感谢能有这样的机会去用已有的知 识做一些我们力所能及的事。 四、参考文献四、参考文献 1清华大学 TPC-2003A 实验指导书 ,2006 版 2 2 李继灿, 新编 16/32 位微型计算机原理及应用 ,清华大学出版社,第四版,2008 年 3 杨国田,高明明 微机原理实验指导书 校内待
6、出版,第一版,2002 年 3 月 附录附录 1 1 软件软件设计流程图设计流程图 2.2.硬件硬件设计设计概要概要: 加号? 减号? 乘号? 除号? 等号? 清零? 设加标志 设减标志 设乘标志 设除标志 进行加减乘除运算,保存 结果 清零显示屏 是否溢出? 结果为 E 放键? 有标志? 清零显示屏,清标志 保存数据 显示扫描 开始 8255 初始化 有无按键? 显示扫描 是数字键? N Y N N N N N Y Y Y Y Y Y Y Y YN N N N Y 小数点? 设标志 3 2.1. 2.1. LED LED 显示的功能及实现 七段 LED 显示器由七个发光段构成,每段均是一个LED 二极管。这七个发光段分别称为 a,b,c,d,e,f,g,通过控制不同段的点亮和熄灭,以显示所要得到的数字。七段LED 的输出功能也是通过 8255的并行输出实现。 LED LED 显示数字编码表 0C0H,0F9H