首页 微机原理课设(电子时钟)

微机原理课设(电子时钟)

举报
开通vip

微机原理课设(电子时钟)微机原理课设(电子时钟) 学 院: 计算机科学技术 专 业: 计算机科学与技术(工) 班 级: 计08-1班 姓 名: 秦振兴 学 号: 27 指导教师: 孙 海 2011年 7月 1日 微机原理与汇编语言课程设计任务书 一、题目:电子表 二、设计的目的 1. 掌握利用PC机的的中断及中断服务程序的编写方法; 2. 掌握定时器/计数器8253的工作原理及编程方法。 三、设计要求 编写程序,利用主机内的8253-2的计数器0产生10m的方波输出,此输出送至IRQ0使8259A每10ms产生1次中断,...

微机原理课设(电子时钟)
微机原理课设(电子时钟) 学 院: 计算机科学技术 专 业: 计算机科学与技术(工) 班 级: 计08-1班 姓 名: 秦振兴 学 号: 27 指导教师: 孙 海 2011年 7月 1日 微机原理与汇编语言课程设计任务书 一、 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 目:电子表 二、设计的目的 1. 掌握利用PC机的的中断及中断服务程序的编写 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 ; 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章 概述 .................................................................................................................................... 1 1.1 选题来源 .......................................................................................................................... 1 1.2 选题目的 .......................................................................................................................... 1 1.3 选题意义 .......................................................................................................................... 1 1.4 解决问题 .......................................................................................................................... 1 1.5 技术要求 .......................................................................................................................... 2 第2章 总体 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 设计..................................................................................................................... 3 2.1 硬件总体设计 .................................................................................................................. 3 2.2 软件总体设计 .................................................................................................................. 3 第3章 详细设计............................................................................................................................. 4 3.1 硬件设计 .......................................................................................................................... 4 3.1.1显示模块 .................................................................................................................. 4 3.1.2时钟运算模块 .......................................................................................................... 4 3.1.3对时模块 .................................................................................................................. 5 3.1.4设计电路图 .............................................................................................................. 5 3.2 软件设计 .......................................................................................................................... 7 3.2.1程序流程图 .............................................................................................................. 7 第4章 调试与运行结果说明 ......................................................................................................... 9 4.1 试验结果 .......................................................................................................................... 9 4.2 分析................................................................................................................................ 10 课程设计总结................................................................................................................................. 11 谢启 ................................................................................................................................................ 12 参考文献 ........................................................................................................................................ 13 附录 ................................................................................................................................................ 14 第1章 概述 1.1 选题来源 该课程设计是根据老师提供的三个题目选题:音乐演奏,电子琴,电子表。我选择的是电子表 1.2 选题目的 设计并实现一个可以显示时间和日期的电子时钟,可以用键盘控制。 1.3 选题意义 课程设计是培养学生运用有关课程的基础理论和技能解决实际问题,进一步提高学生本专业必要的基本技能、方法和创新能力的重要环节之一。通过课程设计使学生受到设计方法的初步训练,能用文字、图形和现代设计方法简要、系统、正确地表达设计成果。 1.4 解决问题 电子表一般都有显示时间和日期的功能,用汇编语言设计程序时,由于是在电脑上操作,因而不便于切换时间和日期模式,这时就需要设计一种方式,可以通过键盘来切换这种模式,从而达到设计任务所要求的内容。 设计时间时,要设计时间的计数方式,并会循环运行,符合日常的 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 。而设计日期时,同样要注意日期的计数与循环方式。 设计好时间和日期程序后,要把日期和时间值转换成ASCII码字符。这就需要设计转换程序。 1 1.5 技术要求 《微机接口课程设计》主要是训练学生综合运用学过的微机原理的软件和硬件知识,独立完成一个实际的微机应用设计系统,并在实验室实现。此次课设是对个人的程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,为学习后继的基础课和专业课打下坚实的基础。课设所用的是汇编语言,它是一种机器语言,是计算机能提供的最快最有效的语言,也是能够利用计算机所有硬件性能并能直接控制硬件的语言。 实验不仅培养了实际动手能力,也进一步学习了汇编语言的结构和使用方法,提高了汇编语言的水平。 2 第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章 详细设计 3.1 硬件设计 3.1.1显示模块 利用数码管的显示功能来设计。数码管是由八个条形发光二极管组成的,这些发光二极管的阴极是互相连接在一起的,所以称为共阴极数码管。通过在这八个发光二极管的阳极加+5 V或0 V的电压使不同的二极管发光,形成不同的字符和数字。电子时钟用到的是0到9十个数字,他们所对应的字符表依次是3FH、06H、5BH、4FH、66H、6DH、7DH、07H、7FH、6FH。该模块主要是将时钟运算模块和对时模块运算出来并存放在内存单元里的十六进制表示的时位和分位数据转化为十进制,并通过四个数码管显示出来。该模块实现的硬件是TND86/88的LED-KEYBOARD UNIT。 3.1.2时钟运算模块 该模块的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟的内存单元里,以便显示模块即时地显示出来。该模块可以细分为秒定时模块和运算模块。秒定时模块负责提供中断信号,由于CPU运算模块中的指令消耗一定的时间,所以中断信号最好通过硬件来实现,可以选择TND86/88实验箱中的8253定时/计数器来提供,但又因为8253所能提供的信号的周期时毫秒级的,因此必须通过软件的方法在运算模块中设置一个统计中断次数的变量,并且这一变量必须事先在内存里开辟存储单元。中断信号是8253的通道2工作方式为方式3时,产生一个40ms的脉冲信号。运算模块负责时、分、秒的计算,该模块主要通过8259的IRQ7号中断来实现,首先将秒定时模块提供的中断信号为8259的IRQ7中断请求信号。但由于每40ms一次中断请求。所以在中断服务程序必须利用已申请内存单元count来统计中断请求的次数,只有当count的值为25时,才能让秒单元内的数值加1。另外,在中断服务程序里,必须对秒、 4 分和时的单元内的数值进行判断,当秒加到60时,分必须加1 、秒清零;当分加到60时,时加1、分清零。当时加到24啊,直接清零。 3.1.3对时模块 该模块主要功能是修改时、分内存单元的数值。在对时的时候,秒应停止不变,并且在对分进行调整的时,时单元内的数值不变。由以上分析可见,对时、分的调整用两个优先级高于IRQ7的中断来完成。因此,可以用8259的IRQ2中断来实现,两个中断源的中断请求信号只需直接接在两个按键即可起到对时作用。 3.1.4设计电路图 电子时钟的完整电路图如下: 5 6 3.2 软件设计 3.2.1程序流程图 IRQ7中断 显示模块中断服务 程序图 程序IRQ7 COUNT=COUNT+1 开始 No COUNT=25, Yes 时、分转化为十进 制,存到内存单元S=S+1 中 COUNT=0 计算时、分的各位数值 No 在TABLE中对应编码 S=60, 依次在61H段Yes 输出到LED显 M=M+1 示 S=0 结束 No M=60? Yes H=H+1 M=0 No H=24, Yes H=0 IRET 7 中断服务中断服务 程序IRQ6 程序IRQ2 IRQ6中断 IRQ2中断 No OFF=1, OFF=OFF+1 Yes No OFF=2, M=M+1 Yes OFF=3, Yes No No M=60, H=H+1 Yes Yes OFF=1, No H=24, M=0 No Yes Yes OFF=2, H=0 No OFF=0 屏蔽IRQ6中断,OFF=0 屏蔽IRQ7中断,IRET 开IRQ2和IRQ6中断 开IRQ2和IRQ7中断 IRET 8 第4章 调试与运行结果说明 4.1 试验结果 程序初始运行界面 图1 开始界面 这时,开始根据提示输入当前时间,出现如下界面: 图 2 输入时间后 9 单击回车键之后 图 3 运行后 4.2 分析 将编写好的源程序输入,编译后出现很多错误,经过反复修改直到程序运行通过。将生成的可执行程序装入TND86/88的内存里,在监控状态下运行程序,可是数码管显示的数字并不与理论计算值相符合,并且显示的数字不停地闪动,经过反复分析源程序发现问题出现在内存单元里时位和分位在转化为十进制时,存储转化的结果的地址空间的顺序弄混了。数字闪动的原因应该出在显示子程序里,经过分析问题出在显示子程序里缺少延时程序。编写延时子程序,并在显示子程序调用它;编译源程序,装入生成的可执行文件,并运行。数码管显示的数字与理论值相符合,并能正常计时,但当按动KK1+键时,却不能启动对时功能,按动KK2+时,也不能调时、调分。问题很可能出在两键控制的中断源上,检查源程序也找不出错误,当把IRQ5换成IRQ2后,在进行调试,结果成功。 10 课程设计总结 1. 实验过程中碰到了很多的难题和障碍,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障~ 2. 通过这次课程设计,使我对汇编语言有了较清楚的认识,以前在看语言时,有好多地方不明白为什么这么写,这样写有什么优点。对于某些语言句子还不清楚是什么意思。经过这次课程设计,通过查阅资料和向同学请教,明白许多不清楚的地方,能够用汇编语言编写简单的程序,内心感到高兴。 3.有了这次课程设计的体验,使我明白了书本上的知识是死的,必须会用,用到实践中,它才算有用。平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识的作用发挥出来。这次设计对我将来的毕业设计有很大启示和帮助。 4.在设计过程中,遇到很多问题,通过和同学的共同研究,解决这些问题。遇到问题时候一起探讨,使我在这次设计中获得的启示。 11 谢启 通过本次课程设计是深深的体会到了自学能力的重要性和独立决绝问题的能力以及凝聚力的重要。在本次课程设计当中我们遇到了很多困难,与此同时也得到了孙老师的鼓励也帮助,这让我们对自己更有信心,虽然最后我们的程序不是很完善,但是我们尽了自己最大的努力。同时在我们遇到困难时也得到了同学的帮助,虽然她们很忙,但是仍然耐心的帮助我们解决困难,在此我们要深深的感谢她们 在为期一周的微机原理课程设计中,使我们接触到了以前书本上所涉及不到的领域,让我们感到新奇~在我们完成的功能模块的背后都交织着一份辛苦与喜悦,而这份辛苦与喜悦却离不开大家的帮助和支持,当然我们最要感谢的人还有我们的孙老师,因为无论在我们什么时候遇到困难的时候,只要向老师求助,他都会在第一时间为我们解答。虽然我们做的不是很好,但是我们组的每一位成员都在课程设计中学到了知识,希望老师还会给予我们帮助与鼓励。通过这半年的学习,自己对这门学科有了进一步的了解。因此,我要向老师表达我衷心的谢意。因为她们是那么的兢兢业业、认真负责。不管我们的问题有多幼稚,老师都能耐心的回答,认真辅导我们。 在此,我再一次地感谢大家在课程设计期间的帮助和支持 12 参考文献 [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. 13 附录 程序清单: DATA SEGMENT BUF1 DB 'THE TIME IS NOW:$' BUF4 DB 'LILI$' BUF2 DB 10 DB 10 DUP(?) COUNT DB 18 DATA ENDS STACK SEGMENT STACK DB 100 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK CURSOR MACRO ROW,CLM MOV AH,02H MOV BH,0 MOV DH,ROW MOV DL,CLM INT 10H ENDM WIN MACRO ROWL,CLML,ROWR,CLMR,COLOR MOV AH,06H MOV AL,0 MOV CH,ROWL MOV CL,CLML MOV DH,ROWR MOV DL,CLMR MOV BH,COLOR INT 10H ENDM ASCBCD MACRO REG INC BX INC BX MOV REG,[BX] MOV CL,4 14 SHL REG,CL INC BX MOV AL,[BX] AND AL,0FH OR REG,AL ENDM BCDASC MACRO REG INC BX INC BX MOV AL,REG MOV CL,4 SHR AL,CL OR AL,30H MOV [BX],AL INC BX MOV AL,REG AND AL,0FH OR AL,30H MOV [BX],AL ENDM INCBCD MACRO REG,COUNT MOV AL,REG INC AL DAA MOV REG,AL CMP AL,COUNT JNZ DISPY MOV REG,0 ENDM STRDSPY MACRO ADRS LEA DX,ADRS MOV AH,9 INT 21H ENDM CLOCK PROC FAR START:PUSH DS MOV AX,0 PUSH AX MOV AX,DATA MOV DS,AX WIN 0,0,24,79,7 WIN 6,9,18,70,01000001B 15 STRDSPY BUF3 CURSOR 7,9 STRDSPY BUF4 CURSOR 14,32 STRDSPY BUF1 CURSOR 15,36 LEA DX,BUF2 MOV AH,0AH INT 21H LEA BX,BUF2 ASCBCD CH ASCBCD DH ASCBCD DL TIMER:CALL DELY MOV AL,18 MOV COUNT,AL INCBCD DL,60H INCBCD DH,60H INCBCD CH,24H DISPY:LEA BX,BUF2 BCDASC CH BCDASC DH BCDASC DL INC BX MOV AL,'$' MOV [BX],AL PUSH DX CURSOR 15,36 STRDSPY BUF2 POP DX MOV AH,01H INT 16H CMP AL,1BH JZ X XOR AL,AL JMP TIMER X: MOV AH,4CH INT 21H RET DELY PROC FAR PUSH DX PUSH AX MOV AL,00010011B OUT 20H,AL 16 MOV AL,01000000B OUT 21H,AL MOV AL,00000001B OUT 21H,AL;8259初始化 MOV AL,00110110B OUT 43H,AL MOV AL,0 OUT 40H,AL OUT 40H,AL;8254初始化 ;设置中断向量 MOV AX,SEG INPP PUSH DS MOV DS,AX MOV DX,OFFSET INPP MOV AL,40H MOV AH,25H INT 21H POP DS IN AL,21H;读IMR AND AL,0FEH OUT 21H,AL WAITT: STI CMP COUNT,0 JNZ WAITT POP AX POP DX RET DELY ENDP INPP PROC PUSH AX STI DEC COUNT JNZ NEXT IN AL,21H OR AL,01H OUT 21H,AL NEXT:CLI MOV AL,20H OUT 20H,AL POP AX IRET INPP ENDP 17 CLOCK ENDP CODE ENDS END START 18
本文档为【微机原理课设(电子时钟)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_633423
暂无简介~
格式:doc
大小:80KB
软件:Word
页数:21
分类:生活休闲
上传时间:2017-12-01
浏览量:44