云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 汇编汇编语言课程设计-电子时钟

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

  • 62 次阅读
  • 3 次下载
  • 2025/6/15 0:18:29

课程设计说明书 No.4

2.4程序设计 2.4.1 12/24时制程序设计 很明显要想实现此功能必须使用分支结构程序,调用DOS操作系统模块1,输入12/24时制的第一位即高位,再调用DOS操作系统模块1输入12/24时制的第二位即低位。然后将输入的两个ASCII码值转换为压缩BCD码存入定义的变量X中,用于与12H比较并跳转到相应进制显示的程序中。其程序片段如下: MOV AH,1 ;DOS功能模块,从键盘输入字符 INT 21H MOV BL,AL ;将输入的数据12,24转换为压缩BCD码存放在变量S中 AND BL,0FH SHL BL,1 SHL BL,1 SHL BL,1 SHL BL,1 MOV AH,1 INT 21H MOV CL,AL AND CL,0FH OR CL,BL MOV S,CL MOV AH,1 ;输入最后一个回车字符 INT 21H …… CMP S,12H JNZ AGAIN1 ;24进制则跳转到AGAIN1执行24进制显示的程序 2.4.2时钟起始时间的设置 先调用设置光标子程序和清除屏幕子程序,调用DOS操作系统模块9,在显

课程设计说明书 No.5

示屏上显示提示符“CURRENT TIME IS:”,再调用DOS操作系统模块10,提示要输入时钟的起始时间,输入时间的格式是“时(XX):分(XX):秒(XX)”。输入的时间以字符串形式放在已定义的存储器缓冲区,继而调用TRAN1和MUL10子程序,将存放在存储器缓冲区的ASCII字符转换成压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。其程序片段如下: MOV DX,OFFSET CT ;DOS功能模块,显示字符串,提示从键盘输入 MOV AH,9 INT 21H MOV DX,OFFSET BUFFER MOV AH,10 ;DOS功能模块,从键盘输入字符串到缓冲区 INT 21H MOV 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 2.4.3延时程序设计 调用TIME延时1S子程序(并未精确计算,因机器的主频不同会有差异),累加到存放秒值的寄存器DL中,并进行十进制调整。在累加的过程中,不断地对时、分、秒进行比较,秒不能等于60,分不能等于60,时不能等于12或24.秒等于限值时,则使秒值为0并且分值加1;时等于限值时,先置零然后就转显示屏输出。其程序片段如下:

课程设计说明书 No.6

TIME PROC PUSH CX PUSH AX MOV AX,25000 ;嵌套循环AX为外循环,CX为内循环 WAITED: MOV CX,24000 GOON: LOOP GOON DEC AX JNZ WAITED POP AX POP CX RET ENDP TIME 2.4.4时间显示程序设计 调用DOS操作系统模块9,可用来显示存储器内字符串。由于显示的字符串必须为ASCII编码,因为要调用TRAN2转换子程序将寄存器CH、DH、DL内压缩BCD码字符串转换成ASCII码字符串,字符串最后以字符“$”结束,并按时、分、秒的顺序送存储器缓冲区内。调用DOS操作系统模块9时,(DS:DX)应指向字符串首址。其程序片段如下: DISPLAY: MOV BX,OFFSET BUFFER INC BX INC BX CALL IOCLR CALL IOSET MOV AL,CH ;将小时的压缩BCD数转化为ASCII码在存储器中进行修改 CALL TRAN2 INC BX MOV AL,':' ;在中间添加一个‘:’ MOV [BX],AL

课程设计说明书 No.7

INC BX MOV AL,DH CALL TRAN2 INC BX MOV AL,':' MOV [BX],AL INC BX MOV AL,DL CALL TRAN2 CMP DH,30H ;到了30分钟不跳转,其余都跳到NEXT2 JNZ NEXT2 2.4.5半点、整点报时 当分达到30时,转到报时程序;当分到0时,转到报时程序;其余的情况都不用跳到报时程序而是正常执行输出。报时时会在时间后面接着显示“* :)”并发出嘀的一声。其半点、整点报时程序片段如下: INC BX MOV AL,'*' ;在输入缓冲区后面增加字符“* :)”用于显示 MOV [BX],AL INC BX MOV AL,':' MOV [BX],AL INC BX MOV AL,')' MOV [BX],AL INC BX MOV AL,07H ;在输入缓冲区后面加入07H=bel,报时 MOV [BX],AL JMP NEXT3 2.5开发环境

搜索更多关于: 汇编汇编语言课程设计-电子时钟 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

课程设计说明书 No.4 2.4程序设计 2.4.1 12/24时制程序设计 很明显要想实现此功能必须使用分支结构程序,调用DOS操作系统模块1,输入12/24时制的第一位即高位,再调用DOS操作系统模块1输入12/24时制的第二位即低位。然后将输入的两个ASCII码值转换为压缩BCD码存入定义的变量X中,用于与12H比较并跳转到相应进制显示的程序中。其程序片段如下: MOV AH,1 ;DOS功能模块,从键盘输入字符 INT 21H MOV BL,AL ;将输入的数据12,24转换为压缩BCD码存放在变量S中 AND BL,0FH SHL BL,1 SHL BL,1 SHL BL,1 SHL BL,1 MOV AH,1 INT 21H MOV CL,AL AND CL,0FH OR CL,BL MOV S,C

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com