




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
简易计算机课程设计一、 设计目的本次课程设计的实验目的是通过该实验掌握较复杂程序的设计。能够独立完成用程序对8255控制键盘和LED显示的控制,完成计算器加减法的应用。独立编写程序,明白和掌握程序的原理和实现方式。为以后的设计提供经验。学习和掌握计算机中常用接口电路的应用和设计技术,充分认识理论知识对应用技术的指导性作用,进一步加强理论知识与应用相结合的实践和锻炼。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。微机原理课程设计的意义是为了使学生加深对所学的微机原理知识的理解,培养学生的专业素质,提高其利用微机原理知识处理问题的能力,为今后专业课程的学习、毕业设计和工作打下良好的基础。使学生能比较扎实地掌握微机原理的基础知识和基本理论,掌握控制系统及有关设备的分析、开发等基本技能,受到必要工程训练、初步的科学研究方法训练和实践锻练,增强分析问题和解决问题的能力,了解微机原理和接口技术的新发展。 二、 设计内容 设计一计算器,要求至少能完成2位数的加减运算。独立完成用程序对8255控制键盘和LED显示的控制,完成计算器加减法的应用。三、 设计要求 在课程设计时,1人1题,同批次同学中选择同一题的人数不超过3人。在教师指导下,可以相互讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同学应积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。学生在设计中可以引用所需的参考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。指导教师要引导学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。四、设计原理与硬件电路设计的思路是:首先利用程序不断扫描键盘是不是有输入,如果没有就一直扫描,如果有就停止扫描,完成输入,利用汇编的程序核对输入键的数值,通过调用子程序完成数据的储存或者是加减的运算。运算完成后将运算的结果储存并显示到LED显示器上。各部分硬件功能:可编程并行通信接口芯片8255A8255A内部结构1. 并行输入/输出端口A,B,C 8255A内部包括三个8位的输入输出端口,分别是端口A、端口B、端口C,相应信号线是PA7PA0、PB7PB0、PC7PC0。端口都是8位,都可以作为输入或输出。通常将端口A和端口B定义为输入/输出的数据端口,而端口C则既可以作数据端口,又可以作为端口A和端口B的状态和控制信息的传送端口。2.A组和B组控制部件端口A和端口C的高4位(PC7PC4)构成A组;由A组控制部件实现控制功能。 端口B和端口C的低4位(PC3PC0)构成B组;由B组控制部件实现控制功能。 A组和B组利用各自的控制单元来接收读写控制部件的命令和CPU通过数据总线(D0D7)送来的控制字,并根据他们来定义各个端口的操作方式。3. 数据总线缓冲存储器 三态双向8位缓冲器,是8255A与8086CPU之间的数据接口。与I/O操作有关的数据、控制字和状态信息都是通过该缓冲器进行传送。4. 读/写控制部件 8255A完成读/写控制功能的部件。能接收CPU的控制命令,并根据控制命令向各个功能部件发出操作指令。CS 片选信号:由CPU输入,有效时表示该8255A被选中。 RD, WR 读、写控制信号:由CPU输入。RD有效表示CPU读8255A,WR有效表示CPU写8255A。RESET 复位信号:由CPU输入。RESET信号有效,清除8255A中所有控制字寄存器内容,并将各个端口置成输入方式。定义工作方式控制字:工作方式0:8255A中各端口的基本输入/输出方式。键盘输入模块键盘是常用信息输入元件,其实键盘也是由一个个按钮组成,如果是独立按钮的话必须要需要一个I/O口对它进行检测,而键盘往往这需要键盘按钮数一半的I/O口数对它进行检测,也许对一个比较简单的系统I/O口数一般不是问题,但对于一个大型、复杂的系统来说I/O资源就显得非常珍贵了,尽量减少I/O使用是非常利于降低成本,另外一方面键盘比用独立按键要美观,这也是键盘能够长期得到人们青睐的原因,可是硬件上的节省必然导致软件上编程的复杂,那就来看看键盘到底使软件编程有多复杂?下图是一个3*3键盘的结构图,因为3*4键盘有7个管脚,于是将键盘接8255A的PC口,至于为什么选择PC是有原因的,进行键盘扫描一般要求有一部分的I/O口的工作方式是输入,另一部分I/O是输出,具体到3*3键盘则要求3个I/O口输入,另外3个输出,这一点PC口刚好符合,而PA、PB口要么全部输入或输出,所以只能是PC口接键盘。硬件电路如下图所示:五、设计流程图六、程序代码编程也可以主要分为三部分;键盘扫描、数据处理、数码管显示,另外还有译码电路,8255各口的地址所使用的是200H-207H。8255A采用的是方式0,A组输入,B组输出。code segmentassume cs:code,ds:codestart:jmp start1buffdb 1,2,3,4,5,6tablekdw3e07h,3e0bh,3d0bh,3b0bh,3e0dh,3d0dh,3b0dh,3e0eh,3d0eh,3b0eh ;09键盘值dw 370eh,370dh,370bh,3707h,3b07h,3d07h,2f07h,2f0bh,2f0dh,2f0eh,1f07h,1f0bh,1f0dh;其他键值table db 3fh,6,5bh,4fh,66h,6dh,7dh,7,7fh,6fh,46h,40h,48h,00;09的字型码xdw 0ydw 0fdb 0ndb 0cdb 0addfdb 0subfdb 0start1:mov ax,cs mov ds,axcall clearagain:mov dx,203hmov al,10001001bout dx,al;8255A初始化call led;调用子程序call keycmp f,1jne againcmp bl,9;对比数字键盘jle d_procecmp bl,10je to_add;转到加法cmp bl,11je to_sub;转到减法cmp bl,12jmp again;返回clear1:call clearcall clbufjmp againd_proce:cmp n,1je d_p_ymov cl,4shl x,clmov bh,0add x,bxcall bshiftmov buff+5,bljmp againd_p_y:mov cl,4shl y,clmov bh,0add y,bxcall bshiftmov buff+5,bljmp againto_add: call bshift;加法程序mov buff+5,blmov f,0mov n,1movaddf,1jmp againto_sub: call bshift;减法程序mov buff+5,blmov f,0mov n,1mov subf,1jmp againto_s:mov bx,y;sub al,bldasmov bl,almov al,ahsbb al,bhdasmov bh,almov x,0mov y,0mov subf,0call storejmp againkeyproc;键盘的扫描程序mov dx,203hmov al,10001001bout dx,al;初始化8255,写控制字mov f,0mov dx,201hmov al,0out dx,al;初始化8255mov dx,202hin al,dx;初始化8255and al,0fhcmp al,0fhje k_exitmov cx,3000loop $;10msin al,dxand al,0fhpush axmov dx,203hmov al,10000010b;b_in,c_outout dx,alpop axmov bl,almov dx,202hout dx,almov dx,201hin al,dxand al,3fhmov bh,allea si,tablekmov cx,23mov ah,0nk:cmp bx,sije foundinc ahadd si,2loop nkfound:mov al,0;不断扫描,等待输入mov dx,202hout dx,almov dx,201hin al,dxand al,3fhcmp al,3fhjne foundmov cx,3000loop $mov f,1mov bl,ah ;键值k_exit:retkeyendpstoreproc;储存程序mov word ptr buff,1414h ;不显示,存储lea si,buffmov ch,4s_re1:mov cl,4;储存的方式rol bx,cl;循环左移4位mov al,bland al,0fhmov si+2,alinc sidec chjnz s_re1 call clearretstoreendpcodeendsend start七、设计总结体会 本次课程设计师自由选择设计课题的,我选择了简易加减法计算器的题目,看起来不是很难,但是真正做起来才发现其困难之处。本次的课程设计是一个相对而言比较难的设计,因为这次设计不仅仅是课本上知识的整合,而且还有很多是课外的扩展。这次课程设计可以说是一个挑战。我们做的题目是简易计算器的设计。才开始思路很清晰。或许是因为我们司空见惯了这种小机器,可是等做起来发现真的好难。首先8255A的初始化和8086的接线也是十分简单,但是等到编成的时候发现有很多不懂得地方,觉得很容易的算法在编程中很难实现。于是我开始查看课本和有关的资料,知道了一些编程常用的方法。受益匪浅。而后我用心编写这程序。经过自己的努力和同学的帮助终于完成了相应的要求。本次课程设计,不仅使我加深了对接口程序设计的认识,对接口各部件的工作原理也有了进一步的了解,也增强了分析故障的能力,更重要的是培养了我们面对问题、解决问题的能力。从理论知识上我对8086和8255的作用、功能以及初始化更加熟悉,并且有了客观上的理解。对键盘的使用和数码管显示问题也完全弄懂了。这次课程设计还是比较成功的。当然我还有很多不足之处,比如知识掌握的不够全面,研究的深度不够,有问题畏畏缩缩不敢问,程序编写不会查漏补缺。课后没有及时解决课上的问题留到第二天上课程设计在想办法,这说明我的惰性也很强。这些都是我需要去改进的地方。我会在以后的学习中多加注意
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 连云港中专数学试卷
- 2025年特种作业类危险化学品安全作业-裂解(裂化)工艺作业参考题库含答案解析
- 2025年建筑工程类环境影响评价工程师-评价技术方法参考题库含答案解析
- 2025年建筑工程类注册安全工程师安全生产专业实务(其他安全)-安全生产管理参考题库含答案解析
- 2025年建筑工程类标准员专业管理实务-专业管理实务参考题库含答案解析
- 2025年建筑工程类建筑三类人员专职安全生产管理人员(C3证)-专职安全生产管理人员(C3证)参考题库含答案解析
- 2025年学历类自考专业(电子商务)网页设计与制作-电子商务概论参考题库含答案解析
- 六上福建数学试卷
- 2025年学历类自考专业(电子商务)电子商务案例分析-商务交流(二)参考题库含答案解析
- 2025年学历类自考专业(法律)行政法学-金融法参考题库含答案解析
- 通信基站机房节能减排方案
- 维修档案管理制度范文(2篇)
- CPK计算表格电子表格
- 2025年中国人保招聘笔试参考题库含答案解析
- 专业音响设备租赁合同
- 园区消防安全联动制度
- 《专业导论》课程教学大纲
- 初中必背古诗文138首
- 奉化区地图宁波市奉化区乡镇街道地图高清矢量可填充编辑地图模板
- 变电站巡视检查项目记录表
- 光伏发电技术项目投标书(技术标)
评论
0/150
提交评论