微机原理与接口技术课程设计报告系统时间显示

上传人:仙*** 文档编号:36119756 上传时间:2021-10-29 格式:DOC 页数:15 大小:154.50KB
收藏 版权申诉 举报 下载
微机原理与接口技术课程设计报告系统时间显示_第1页
第1页 / 共15页
微机原理与接口技术课程设计报告系统时间显示_第2页
第2页 / 共15页
微机原理与接口技术课程设计报告系统时间显示_第3页
第3页 / 共15页
资源描述:

《微机原理与接口技术课程设计报告系统时间显示》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计报告系统时间显示(15页珍藏版)》请在装配图网上搜索。

1、 微机原理与接口技术 课程设计报告设计题目:设计题目: 系统时间显示系统时间显示 系系 别:别: 年级专业:年级专业: 学学 号:号:学生姓名:学生姓名:指导教师:指导教师: 引言引言汇编语言(Assembly Language)是面向机器的程序设计语。在汇编语合中,用助记符(Mnemonic)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统

2、软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。目录目录摘要摘要.41 微机原理课程设计任务及要求微机原理课程设计任务及要求.51.1 主要内容及目标.51.2 具有的设计条件.51.3 计划学生数及任务.51.4 计划设计进程.52 总体方案设计总体方案设计.62.1 整体设计思想 .62.2 任务分配 .62.3 时间安排 .63 详细设计详细设计.63.1 DOS 功能调用 .63.2 程序编程 .84 程序流程图程序流程图.114.1 程序流程 .114.2 程序显示界面 .125 程序调试程序调试.126 实验结果分析实验结果分析.127 设计过程与总结设计过程与总结.138

3、附源程序附源程序.149 参考资料参考资料.15摘要摘要 本文的主要内容是介绍用汇编语言(8086/DOS)实现一个显示系统时间的程序,屏幕中间显示系统时间,本文中的电子时钟还可以用键盘输入的方法修改当前的时间,以便在界面上显示正确的时间。在设计过程中,首先是按照题目所给的具体要求,根据自己的设计思路,画出流程图,然后查阅相关资料,写出流程图中的各段子程序,把子程序放在心研集成环境中进行调试,找出程序中的错误,并进行修改和不断完善,以得到符合要求的程序。有了这些子程序后,我们就可以根据要求写出源程序,但在写源程序的过程中遇到了很多困难,经过反复调试跟修改,最终得到了符合要求的源程序。Abstr

4、actAbstractThe main content of this article is to introduce the use of assembly language (8086/DOS) time to achieve a display system program, middle of the screen displays the system time clock in this article can also use the electronic method of keyboard input to modify the current time to display

5、 in the interface the correct time. In the design process, the first title given in accordance with the specific requirements, according to their own design ideas, draw flowchart, and then access to relevant information, write the scripts in the process flow diagram, the routine integration of the e

6、nvironment on the heart study debugging, to find bugs in the program and make changes and continue to improve, to get to meet the requirements of the program. With these routines, we can write the source code on request, but in the process of writing the source program encountered many difficulties

7、with the changes after repeated testing, and ultimately get to meet the requirements of the source.1 微机原理课程设计任务及要求微机原理课程设计任务及要求1.1 主要内容及目标主要内容及目标设计一个时间显示系统,运行时,在屏幕的右上角以“时:分:秒”的形式显示出来。1.2 具有的设计条件具有的设计条件 PC 机一台,EL 教学实验箱一台及汇编程序。1.3 计划学生数及任务计划学生数及任务(1):明确课题对程序功能及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):

