汇编汇编语言课程设计-电子时钟

上传人:cl****1 文档编号:478634596 上传时间:2022-09-26 格式:DOC 页数:25 大小:146KB
返回 下载 相关 举报
汇编汇编语言课程设计-电子时钟_第1页
第1页 / 共25页
汇编汇编语言课程设计-电子时钟_第2页
第2页 / 共25页
汇编汇编语言课程设计-电子时钟_第3页
第3页 / 共25页
汇编汇编语言课程设计-电子时钟_第4页
第4页 / 共25页
汇编汇编语言课程设计-电子时钟_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《汇编汇编语言课程设计-电子时钟》由会员分享,可在线阅读,更多相关《汇编汇编语言课程设计-电子时钟(25页珍藏版)》请在金锄头文库上搜索。

1、课程设计说明书 No.1课 程 设 计 任 务 书专 业计算机科学与技术班 级姓 名设 计 起 止 日 期设计题目: 电子时钟设计任务(主要技术参数):1硬件环境:CPU:1.6GH以上 内存:4GB以上2软件环境:操作系统: Windows 8运行环境:masm.Exe3设计任务:要求有显示位置:屏幕中央;日期显示格式时:分:秒;12/24时制可调;在显示屏上显示提示语“CURRENT TIME IS:”和当前时间;整点和半点报时功能。指导教师评语:成绩: 签字:年 月 日电子时钟 1.课程设计目的 汇编语言是面向机器的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址

2、码。这样用符号代替机器语言的二进制代码,就把机器语言变成了汇编语言。汇编语言能够最大限度的发挥硬件的性能。 本次课程设计我做的是计算机时钟模拟显示程序的设计,要求有显示位置:屏幕中央;日期显示格式时:分:秒;12/24时制可调;在显示屏上显示提示语“CURRENT TIME IS:”和当前时间。在这次课程设计中我加入了整点和半点报时功能。使得程序更加完善。2.设计思路2.1设计任务及要求(1)使用汇编语言设计一个运行于计算机的时钟模拟显示软件,软件应实现模拟显示时钟。(2)根据任务书的要求,可知需要设计的计算机时钟模拟显示程序是基于汇编语言的应用程序设计,程序运行成功后,页面出现数字式的时钟。

3、具体过程如下首先界面中间出现“TIME SYSTEM IS:”提示输入12/24时制。输入以后会出现“CURRENT TIME IS:”提示输入初值时间其格式为:时(XX):分(XX):秒(XX)。接着就会在界面出现所设的初值开始计时其输出格式为XX:XX:XX。并且到半点或整点会报时。此模拟时钟外观简洁明了,功能和实际运用到的时钟的基本功能一样,用起来非常方便、快捷。2.2设计原理1. 12/24时制的设置调用DOS操作系统模块1,输入12/24时制的第一位即高位,再调用DOS操作系统模块1输入12/24时制的第二位即低位。然后将输入的两个ASCII码值转换为压缩BCD码存入定义的变量X中,

4、用于与12H比较并跳转到相应进制显示的程序中。2.时钟起始时间的设置先调用设置光标子程序和清除屏幕子程序,调用DOS操作系统模块9,在显示屏上显示提示符“CURRENT TIME :”,再调用DOS操作系统模块10,提示要输入时钟的起始时间,输入时间的格式是“时(XX):分(XX):秒(XX)”。输入的时间以字符串形式放在已定义的存储器缓冲区,继而调用TRAN1和MUL10子程序,将存放在存储器缓冲区的ASCII字符转换成压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。3.延时程序调用TIME延时1S子程序(并未精确计算),累加到存放秒值的寄存器DL中,并进行十进制调整。在累加

5、的过程中,不断地对时、分、秒进行比较,秒不能等于60,分不能等于60,时不能等于12或24.秒等于限值时,则使秒值为0并且分值加1;时等于限值时,先置零然后就转显示屏输出。4.时间显示调用DOS操作系统模块9,可用来显示存储器内字符串。由于显示的字符串必须为ASCII编码,因为要调用TRAN2转换子程序将寄存器CH、DH、DL内压缩BCD码字符串转换成ASCII码字符串,字符串最后以字符“$”结束,并按时、分、秒的顺序送存储器缓冲区内。调用DOS操作系统模块9时,(DS:DX)应指向字符串首址。程序一旦进入运行,就将不间断地在显示屏显示时间,要想使程序停止运行,可同时在键盘按下Ctrl和Bre

6、ak二键。5.半点、整点报时 当分达到30时,转到报时程序;当分到0时,转到报时程序;其余的情况都不用跳到报时程序而是正常执行输出。2.3 程序流程图根据以上程序流程相应的说明,在程序编写前,我们应先画出程序流程图本程序的流程图如图1所示。开始显示提示语键盘输入时制显示提示语键盘输入初始时间时间数据转换为BCD数BCD数转换为压缩BCD数时CH,分DH,秒DL延时1秒12进制显示24进制显示DH=30H?DH=0H?报时字符显示报时S=12H?NYNYNY图1 程序流程图2.4程序设计2.4.1 12/24时制程序设计 很明显要想实现此功能必须使用分支结构程序,调用DOS操作系统模块1,输入1

