微机原理课设(电子时钟)_第1页
微机原理课设(电子时钟)_第2页
微机原理课设(电子时钟)_第3页
微机原理课设(电子时钟)_第4页
微机原理课设(电子时钟)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGE学院:计算机科学技术专业:计算机科学与技术(工)班级:姓名:学号:指导教师:微机原理与汇编语言课程设计任务书一、题目:电子表二、设计的目的1.掌握利用PC机的的中断及中断服务程序的编写方法;2.掌握定时器/计数器8253的工作原理及编程方法。三、设计要求编写程序,利用主机内的8253-2的计数器0产生10m的方波输出,此输出送至IRQ0使8259A每10ms产生1次中断,100次后秒加1,然后调整时、分、秒并在屏幕上显示。程序从按下任意键开始显示数据区存放的时间值,运行中按下空格键即停止运行,并返回DOS。要求每人独立完成课程设计。四、设计内容采用PC系列微机现有的硬件和软件资源编写汇编语言程序,在显示器上显示XX(时):XX(分):XX(秒),每秒钟更新1次。五、课程设计工作量一般每人的程序量应在100行有效程序行以上。不得抄袭,否则给不及格成绩。六、课程设计工作计划2011年6月27日1-2节 指导教师讲课,学生准备文献资料;2011年6月28日~2011年7月01日 每人完成自己程序并能独立演示;2011年7月01日下午 验收,学生撰写课程设计报告。指导教师签字:专业主任签章:微机原理与汇编语言课程设计指导教师评语与成绩指导教师评语:课程设计表现成绩:课程设计验收成绩:课程设计报告成绩:课程设计总成绩:指导教师签字:2011年月日目录第1章概述 11.1选题来源 11.2选题目的 11.3选题意义 11.4解决问题 11.5技术要求 2第2章总体方案设计 32.1硬件总体设计 32.2软件总体设计 3第3章详细设计 43.1硬件设计 43.1.1显示模块 43.1.2时钟运算模块 43.1.3对时模块 53.1.4设计电路图 53.2软件设计 73.2.1程序流程图 7第4章调试与运行结果说明 94.1试验结果 94.2分析 10课程设计总结 11谢启 12参考文献 13附录 14PAGE13第1章概述1.1选题来源该课程设计是根据老师提供的三个题目选题:音乐演奏,电子琴,电子表。我选择的是电子表1.2选题目的设计并实现一个可以显示时间和日期的电子时钟,可以用键盘控制。1.3选题意义课程设计是培养学生运用有关课程的基础理论和技能解决实际问题,进一步提高学生本专业必要的基本技能、方法和创新能力的重要环节之一。通过课程设计使学生受到设计方法的初步训练,能用文字、图形和现代设计方法简要、系统、正确地表达设计成果。1.4解决问题电子表一般都有显示时间和日期的功能,用汇编语言设计程序时,由于是在电脑上操作,因而不便于切换时间和日期模式,这时就需要设计一种方式,可以通过键盘来切换这种模式,从而达到设计任务所要求的内容。 设计时间时,要设计时间的计数方式,并会循环运行,符合日常的标准。而设计日期时,同样要注意日期的计数与循环方式。 设计好时间和日期程序后,要把日期和时间值转换成ASCII码字符。这就需要设计转换程序。1.5技术要求《微机接口课程设计》主要是训练学生综合运用学过的微机原理的软件和硬件知识,独立完成一个实际的微机应用设计系统,并在实验室实现。此次课设是对个人的程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,为学习后继的基础课和专业课打下坚实的基础。课设所用的是汇编语言,它是一种机器语言,是计算机能提供的最快最有效的语言,也是能够利用计算机所有硬件性能并能直接控制硬件的语言。实验不仅培养了实际动手能力,也进一步学习了汇编语言的结构和使用方法,提高了汇编语言的水平。第2章总体方案设计2.1硬件总体设计8259A的主要功能:(1)每片8259A可管理8级优先级中断源,通过开关,最多可管理64级优先权的中断源。(2)对任何一个级别的中断源都可单独进行屏蔽,使该级中断请求暂时被挂起,直到取消屏蔽时为止。(3)能向CPU提供可编程的标识码。(4)具有多种中断优先权管理方式。有完全嵌套方式、自动循环方式、特殊循环方式、特殊屏蔽方式和查询方式五种。这些管理方式均可通过程序动态地进行变化。在本设计中用到了这四种功能,电子时钟的灵活调时功能就是通过对级别的屏蔽或开启来实现的。8255A的主要功能:可编程外设接口芯片可由程序改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,其负责CPU和外设之间的数据传送。8253的主要功能:可编程定时器/计数器,其定时与计数功能可由程序灵活地设定,设定后与CPU并行工作,不占用CPU的时间。通道2工作在3方式下,提供计算一秒的中断请求信号。2.2软件总体设计电子时钟主要由显示模块、对时模块和时钟运算模块三大部分组成。其中对时模块和时钟运算模块要对时、分、秒的数值进行操作,并且秒计算到60时,要自己清零并向分进1;分计算到60时,要自己清零并向时进1;时计算到24时,要清零。这样,才能循环记时。第3章详细设计3.1硬件设计3.1.1显示模块 利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这八个发光二极管的阳极加+5V或0V的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块主要是将时钟运算模块和对时模块运算出来并存放在内存单元里的十六进制表示的时位和分位数据转化为十进制,并通过四个数码管显示出来。该模块实现的硬件是TND86/88的LED-KEYBOARDUNIT。3.1.2时钟运算模块该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择TND86/88实验箱中的8253定时/计数器来提供,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8253的通道2工作方式为方式3时,产生一个40ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8259的IRQ7号中断来实现,首先将秒定时模块提供的中断信号为8259的IRQ7中断请求信号。但由于每40ms一次中断请求。所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count的值为25时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、分和时的单元内的数值进行判断,当秒加到60时,分必须加1、秒清零;当分加到60时,时加1、分清零。当时加到24啊,直接清零。3.1.3对时模块该模块主要功能是修改时、分内存单元的数值。在对时的时候,秒应停止不变,并且在对分进行调整的时,时单元内的数值不变。由以上分析可见,对时、分的调整用两个优先级高于IRQ7的中断来完成。因此,可以用8259的IRQ2中断来实现,两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。3.1.4设计电路图电子时钟的完整电路图如下:3.2软件设计3.2.1程序流程图YesNoYesNoNoNoNoYes中断服务程序IRQ7YesYesIRQ7中断COUNT=25?S=S+1COUNT=0S=60?M=M+1S=0M=60?H=H+1M=0H=24?H=0IRETCOUNT=COUNT+1显示模块程序图显示模块程序图 时、分转化为十进制,存到内存单元中计算时、分的各位数值在TABLE中对应编码时、分转化为十进制,存到内存单元中计算时、分的各位数值在TABLE中对应编码结束开始依次在61H段输出到LED显示 YesYesYesYesIRQ6中断M=M+1M=60?M=0IRET中断服务程序IRQ6OFF=1?NoOFF=2?H=H+1H=24?YesH=0YesNoNoNoOFF=1?IRETOFF=0屏蔽IRQ6中断,开IRQ2和IRQ7中断OFF=3?中断服务程序IRQ2IRQ2中断OFF=OFF+1OFF=2?NoNoNoYesOFF=0屏蔽IRQ7中断,开IRQ2和IRQ6中断YesYes第4章调试与运行结果说明4.1试验结果程序初始运行界面图1开始界面这时,开始根据提示输入当前时间,出现如下界面:图2输入时间后单击回车键之后图3运行后4.2分析将编写好的源程序输入,编译后出现很多错误,经过反复修改直到程序运行通过。将生成的可执行程序装入TND86/88的内存里,在监控状态下运行程序,可是数码管显示的数字并不与理论计算值相符合,并且显示的数字不停地闪动,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时,存储转化的结果的地址空间的顺序弄混了。数字闪动的原因应该出在显示子程序里,经过分析问题出在显示子程序里缺少延时程序。编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值相符合,并能正常计时,但当按动KK1+键时,却不能启动对时功能,按动KK2+时,也不能调时、调分。问题很可能出在两键控制的中断源上,检查源程序也找不出错误,当把IRQ5换成IRQ2后,在进行调试,结果成功。课程设计总结1.实验过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!2.通过这次课程设计,使我对汇编语言有了较清楚的认识,以前在看语言时,有好多地方不明白为什么这么写,这样写有什么优点。对于某些语言句子还不清楚是什么意思。经过这次课程设计,通过查阅资料和向同学请教,明白许多不清楚的地方,能够用汇编语言编写简单的程序,内心感到高兴。3.有了这次课程设计的体验,使我明白了书本上的知识是死的,必须会用,用到实践中,它才算有用。平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识的作用发挥出来。这次设计对我将来的毕业设计有很大启示和帮助。4.在设计过程中,遇到很多问题,通过和同学的共同研究,解决这些问题。遇到问题时候一起探讨,使我在这次设计中获得的启示。谢启通过本次课程设计是深深的体会到了自学能力的重要性和独立决绝问题的能力以及凝聚力的重要。在本次课程设计当中我们遇到了很多困难,与此同时也得到了孙老师的鼓励也帮助,这让我们对自己更有信心,虽然最后我们的程序不是很完善,但是我们尽了自己最大的努力。同时在我们遇到困难时也得到了同学的帮助,虽然她们很忙,但是仍然耐心的帮助我们解决困难,在此我们要深深的感谢她们在为期一周的微机原理课程设计中,使我们接触到了以前书本上所涉及不到的领域,让我们感到新奇!在我们完成的功能模块的背后都交织着一份辛苦与喜悦,而这份辛苦与喜悦却离不开大家的帮助和支持,当然我们最要感谢的人还有我们的孙老师,因为无论在我们什么时候遇到困难的时候,只要向老师求助,他都会在第一时间为我们解答。虽然我们做的不是很好,但是我们组的每一位成员都在课程设计中学到了知识,希望老师还会给予我们帮助与鼓励。通过这半年的学习,自己对这门学科有了进一步的了解。因此,我要向老师表达我衷心的谢意。因为她们是那么的兢兢业业、认真负责。不管我们的问题有多幼稚,老师都能耐心的回答,认真辅导我们。在此,我再一次地感谢大家在课程设计期间的帮助和支持参考文献[1]李芷.微机原理与接口技术[M].2002.[2]王爱英.计算机组成与结构[M].北京:清华大学出版社.1995.[3]沈美明,温冬蝉.IBM-PC汇编语言程序设计[M].清华大学出版社.2003.[4]董方武.微机接口技术[M].中国水利水电出版社.2001.[5]宋锦河.汇编语言程序设计[M].中国水利水电出版社.2001.[6]唐延铃,工小刚.汇编语言程序设计[M].电子科技大学.1998[7]王元珍,韩宗芬IBM-PC汇编语言程序设计[M].华中理工大学出版社.1996.[8]戴梅萼,史嘉权.微型计算机技术与运用[M].清华大学出版社2003.附录程序清单:DATASEGMENTBUF1DB'THETIMEISNOW:$'BUF4DB'LILI$'BUF2DB10DB10DUP(?)COUNTDB18DATAENDSSTACKSEGMENTSTACKDB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK CURSORMACROROW,CLM MOVAH,02H MOVBH,0 MOVDH,ROW MOVDL,CLM INT10H ENDM WINMACROROWL,CLML,ROWR,CLMR,COLOR MOVAH,06H MOVAL,0 MOVCH,ROWL MOVCL,CLML MOVDH,ROWR MOVDL,CLMR MOVBH,COLOR INT10H ENDM ASCBCDMACROREG INCBX INCBX MOVREG,[BX] MOVCL,4 SHLREG,CL INCBX MOVAL,[BX] ANDAL,0FH ORREG ENDM BCDASCMACROREG INCBX INCBX MOVAL,REG MOVCL,4 SHRAL,CL ORAL,30H MOV[BX],AL INCBX MOVAL,REG ANDAL,0FH ORAL,30H MOV[BX],AL ENDM INCBCDMACROREG,COUNT MOVAL,REG INCAL DAA MOVREG,AL CMPAL,COUNT JNZDISPY MOVREG,0 ENDMSTRDSPYMACROADRS LEADX,ADRS MOVAH,9 INT21H ENDMCLOCKPROCFARSTART:PUSHDS MOVAX,0 PUSHAX MOVAX,DATA MOVDS,AX WIN0,0,24,79,7 WIN6,9,18,70

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论