8、存储器资源分配(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。1.4 计划设计进程计划设计进程第一周设计任务:(1):明确课题对程序功能,运算精度等方面的要求及硬件条件(2):把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。(3):存储器资源分配第二周设计任务:(4):编制程序,根据流程图精心选择合适的指令和寻址方式来编制源序(5):对程序进行汇编,调试和修改,直到程序运行结果正确为止。2 总体方案设计总体方案设计2.1 整体设计思想整体设计思想此程序要求结构化的显示系统时间。程序要求能多次执行以上两种

9、操作并有退出选项。则我们可以设计两个选项以供用户选择:system 和q退出程序。两个选项分别可以用两个过程实现其功能。在 DOS 环境下完成, 必须用到的 DOS 功能调用;取当前系统时间:功能号为 2CH,返回值送入 CX,DX 寄存器中;在转换为 ASCII 码显示出来。2.2 任务分配任务分配小组成员共三位,任务分别为:了解并利用 DOS 功能调用;模块程序的编写;程序流程图的设计。最后汇总编写完整程序,并上机调试运行。2.3 时间安排时间安排第一周设计任务:每个人根据自己的任务参阅不同的资料,把自己的任务模块完成,最后将所有的汇总并讨论编写最终的设计程序。第二周设计任务:将最终的程序

10、上机汇编调试,解决调试过程中遇到的问题;设计可以运行后,总结以前的内容写一份总的设计报告。3 详细设计详细设计3.1 DOS 功能调用功能调用应用 INT 21H 系统功能调用的方法如下: 入口参数送指定的寄存器或内存; 功能号送 AH 中; 执行 INT 21H 软中断指令; 1键盘输入并显示(1 号功能调用) 格式: MOV AH, 01H INT 21H 功能:按下任何键,将其对应字符的 ASCII 码送入 AL 中,并在屏幕上显示该字符。如果按下的是 CtrlBreak 组合键,则终止程序执行。1 号功能调用无须入口参数,出口参数在 AL 中。 2键盘输入但不显示输入字符(8 号功能调

11、用) 格式: MOV AH, 08H INT 21H功能:同 1 号功能调用,但字符不在屏幕上显示。 3屏幕显示一个字符(2 号功能调用) 格式: MOV DL, 字符 MOV AH, 02H INT 21H功能:将置入 DL 寄存器中的字符在屏幕上显示输出。 4 屏幕显示字符串(9 号功能调用) 格式: MOV DX, 字符串的偏移地址 MOV AH, 09H INT 21H 功能:在屏幕上显示字符串。 在使用 9 号功能调用时,应当注意以下问题。 待显示的字符串必须先放在内存一数据区(DS 段)中,且以$符号作为结束标志。 应当将字符串首地址的段基址和偏移地址分别存入 DS 和 DX 寄存

12、器中。 5字符串输入功能调用(0AH 号功能调用) 格式: MOV DX, 已定义缓冲区的偏移地址 MOV AH, 0AH INT 21H 功能:从键盘接收字符,并存放到内存缓冲区。 在使用 0AH 号功能调用时,应当注意以下问题。 执行前先定义一个输入缓冲区,缓冲区内第一个字节定义为允许最多输入的字符个数,字符个数应包括回车符 0DH 在内,不能为“0”值。第二个字节保留,在执行程序完毕后存入输入的实际字符个数。从第三个字节开始存入从键盘上接收字符的 ASCII 码。若实际输入的字符个数少于定义的最大字符个数,则缓冲区其他单元自动清 0。若实际输入的字符个数大于定义的字符个数,其后输入的字符

13、丢弃不用,且响铃示警,一直到输入回车键为止。整个缓冲区的长度等于最大字符个数再加 2。 应当将缓冲区首地址的段基址和偏移地址分别存入 DS 和 DX 寄存器中。 6返回 DOS 操作系统(4CH 号功能调用) 格式: MOV AH, 4CH INT 21H 功能:终止当前程序的运行,并把控制权交给调用的程序,即返回 DOS 系统,屏幕出现 DOS 提示符,如“C: ” ,等待 DOS 命令。 7设置系统日期(2BH 号功能调用) 格式: MOV CX, 年号 MOV DH, 月号 MOV DL, 日期 MOV AH, 2BH INT 21H 功能:设置有效的年、月、日。当 AL0 时,设置成功

14、;当 AL0FFH 时,设置失败。 8设置系统时间(2DH 号功能调用) 格式: MOV CH, 小时 MOV CL, 分 MOV DH, 秒 MOV AH, 2DH INT 21H 功能:设置有效的时间。当 AL0 时,设置成功;当 AL0FFH 时,设置失败。 9取系统当前时间 2CH 功能调用格式: MOV AH, 2CH INT 21H执行结果 CX:DX 中得到当前时间的二进制数3.2 程序编程程序编程STACK1 SEGMENT STACK DW 200 DUP (?)STACK1 ENDS;堆栈段定义HEX_DEC macro ;宏定义十六进制转换为十进制 push dx pus

15、h cx mov bl,10d mov al,ch xor ah,ah div bl add al,30h add ah,30h mov ds:si,al mov ds:si+1,ah add si,3 pop cx pop dx endmdata segmentdis db - - - - - - -,13,10,$systime db * ,?,?,:,?,?,:,?,?, * ,$data ends;数据段定义code segment assume cs:code,ds:data;代码段定义start: mov ax,data ;数据段地址的装入,ax初始化 mov ds,ax LEA

16、DX,dis MOV AH,9;9号调用 INT 21Hres: LEA si,systime ;取得systime数组的首地址 ADD si,3 MOV AH,2CH ;功能键调用,调用系统时间 INT 21HHEX_DEC ;宏调用 mov ch,cl HEX_DEC mov ch,dh HEX_DEC LEA DX,systime ;显示系统时间 MOV AH,9;9号调用 INT 21H MOV AH,2 MOV DL,0DH ;2号调用 INT 21H MOV AH,1 ;键盘输入q,则退出 INT 16H CMP AL,q JE exit jmp res exit: MOV AH,

17、4CH ;返回操作系统 INT 21Hcode ends end start4 程序流程图程序流程图4.1 程序流程程序流程初始化调用 DOS 中断取系统时间16 进制转 ASCII码将转换好的系统时间存入时间显示缓冲区显示时间与界面Q 键按下?调用延时子程序返回 DOS程序结束NY图 4-1 主程序流程图 4.2 程序显示界面程序显示界面5 程序调试程序调试(1) 源代码输入后,无法顺利汇编成 OBJ 文件,首先检查程序,看是否存在字符输入错误或语法错误,并借助星研 ,这是一个仿真软件,在里面程序不同寄存器,数值用不同颜色显示,编译时也会提示哪行有错误,调试便简单许多。自己堆栈的设置不清楚,

18、就把程序头堆栈的说明 删减了不影响程序运行。对延时把握不准,就把显示时间结果和身边的闹钟比较,发现程序显示 60 秒时实际时间已经是 2 分钟左右了,于是有把延时初值减半,逐步细化最终减小误差。经过反复调试终于顺利汇编、连接成功。(2)程序开始运行后,我将汇编好的源程序在 DOS 模式下运行无误后,使其在 emu8086 显示出来。(3)我们从网络上查了一些资料,网络帮助我们快速解决问题,大大减少调试困难。比如开始时没将显示置于屏幕中间,后来利用 10H 功能置位光标,但是无论如何都不能显示在右上角,但是可以显示于行中间,经历调试,排除问题,用小程序模拟,最终发现,在 BCD 码转换成 ASC

19、II 时,将回车压入缓冲器了,所以不再装载回车解决了问题。 6 实验结果分析实验结果分析通过以上的结果显示可以看出结果成功完成本次课程设计的目的和任务,本次课程设计严格按照课程设计任务的要求:运行可执行程序 systime.exe,显示系统当前时间。但还有缺陷的是光标不停刷新影响视觉效果,由于这点在课程设计任务中没有相关要求,因此这次课程设计可以认为是成功的。7 设计过程与总结设计过程与总结微机原理课程设计的目的主要有以下几个方面 1)理解和掌握该课程中的有关基本概念,程序设计思想和方法。2)掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程

