汇编语言课程设计——————电子时钟的设计 联系客服

发布时间 : 星期六 文章汇编语言课程设计——————电子时钟的设计更新完毕开始阅读c6084a79168884868762d617

CURSOR 6,9 STRDSPY BUF3 CURSOR 7,9 STRDSPY BUF4 CURSOR 14,32 STRDSPY BUF1 CURSOR 15,36 LEA DX,BUF2 MOV AH,0AH

INT 21H ;从键盘接收当前时间

LEA BX,BUF2

ASCBCD CH ;小时值ASCII到BCD

;存CH

ASCBCD DH ;分值ASCII到BCD ;存DH

ASCBCD DL ;秒值ASCII到BCD ;存DL

TIMER: CALL DELY ;延时1秒 INCBCD DL,60H ;(DL)+1,并判 ;大于等于60?

INCBCD DH,60H ;(DH)+1,并判 ;大于等于60?

INCBCD CH,24H ;(CH)+1,并判 ;大于等于60? DISPY: LEA BX,BUF2

BCDASC CH ;时值BCD转到ASCII BCDASC DH ;分值BCD转到ASCII BCDASC DL ;秒值BCD转到ASCII INC BX MOV AL,'$' MOV [BX],AL PUSH DX

CURSOR 15,36 ;设置光标

STRDSPY BUF2+2 ;显示时,分,秒值 POP DX MOV AH,01H INT 16H CMP AL,1BH JZ X XOR AL,AL JMP TIMER X:MOV AH,4CH INT 21H RET

DELY PROC PUSH CX PUSH CX MOVE 4600 X1:DEC CX,0FFFFH

X2:DEC CX JNE X2 DEC AX JNE X1 POP AX POP CX RET

DELY ENDP CLOCK ENDP CODE ENDP

END START

开始 显示提示符 从键盘上接收当前时,分,秒 时,分,秒值ASCII码转换为BCD码,分别存入CH,DH,DL 延时1秒 DL加1,DAA调整 (DH)>=60H? DL清零,DH加1,DAA调整 (DH)>=60H? DH清零,CH加1,DAA调整 (CH)>=24H? CH清零 时,分,秒值BCD码转换为ASCII码,输出显示

六.调试过程: 1)编译源文件,命名为HULINGWEI。ASM

2)采用命令格式。MASM HULINGWEI。ASM将生成一个OBJ文件,检查源程序中的错误,并改正。

3)键入连接命令:LINK HULINGWEI。OBJ,再次键入HULILNGWEI回车,即可显示结果。

4)时间在运行中出现了不准确性,对程序的循环次调整后,时间能正常运行。

七.时遇到的问题及解决方法

在课程设计中遇到的最大的困难是如何产生中断,对中断向量表的装载还比较模糊,对中断的初始化、具体设置、中断返回还不是很清楚,程序设计一度陷入停滞状态,不知如何是好。 我们又重新翻阅了杨素行主编的《微型计算机系统原理及应用》

及周明德主编的《微型计算机的原理及应用》,重点研究了《中断》,通过对这一章的学习,我们终于对中断有了详细的认识,在设计程序

西安工业大学课程设计用纸

时也容易了很多。 八.心得体会

这是我第一次用汇编语言来设计一个小程序,历时一周终于完成,