下载

2下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 【精华】电子制作资料总集电子时钟的设计

【精华】电子制作资料总集电子时钟的设计.doc

【精华】电子制作资料总集电子时钟的设计

han2363040
2018-09-06 0人阅读 举报 0 0 暂无简介

简介:本文档为《【精华】电子制作资料总集电子时钟的设计doc》,可适用于工程科技领域

电子时钟的设计课程名称:汇编语言程序设计课程英文名称:PROGRAMMINGBYASSEMBLELANGUAGE一.设计目的:      理解掌握定时计数器和中断的使用方法。      掌握微机常用的输入输出方式及接口技术。      掌握一定的汇编语言知识培养自己的动手操作能力。      学习程序设计的基本思路和方法。二.程序内容:第一部分:定义显示界面。第二部分:调用系统时间并将调用的用二进制表示的时间数转换成ASCII码并将时间数存入内存区。第三部分:将存在系统内存区的时间数用显示字符串的形式显示出来。第四部分:获取键盘的按键值,以ESC键退出系统返回DOS。三.程序设计原理:首先在数据段开辟一显示缓冲区用来存储系统时间。调用DOS中断返回系统时间并将来返回的二进制时间转换成ASCII码方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区并最终存入一结束字符号’$’。调用DOS字符串显示功能将时间显示出来。并调用屏幕IO中断定位光标的开始位置结合着将时间显示在我们预先定义好的位置上。由于获取了的系统时间不会自动刷新所以我们要设计成刷新的方式来不断获取系统的时间这样就形成了会跳动的电子钟了。调用延时TIME延时中断服务程序累加到存放秒值的寄存器DL中并进行十进制调整。在累加的过程中不断地对时、分、秒值进行比较秒不能等于分不能等于时不能等于。秒等于限制值时则使秒值为分值加分等于限制值时则使分值为时值加时等于限制值时则使时值为时、分、秒值都不超过限制值时就转显示屏输出。时间显示的刷新要配合延时程序进行为了得到良好的显示效果延时程序要尽量接近秒但又不能超过一秒所以本程序调用了一段较精确的时间延迟程序。      利用BIOSS设计窗口选择适当的背景和前景等使屏幕显示更加完美。程序一旦进入运行就将不间断地在显示屏显示时间要想程序停止运行可同时在键盘按下ESC键返回DOS系统。四.程序流程图如下:DATA   SEGMENT                                        设置数据段   BUF   DB'THETIMEISNOW:$'   BUF   DB'   ^^^^^^^    $'  BUF   DB'    #######     $'   BUF   DB'>oo<$'   BUF   DB'(::)$'   BUF   DB'~~$'   BUF  DB'!!$'   BUF   DB'CLASS:$'   BUF    DB'NAME:hulingwei $'  BUF   DB          DBDUP()          DATAENDS   STACK  SEGMENTSTACK                       设置堆栈段          DBDUP()          STACKENDS   CODE   SEGMENT                              设置代码段          ASSUMECS:CODE,DS:DATA,SS:STACK   CURSOR  MACROROW,CLM                         设置光标位置          MOVAH,          MOVBH,          MOVDH,ROW          MOVDL,CLM            INTH          ENDM    WIN    MACROROWL,CLML,ROWR,CLMR,COLOR        设置窗口位置颜色          MOVAH,          MOVAL,          MOVCH,ROWL           MOVCL,CLML          MOVDH,ROWR          MOVDL,CLMR           MOVBH,COLOR          INTH           ENDM          ASCBCDMACROREG          INCBX          INCBX          MOVREG,BX          MOVCL,          SHLREG,CL          INCBX          MOVAL,BX          ANDAL,FH          ORREG,AL          ENDM          BCDASCMACROREG          INCBX           INCBX          MOVAL,REG          MOVCL,          SHRAL,CL          ORAL,H          MOVBX,AL          INCBX          MOVAL,REG          ANDAL,FH           ORAL,H          MOVBX,AL           ENDM  INCBCD MACROREG,COUNT            BCD数加          MOVAL,REG          INCAL          DAA           MOVREG,AL          CMPAL,COUNT          JNZDISPY          MOVREG,          ENDM   STRDSPYMACROADRS          LEADX,ADRS          MOVAH,          INTH          ENDM          CLOCKPROCFAR  START: PUSHDS           显示字符串          MOVAX,          PUSHAX          MOVAX,DATA           MOVDS,AX          WIN,,,,          WIN,,,,B     设置窗口          CURSOR,                  设置光标           STRDSPYBUF                 显示字符串          CURSOR,                  设置光标          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          STRDSPYBUF          CURSOR,          LEADX,BUF          MOVAH,AH          INTH                      从键盘接收当前时间 LEABX,BUF          ASCBCDCH                     小时值ASCII到BCD                                         存CH          ASCBCDDH                     分值ASCII到BCD                                         存DH          ASCBCDDL                     秒值ASCII到BCD                                         存DL    TIMER:CALLDELY                     延时秒          INCBCDDL,H                 (DL)并判                                          大于等于?          INCBCDDH,H                 (DH)并判                                          大于等于?          INCBCDCH,H                (CH)并判                                          大于等于?    DISPY:LEABX,BUF          BCDASCCH                     时值BCD转到ASCII          BCDASCDH                    分值BCD转到ASCII          BCDASCDL                     秒值BCD转到ASCII          INCBX          MOVAL,'$'          MOVBX,AL          PUSHDX          CURSOR,                 设置光标           STRDSPYBUF                显示时分秒值           POPDX          MOVAH,H           INTH          CMPAL,BH           JZX          XORAL,AL          JMPTIMER         X:MOVAH,CH          INTH          RET     DELY  PROC         PUSH CX         PUSHCX         MOVE   X:DEC  CX,FFFFH   X:DEC  CX    JNE X   DEC AX   JNE X  POP AX   POP CX   RET    DELY ENDP    CLOCK  ENDP  CODE ENDP       END  START      六.调试过程:)编译源文件命名为HULINGWEI。ASM)采用命令格式。MASMHULINGWEI。ASM将生成一个OBJ文件检查源程序中的错误并改正。)键入连接命令:LINKHULINGWEI。OBJ再次键入HULILNGWEI回车即可显示结果。)时间在运行中出现了不准确性对程序的循环次调整后时间能正常运行。七.时遇到的问题及解决方法   在课程设计中遇到的最大的困难是如何产生中断对中断向量表的装载还比较模糊对中断的初始化、具体设置、中断返回还不是很清楚程序设计一度陷入停滞状态不知如何是好。   我们又重新翻阅了杨素行主编的《微型计算机系统原理及应用》及周明德主编的《微型计算机的原理及应用》重点研究了《中断》通过对这一章的学习我们终于对中断有了详细的认识在设计程序时也容易了很多。八.心得体会   这是我第一次用汇编语言来设计一个小程序历时一周终于完成其间有不少感触。   .借鉴   鲁迅先生曾说过要"拿来"对在这次课程设计中就要"拿来"不少子程序比如将ASCII码转换成BCD码将BCD码转换成压缩BCD码将压缩BCD码转换成ASCII码等这些子程序的设计是固定的因此可以直接从指导资料中调用至于设置光标的子程序只需要修改几个参数就可以这大大方便了我们的设计为我们节省了很多的时间。   .合作   这个时代不欢迎孤独的英雄因为一个人的能力毕竟有限惟有善于合作的团队才能发挥出最大的能量。在这次课程设计中我真正体会到了合作的重要性我们这个班级在这次程序设计中总在一起从要实现的功能到流程图的绘制从程序的编写到程序的检查从程序的调试到实验报告的写作其间每一个过程都凝聚了我们班级的力量。在遇到棘手的问题时我们总是一起讨论一起把问题解决在我遇到不很明白的程序时是同学们耐心地给我讲解在我面对有错的程序不知所措时也是同学们帮我一步步地调试耐心的指导直至程序能正常运行。   .指导老师提供的资料很重要   这次课程设计的大部分程序都可以在王老师提供的资料中找到这对我们的程序设计很有帮助从这些资料中我们可以看出这个时钟程序的基本流程修改一些程序就可以实现这个时钟的基本功能添加一些程序就可以实现这个时钟的附加功能可以说如果没有王老师提供的源程序我们将面临很大的困难。   .考核方式很正规   在程序设计完之后不仅仅是交上设计报告就可以过关还必须要经过王老师得面试。杨老师在面试时就我们编写的程序提问了几个问题以考察我们是否真正了解了这个程序面是很严格表现不好就不能过关。在这次面试中我认识到自己对一些细节还不是很清楚还有待于进一步提高通过这次课程设计我明白了做任何事情都要脚踏实地认真钻研严格谨慎。   向在这次课程设计中给与指导和帮助的王老师表示衷心的感谢!九.参考文献。周明德。微型计算机原理及应用。北京。清华大学出版社。扬素行。微型计算机系统原理及应用。北京。清华大学出版社。开始��显示提示符��从键盘上接收当前时,分,秒��时,分,秒值ASCII码转换为BCD码,分别存入CH,DH,DL��延时秒��DL加,DAA调整��(DH)>=H��DL清零,DH加,DAA调整��(DH)>=H��DH清零,CH加,DAA调整��(CH)>=H��CH清零��时,分,秒值BCD码转换为ASCII码,输出显示��

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/10

【精华】电子制作资料总集电子时钟的设计

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利