20、意识和创新能力。3)对学生掌握知识的深度、运用理论去处理问题的能力、实验能力、课程设计能力、书面及口头表达能力进行考核。4)汇编语言程序设计课程设计是在教学实践基础上进行的一次大型实验,也是对该课程所学理论知识的深化和提高。因此,要求学生能中和应用所学知识,设计与制造出具有较复杂功能的应用系统,并且在实验的基本技能方面上进行一次全面的训练。5)培养学生综合运用所学知识独立完成汇编程序课题的能力。使学生能够较全面地巩固和应用课堂中所学的基本理论和程序设计方法,能够较熟练地完成汇编语言程序的设计和调试。我们小组成员三人完成这次报告两个星期的课程设计中,遇到了诸多的问题。首先,资源有限。当我们花了将

21、近一周的时间将整个设计思路用图纸和程序描绘出后。 我们展开了讨论,很快设计方案又出来了。在后续的具体实施过程中, 我们遇到不清楚的地方,我们便去询问老师,寻求帮助。这次花了约两周的时间把详细的设计报告做出来了。这次我们都是充满信心这是我们第一次设计,但这一次我们可是一步一个脚印的。结果,一开始没有得出想要的结果,这次我们反应很快,共同检查实验的每一个部分,最后确定程序有问题。写程序可是一个细心的活,除了要会写,更多的还是耐性与细心。但并没有因此而放弃,其他的队友也全没有责难之意,我们都知道,只有相互理解,合作才会更成功。设计的最后期限到了无论成败与否,我们无所怨言,很幸运,结果就像喜剧片一样曲

