大学毕业设计电子时钟的设计Word文件下载.docx

上传人:b****6 文档编号:21997681 上传时间:2023-02-02 格式:DOCX 页数:10 大小:52.51KB
下载 相关 举报
大学毕业设计电子时钟的设计Word文件下载.docx_第1页
第1页 / 共10页
大学毕业设计电子时钟的设计Word文件下载.docx_第2页
第2页 / 共10页
大学毕业设计电子时钟的设计Word文件下载.docx_第3页
第3页 / 共10页
大学毕业设计电子时钟的设计Word文件下载.docx_第4页
第4页 / 共10页
大学毕业设计电子时钟的设计Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

大学毕业设计电子时钟的设计Word文件下载.docx

《大学毕业设计电子时钟的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《大学毕业设计电子时钟的设计Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

大学毕业设计电子时钟的设计Word文件下载.docx

了解屏幕I/O中断;

3:

了解定时/计数器和中断的使用;

4:

在本实中使用了DOS中断的键盘功能调用解了微机的原理与应用技术,特别是在对中断技术的理解与应用方面,更好地理解了微机的工作情况与运行方式,让我们对其有更深刻的认识。

指导教师签名:

年月日

二、指导教师评语:

三、成绩

验收盖章

年月日

一.课程设计目的:

了解定时/计数器和中断的使用。

二.课程设计的主要内容和要求:

第一部分:

定义显示界面。

第二部分:

调用系统时间,并将调用的用二进制表示的时间数转换成ASCII码,并将时间数存入内存区。

第三部分:

将存在系统内存区的时间数用显示字符串的形式显示出来。

第四部分:

获取键盘的按键值,判断键值并退出系统。

三.设计思路:

首先在数据段开辟一显示缓冲区,用来存储系统时间。

调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。

分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号’$’。

调用DOS字符串显示功能将时间显示出来。

并调用屏幕I/O中断,定位光标的开始位置,结合着将时间显示在我们预先定义好的位置上。

由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。

其次在二进制转化成ASCII码的过程中,我进一步地了解到,在转化过程中,二进制数首先转化为双四位的BCD码,再将高四位低四位分别相加30H,从而转化为ASCII码,了解电脑cup如何将ASCII码的信息转换成显示字符。

最后,了解了如何对其他经典程序的灵活应用。

我们的程序是不断对显示屏进行刷新的,所以我们调用了bctd程序,这是一个精确的计时程序,计数时间约为1秒,然后我们用了jmpdisplay指令,刷新显示屏,从而达到时间的每秒显示。

四.流程图:

Y

五.程序原代码:

;

NAME:

ELECTRONICCLOCK

;

DESIGNBYZENGQINGYUCLASS1ANDMOXIAOLEICLASS3

DATASEGMENT

MESS1DB'

我们的电子时钟'

0AH,0DH

DB'

**'

****'

*ELECTRONICCLOCK*'

*制作:

孙振彭强*'

*VERSION:

1.0*'

*MADEINCHINA*'

*-------------------------OOOO-------------------------*'

'

$'

MESS2DB'

现在时刻:

'

0AH,0DH,'

T_BUFFDB20;

在数据段开辟一时间显示缓冲区

DATAENDS

STACKSEGMENT

DB100DUP(?

STACKENDS

CODESEGMENT

ASSUMECS:

CODE,SS:

STACK,DS:

DATA

MAIN:

CALLCLEAR;

调用清屏子程序

DISPLAY:

----------------------------时间显示部分--------------

MOVAX,SEGDATA

MOVDS,AX

MOVBX,OFFSETT_BUFF;

送T_BUFF的偏移地址到BX

MOVAH,2CH;

调用DOS时间调用功能,功能号:

2CH,小时,分钟,秒数分别保存在CH,CL,DH中

INT21H

MOVAL,CH;

小时数设定

MOVAH,0

CALLBCTD;

调用进制转换子程序

PUSHAX

ANDAL,0F0H;

选取AL高四位

MOVCL,4;

设置右循环的次数

ROLAL,CL;

右循环

ORAL,30H;

加30H得到ACSII码

MOV[BX],AL;

将得到的结果送到T_BUFF缓冲区

INCBX;

BX自加1,指针指向下一个缓冲区的下一个地址

POPAX

ANDAL,0FH;

选取低四位,道理同上

ORAL,30H

将转换后的低四位值送入缓冲区的第二个地址

INCBX

----------------------------------------------------------

MOVAL,'

:

;

显示分号

MOV[BX],AL

-------------------------------------------------------

MOVAH,2CH

MOVAL,CL;

分钟数设定

CALLBCTD

ANDAL,0F0H

MOVCL,4

ROLAL,CL

MOV[BX],AL

ANDAL,0FH

-------------------------------------------------------------------------

;

秒设定

MOVAL,DH

----------------------------------------------------------------------

;

将字符串的结束位送至显示缓冲区的最后一位

------------------------------------------------------------------------

PUSHBX;

置光标位置,AH=2,BH=0,DH跟DL分别为行号与列号,并入栈保护BX

MOVAH,2

MOVBH,0

MOVDH,17

MOVDL,41

INT10H

POPBX

LEADX,T_BUFF;

送T_BUFF偏移地址到DX,并调用DOS显示功能,功能号为9

MOVAH,9

PUSHBX;

置光标位置

MOVDH,0

MOVDL,0

LEADX,MESS1

PUSHBX;

MOVDL,21

LEADX,MESS2

-----------------------------

CALLDELAY1

MOVAH,1;

按任意键结束,调用键盘I/O中断功能号1,获取键值到AL

INT16H

CMPAL,1BH

JZQUIT;

是ESC键的话就跳转

JMPDISPLAY

QUIT:

MOVAH,4CH

RET

-------------------------------

BCTDPROCNEAR;

二进制转BCD码子程序

AX输入参数

AX输出参数,存放调整过的BCD码

MOVDX,AX

MOVAX,0

MOVCX,16;

设循环次数

BCTD1:

CLC;

清进位标志C

RCLDX,1;

通过进位的循环右移

ADCAL,AL;

带进位加法

DAA;

加法的十进制调整

XCHGAL,AH;

交换高,低八位

ADCAL,AL

DAA

XCHGAL,AH

LOOPBCTD1;

循环,次数保存在CX里

BCTDENDP

-------------------------------------------

CLEARPROCNEAR

PUSHAX;

入栈保护现场

PUSHBX

PUSHCX

PUSHDX

MOVAX,0600H;

AH=06(滚动)AL=00(全屏空白)

MOVBH,6AH;

背景颜色,白色前景

SUBCX,CX

MOVDX,5F5FH

POPDX;

出栈恢复现场

POPCX

CLEARENDP

-----------------------------------------

DELAY1PROC;

精确延迟时间子程序

MOVDX,04FFH;

循环次数

UP:

XORCX,CX

A:

NOP

LOOPA

DECDX

JNZUP

DELAY1ENDP

----------------------------

CODEENDS

ENDMAIN

程序截图:

七.参考文献:

周明德.《微型计算机原理及应用》.第四版.北京.清华大学出版社

岳克宁主编.《微机原理及接口技术实验指导书》

彭楚武.《微机原理及接口技术》.湖南长沙.湖南大学出版社.2004.

马瑞芳主编.《汇编语言程序设计》.西北工业大学出版社2002年3月

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1