7、2/24时制的第一位即高位,再调用DOS操作系统模块1输入12/24时制的第二位即低位。然后将输入的两个ASCII码值转换为压缩BCD码存入定义的变量X中,用于与12H比较并跳转到相应进制显示的程序中。其程序片段如下:MOV AH,1 ;DOS功能模块,从键盘输入字符 INT 21HMOV BL,AL ;将输入的数据12,24转换为压缩BCD码存放在变量S中AND BL,0FHSHL BL,1SHL BL,1SHL BL,1SHL BL,1MOV AH,1INT 21HMOV CL,ALAND CL,0FHOR CL,BLMOV S,CLMOV AH,1 ;输入最后一个回车字符INT 21HC

8、MP S,12HJNZ AGAIN1 ;24进制则跳转到AGAIN1执行24进制显示的程序2.4.2时钟起始时间的设置先调用设置光标子程序和清除屏幕子程序,调用DOS操作系统模块9,在显示屏上显示提示符“CURRENT TIME :”,再调用DOS操作系统模块10,提示要输入时钟的起始时间,输入时间的格式是“时(XX):分(XX):秒(XX)”。输入的时间以字符串形式放在已定义的存储器缓冲区,继而调用TRAN1和MUL10子程序,将存放在存储器缓冲区的ASCII字符转换成压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。其程序片段如下:MOV DX,OFFSET CT ;DOS功

9、能模块,显示字符串,提示从键盘输入MOV AH,9INT 21HMOV DX,OFFSET BUFFERMOV AH,10 ;DOS功能模块,从键盘输入字符串到缓冲区INT 21HMOV BX,OFFSET BUFFER+2 CALL TRAN1 ;时转换为BCD数 INC BX INC BX CALL TRAN1 ;分转换为BCD数 INC BX INC BX CALL TRAN1 ;秒转换为BCD数 MOV BX,OFFSET BUFFER+2 ;原输入缓冲区的BCD数转换压缩BCD MOV AL,BX ;数的同时将输入缓冲区的数据传给 CALL MUL10 ;时-CH,分-DH,秒-DL

10、2.4.3延时程序设计调用TIME延时1S子程序(并未精确计算,因机器的主频不同会有差异),累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时、分、秒进行比较,秒不能等于60,分不能等于60,时不能等于12或24.秒等于限值时,则使秒值为0并且分值加1;时等于限值时,先置零然后就转显示屏输出。其程序片段如下:TIME PROC PUSH CXPUSH AXMOV AX,25000 ;嵌套循环AX为外循环,CX为内循环 WAITED: MOV CX,24000 GOON: LOOP GOONDEC AXJNZ WAITEDPOP AXPOP CXRET TIME ENDP

11、2.4.4时间显示程序设计调用DOS操作系统模块9,可用来显示存储器内字符串。由于显示的字符串必须为ASCII编码,因为要调用TRAN2转换子程序将寄存器CH、DH、DL内压缩BCD码字符串转换成ASCII码字符串,字符串最后以字符“$”结束,并按时、分、秒的顺序送存储器缓冲区内。调用DOS操作系统模块9时,(DS:DX)应指向字符串首址。其程序片段如下:DISPLAY: MOV BX,OFFSET BUFFER INC BX INC BXCALL IOCLRCALL IOSETMOV AL,CH ;将小时的压缩BCD数转化为ASCII码在存储器中进行修改CALL TRAN2 INC BXMO

12、V AL,: ;在中间添加一个:MOV BX,ALINC BXMOV AL,DH CALL TRAN2 INC BXMOV AL,:MOV BX,ALINC BXMOV AL,DL CALL TRAN2CMP DH,30H ;到了30分钟不跳转,其余都跳到NEXT2 JNZ NEXT22.4.5半点、整点报时 当分达到30时,转到报时程序;当分到0时,转到报时程序;其余的情况都不用跳到报时程序而是正常执行输出。报时时会在时间后面接着显示“* :)”并发出嘀的一声。其半点、整点报时程序片段如下:INC BXMOV AL,* ;在输入缓冲区后面增加字符“* :)”用于显示MOV BX,ALINC

13、BXMOV AL,:MOV BX,ALINC BXMOV AL,)MOV BX,ALINC BXMOV AL,07H ;在输入缓冲区后面加入07H=bel,报时MOV BX,ALJMP NEXT32.5开发环境2.5.1软、硬件环境软件环境:操作系统:Windows 8.1 64位(DirectX 11)、 BIOS系统 DOS系统硬件环境:处理器:英特尔 第五代酷睿 i5-5200U 2.40GHz 双核 内存:4GB(戴尔 DDR3 1333MHz) 主硬盘:希捷 ST500LM012 HN-M500MBB (500GB/5400转/分) 显示器:戴尔Inspiron(15.6英寸)2.5.2 MASM开发环境Masm是汇编编译器,是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发的优点,支持伪指令和宏汇编,最后编译生成obj文件,通过link工具连

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号