微机原理课程设计(用8255A实现4位十进制计算器)

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

---------------------------------------------------------------最新资料推荐------------------------------------------------------

微机原理课程设计(用8255A实现4位十进制计算

器)

课程设计报告( 2012-- 2013 年度第 1 学期)名题院班学称:微型计算机原理及应用目:用 8255A 实现四位十进制数简单计算器系:控制与计算机工程学院级:自动化 1003 班号:1101190302 昌学生姓名:范指导教师:王震宇设计周数:一周成绩:同组人:贾旭郭欢刘玉婷日期:2013 年 1 月 5 日

1/ 28

课课程设计报告一、课程设计的目的与要求课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。

它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。

通过课程设计,要求学生熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤,使学生得到微机开发应用方面的初步训练。

让学生独立或集体讨论设计题目的总体设计方案、编程、软件硬件调试、编写设计报告等问题,真正做到理论联系实际,提高动手能力和分析问题、解决问题的能力,实现由学习知识到应用知识的初步过渡。

通过本次课程设计使学生熟练掌握微机系统与接口扩展电路的设计方法,熟练应用 8086 汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。

我组根据微机原理课程所学相关知识及实验教程相关内容,在基于 proteus 平台,使用汇编语言,以 8086 为核心的情况下,配合可编程并行接口器件 8255A,LED 数码管等器件实现可进行简单四位数加减乘除法功能的十进制计算器。

在课程设计实践中,我们不仅锻炼了实际动手能力,培养了团队精神和严肃认真的工作态度,更增强了自己在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。

---------------------------------------------------------------最新资料推荐------------------------------------------------------

二、课程设计进度及任务分工课设进度:1.选择课程设计题目,查阅相关资料。

(全体组员) 2.需求分析及总体设计。

(全体组员) 3.软硬件设计。

(范昌负责主程序的框架与整体调试、LED 数码显示部分及硬件构架,贾旭负责键盘管理部分,郭欢、刘玉婷负责算法及相关程序)4.仿真调试。

(范昌、贾旭) 5.总结及撰写设计报告。

(郭欢、刘玉婷) 6.个人总结(全体组员)三、设计正文1.需求分析 ? ? ? ? ? ? 操控核心微处理器 8086 芯片可编程并行接口芯片 8255A 可编程定时/计数器 8253A 对输入扫描的矩阵键盘显示模块 LED 数码管辅助器件如 74LS138 译码器、74LS373 等2.总体设计 ? ? 确定键盘是否有输入(使用程序不断进行扫描)若有输入就调用子程序进行判断,是数值则进行存储并同时进行显示,是运算符号等就调用1

3/ 28

课课程设计报告相应的子程序进行操作 ? ? 继续扫描键盘是否有输入,从而实现 4 位十进制数以内的加减乘除法或者扩展功能运算运算完成后将运算的结果储存并显示到 LED 显示器上3.硬件设计见附录。

4.软件设计见附录。

四、课程设计总结或结论(1)个人总结本次课程设计我们做的课题是用 8255A 实现 4 位十进制数简易计算器,四人一组,我负责主程序的框架与整体调试、LED 数码显示部分及硬件构架。

对于主程序的框架,是整个计算器的核心,通过与其他组员的商量我们最终确定了我们的主要算法:通过一个 4*4 键盘,输入数据,实现加减乘除操作,将输入的数据和运算符分别存储,接收到“=”时进行运算,并将结果输出。

看起来简单的算法,由于涉及到十进制和十六进制的转换,其中就需要很多中间的转换程序。

经过反复修改与查阅资料,我们的程序最终能够完成部分预期功能。

我还负责 LED 数码管显示部分的程序,四位七段数码管的显示,原理看起来简单,但是实际操作时却有各种各样的毛病,按照原理写好程序,往往不能达到预期效果,数码管又是不显示,有时会显示乱码,有时会闪烁,所有这些,都要一步一步调试,加入合适的延时程序是关键,延时过长、过短都不好。

显示乱码是程序方面出了问题,经过一次次调试,终于得到了

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 稳定的显示,我对数码管的应用也更熟练了。

由于我之前有接触过 proteus 仿真软件,所以我负责硬件的搭建,熟悉使用 proteus 软件对我们专业来说是一项基本技能,通过一次次摸索与百度,我对这个软件的使用也越来越熟悉,学会了怎么连总线,怎么仿真,怎么快速连线,以及常用元件的搜索。

其中最让我满足的是键盘的设计,如果用 16 个按钮排列当然可以实现我们的要求,但是每次按按钮有很不方便,所以我在网上查询资料,学会了用 proteus 自身的模型制作自己的元件,上图左边是普通矩阵键盘,右图是我利用 proteus 自身模型制作的的键盘,感觉很满意。

整个硬件仿真的搭建,由于对软件的不熟2

5/ 28

课课程设计报告悉,本身设计的问题,花了我很长时间,而且重复连接了很多次,最后我们成功仿真出了我们的计算器。

通过本次课程设计,就我本身来说我学会了很多东西,无论是软件上汇编语言程序的编写与调试,还是硬件的搭建技巧与相关软件的应用的能力都得到了很大提高,同时也锻炼了我的自我学习能力与交流合作能力,相关软件的学习使用,相关芯片与元件的使用与选择能力都在一定程度上有了很大进步。

同时,软硬件的结合,也体现了我们自动化专业的特点。

最后,有一点遗憾的就是做好了四位的简易计算器,我们想进一步扩展做成八位的计算器,但是难度有所加大,不是想象中的那么简单,数码管显示部分就花了很大精力去调试。

最后由于时间关系没有完成 8 位计算器的制作。

(2)团队总结本次课程设计,我们是四人一组,团队合作的要求就比较高。

因为选题的关系,需要更多的人合作,所以决定四人组队,各自发挥特长。

在设计过程中,我们配合得很好,初期的查阅资料共享,极大地体现了我们人数上的优势。

对于整个设计的交流更让我们在大方向上走上了正确的道路,少走了很多弯路。

我们的课题看起来简单,其实不然,仔细分析,涉及的知识面很广,很考验我们的基本功和自学能力。

相关文档
最新文档