22、折的过程和圆满的结尾。通过本次课设计我们不仅学到了关于微机原理的许多专业知识,同时也让我们感觉到团队合作的重要性,意识到团队的力量,同时感谢丁老师的辛勤指导。其实如何有效和快速的找到资料也是课程设计给我们的启发,利用好图书馆和网络,是资源的到最好的利用。如果我们一味的屋子里苦思冥想那么再给 2 周的时间或许也不会实现这个课题,所以我们觉得与他人交流思想是取得成功的关键,在交流中,不仅强化了自己原有的知识体系也可以扩展自己的思维。通过思考、发问、自己解惑并动手、改进的过程,才能真正的完成课题。经过这次课程设计的过程,我们相信在以后的课程设计中我们会吸取经验教训,做出更好的设计来。我的心得体会我的

23、心得体会我们所设计的程序原理是:程序先调用系统时间,然后将返回的二进制数转化成 ASCII 码,再通过 dos显示功能显示出来,并通过循环不断刷新显示的时间.我从这次程序设计过程中学会,理解了几点我以前不熟悉的知识:首先在二进制转化成 ASCII 码的过程中,我进一步地了解到,在转化过程中,二进制数首先转化为双四位的 BCD 码,再将高四位低四位分别相加 30H,从而转化为 ASCII 码,此时要对照书本的附录 1 了解电脑cup 如何将 ASCII 码的信息转换成显示字符。其次,了解了如何对其他经典程序的灵活应用。我们的程序是不断对显示屏进行刷新的,所以我们调用了 bctd 程序,这是一个精

24、确的计时程序,计数时间约为 1 秒,然后我们用了 Jmp display 指令,刷新显示屏,从而达到时间的每秒显示。通过了这次程序设计,使我更深刻地理解了微机的原理与应用技术,特别是在对中断技术的理解与应用方面,更好地理解了微机的工作情况与运行方式。可以这样说,如果没有此课程设计,我对微机的原理与应用技术,仍旧停留于表面了解、一知半解甚至不知其解的状态,这样就谈不上学知识、长见闻、提高自身学术素质与理论水平的方方面面。但也让作者感到自身的知识和理论水平要作更高层次的课程设计,远远不足,还需要不懈地学习与提高,更需要指导老师与在此方面的高手不吝赐教!8 附源程序附源程序STACK1 SEGMEN

25、T STACK DW 200 DUP (?)STACK1 ENDSHEX_DEC macro ;宏定义十六进制转换为十进制 push dx push cx mov bl,10d mov al,ch xor ah,ah div bl add al,30h add ah,30h mov ds:si,al mov ds:si+1,ah add si,3 pop cx pop dx endmdata segmentdis db 13H,10H,$systime db * ,?,?,:,?,?,:,?,?, * ,$data endscode segment assume cs:code,ds:data

26、start: mov ax,data ; mov ds,ax LEA DX,dis MOV AH,9 INT 21Hres: LEA si,systime ; ADD si,3 MOV AH,2CH ; INT 21HHEX_DEC ;宏调用 mov ch,cl HEX_DEC mov ch,dh HEX_DEC LEA DX,systime ;显示系统时间 MOV AH,9 INT 21H MOV AH,2 MOV DL,0DH INT 21H MOV AH,1 ;键盘输入q,则退出 INT 16H CMP AL,q JE exit jmp resexit: MOV AH,4CH INT 21Hcode ends end start9 参考资料参考资料微型计算机原理及接口技术中国科技大学出版社,2004.12 周荷琴编著16-32 位微型计算机技术及应用清华大学出版社 戴梅萼 史嘉权 编著汇编语言程序设计清华大学出版社 杨记文编著汇编语言程序设计教程清华大学出版社 杨记文编著微型计算机原理及接口技术实验指导书

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!