大学毕业设计电子时钟的设计.docx
- 文档编号:8861517
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:10
- 大小:52.51KB
大学毕业设计电子时钟的设计.docx
《大学毕业设计电子时钟的设计.docx》由会员分享,可在线阅读,更多相关《大学毕业设计电子时钟的设计.docx(10页珍藏版)》请在冰豆网上搜索。
大学毕业设计电子时钟的设计
湖南电子学院
课程设计
04级电子信息工程专业
题目
电子时钟的设计
课程名称
微机原理与系统设计
姓名
孙强
学号
0412201*20
指导教师
力冰
日期
2005年12月28日
物理与电信工程系
一、设计任务及要求:
设计任务:
编写程序,在PC机上显示时间。
要求:
1:
学会运用进制转换;2:
了解屏幕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'**',0AH,0DH
DB'****',0AH,0DH
DB'****',0AH,0DH
DB'****',0AH,0DH
DB'*ELECTRONICCLOCK*',0AH,0DH
DB'*制作:
孙振彭强*',0AH,0DH
DB'*VERSION:
1.0*',0AH,0DH
DB'**',0AH,0DH
DB'**',0AH,0DH
DB'*MADEINCHINA*',0AH,0DH
DB'*-------------------------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
MOV[BX],AL;将转换后的低四位值送入缓冲区的第二个地址
INCBX
;----------------------------------------------------------
MOVAL,':
';显示分号
MOV[BX],AL
INCBX
;-------------------------------------------------------
MOVAH,2CH
INT21H
MOVAL,CL;分钟数设定
MOVAH,0
CALLBCTD
PUSHAX
ANDAL,0F0H
MOVCL,4
ROLAL,CL
ORAL,30H
MOV[BX],AL
INCBX
POPAX
ANDAL,0FH
ORAL,30H
MOV[BX],AL
INCBX
;-------------------------------------------------------------------------
MOVAL,':
';显示分号
MOV[BX],AL
INCBX
;-------------------------------------------------------------------------
MOVAH,2CH;秒设定
INT21H
MOVAL,DH
MOVAH,0
CALLBCTD
PUSHAX
ANDAL,0F0H
MOVCL,4
ROLAL,CL
ORAL,30H
MOV[BX],AL
INCBX
POPAX
ANDAL,0FH
ORAL,30H
MOV[BX],AL
INCBX
;----------------------------------------------------------------------
MOVAL,'$';将字符串的结束位送至显示缓冲区的最后一位
MOV[BX],AL
;------------------------------------------------------------------------
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
INT21H
PUSHBX;置光标位置
MOVAH,2
MOVBH,0
MOVDH,0
MOVDL,0
INT10H
POPBX
LEADX,MESS1
MOVAH,9
INT21H
PUSHBX;置光标位置
MOVAH,2
MOVBH,0
MOVDH,17
MOVDL,21
INT10H
POPBX
LEADX,MESS2
MOVAH,9
INT21H
;-----------------------------
CALLDELAY1
MOVAH,1;按任意键结束,调用键盘I/O中断功能号1,获取键值到AL
INT16H
CMPAL,1BH
JZQUIT;是ESC键的话就跳转
JMPDISPLAY
QUIT:
MOVAH,4CH
INT21H
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里
RET
BCTDENDP
;-------------------------------------------
CLEARPROCNEAR
PUSHAX;入栈保护现场
PUSHBX
PUSHCX
PUSHDX
MOVAX,0600H;AH=06(滚动)AL=00(全屏空白)
MOVBH,6AH;背景颜色,白色前景
SUBCX,CX
MOVDX,5F5FH
INT10H
POPDX;出栈恢复现场
POPCX
POPBX
POPAX
RET
CLEARENDP
;-----------------------------------------
DELAY1PROC;精确延迟时间子程序
MOVDX,04FFH;循环次数
UP:
XORCX,CX
A:
NOP
LOOPA
DECDX
JNZUP
RET
DELAY1ENDP
;----------------------------
CODEENDS
ENDMAIN
程序截图:
七.参考文献:
周明德.《微型计算机原理及应用》.第四版.北京.清华大学出版社
岳克宁主编.《微机原理及接口技术实验指导书》
彭楚武.《微机原理及接口技术》.湖南长沙.湖南大学出版社.2004.
马瑞芳主编.《汇编语言程序设计》.西北工业大学出版社2002年3月
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 毕业设计 电子 时钟 设计