微机原理课程设计-显示时间日期

上传人:飞*** 文档编号:32663969 上传时间:2018-02-12 格式:DOC 页数:9 大小:161KB
返回 下载 相关 举报
微机原理课程设计-显示时间日期_第1页
第1页 / 共9页
微机原理课程设计-显示时间日期_第2页
第2页 / 共9页
微机原理课程设计-显示时间日期_第3页
第3页 / 共9页
微机原理课程设计-显示时间日期_第4页
第4页 / 共9页
微机原理课程设计-显示时间日期_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《微机原理课程设计-显示时间日期》由会员分享,可在线阅读,更多相关《微机原理课程设计-显示时间日期(9页珍藏版)》请在金锄头文库上搜索。

1、微型计算机原理与课程设计课程设计- 1 -一、课程设计目的用汇编语言独立完成一个程序题,以达到熟练运用汇编语言编程实现有比较完整功能的程序的目的。(1)学习分支、中断、和逻辑表达。(2)熟悉汇编语言程序的编译、链接过程。二课程设计任务设计一个显示日期或时间的汇编程序间且满足以下要求:基本功能:运行可执行程序 systime.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q” ,可结束程序。三、总体设计方案通过调用 bios 16H 中断的 1 号功能,读取键盘的状态扫描键盘输入,根据键盘输入的相关内容,如:若输入 D,则

2、设计程序代码依次读取系统日期年、月、日,并转换成 BCD 码调用号中断予以显示;若在键盘输入 T,则设计程序代码依次读取系统时间时、分、秒,并转换成码并调用号中断予以显示;若输入大写字母 Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。四、部分程序设计及功能解说1、 扫描键盘输入用 SCANK:;扫描键盘输入,根据键盘输入调用 bios 16H 中断的 1 号功能,读取键盘的状态,根据输入的字母,与字母“进行比较,若值为则去执行 CHKT,并响应按键D扫描键盘输入部分程序如下:XOR AX,AXINT 16H;调用 bios 16H 中断的 1 号功能,读取键盘的状态.C

3、MP AL,DJNE CHKT;如果输入的是字母“D”则跳转执行 CHKT 子程序CALL DSPD;响应按键DJMP SCANK2、 BCD 码转换将读取的二进制代码循环右移 4 位,相当于将二进制转换成 16 进制;将寄存器内容与进行或运算,把单元传递于寄存器;程序代码如下:ROR AX,CL微型计算机原理与课程设计课程设计- 2 -SHR AH,CLOR AX,3030HMOV CH,AH3、 显示部分调用 10 号中断的 0E 功能显示 AL 寄存器的内容,即 BCD 码将显示在屏幕上。注意:BL=前景色;AL=字符。BCD 码显示代码如下所示:MOV AH,0EHINT 10H;调用

4、 10 号中断的 0E 功能显示MOV AL,CHINT 10H五、程序设计流程图开 始扫描键盘输入输 入 字 母是、? 读取系统时间读取系统时间退出当前文件结束输入“”输入“T”输入Q转换为 BCD码显示转换为 BCD码显示六.程序段功能汇总1、MAIN 程序用 SCANK:;扫描键盘输入,根据键盘输入调用 bios 16H 中断的 1 号功能,读取键微型计算机原理与课程设计课程设计- 3 -盘的状态,根据输入的字母,与字母“进行比较疑惑,若异或值为则去执行CHKT,并响应按键 D。其他如输入“T”和“Q”时同理。2、DSPBCD PROC 子程序即日期时间显示程序,以日期显示程序为例,通过

5、读取系统的日期项如“年” , 由于读取的日期项是二进制代码,所以调用 DSPBCD,把读取的系统日期项存为 BCD 码,然后将其显示出来,然后再循环以同样方法读取月,日。3、DSPD PROC 子程序本子程序是当键盘输入字母“D”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统日期项,由于读取的日期项是二进制代码,因此需调用 DSPBCD PROC 子程序转换为 BCD 码并予以显示;执行完 DSPBCD PROC 子程序后调用 10 号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。4、DSPT PROC 子程序本子程序是当键盘输入

6、字母“T”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统时间项,由于读取的日期项是二进制代码,因此需调用 DSPBCD PROC 子程序转换为 BCD 码并予以显示;执行完 DSPBCD PROC 子程序后调用 10 号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。其执行过程与执行 DSPD PROC 子程序相似。七.程序清单STACK SEGMENT STACK ;定义堆栈段STACKH DB 20H DUP(?)STSIZE EQU $-STACKHSTACK ENDSCODE SEGMENTASSUME CS:CODE,SS

7、:STACK;,DS:DATASTART: ;程序执行的起始地址MOV AX,STACK;堆栈段经 AX 寄存器转移到 SS 寄存器MOV SS,AXMOV SP,STSIZESCANK:;扫描键盘输入XOR AX,AXINT 16H;调用 bios 16H 中断的 1 号功能,读取键盘的状态.CMP AL,D;AL=D ?微型计算机原理与课程设计课程设计- 4 -JNE CHKT;如果不相等跳转到子程序CALL DSPD;响应按键DJMP SCANKCHKT:CMP AL,T;与字母“T”进行比较JNE CHKQ;如果不相等跳转到子程序执行CALL DSPT;响应按键TJMP SCANK;跳

8、转到CHKQ: ;可以添加代码以响应其他按键;否则,它们将被忽略CMP AL,QJE EXIT;响应按键QJMP SCANK;跳转执行到子程序EXIT:MOV AX,4C00H;退出当前系统INT 21H;功能: 显示一个压缩 BCD 码;入口: BH=页号; BL=前景色; AL=压缩 BCD 码DSPBCD PROCPUSH AXPUSH CXMOV CL,4;串长度为 4MOV AH,0;把读取的二进位数转为 BCD 码ROR AX,CLSHR AH,CLOR AX,3030HMOV CH,AH;显示 BCD 码MOV AH,0EHINT 10H;调用 10 号中断的 0E 功能显示MO

9、V AL,CH微型计算机原理与课程设计课程设计- 5 -INT 10HPOP CX;退出当前堆栈段POP AXRETDSPBCD ENDP;功能: 显示系统日期;入口: BH=页号,BL=前景色; DSPD 直接传给 DSPBCDDSPD PROCPUSH AX;定义堆栈段地址PUSH CXMOV AL,9MOV CX,3;定义循环次数 3 次GETD: ;子程序定义PUSH AX;读取系统日期项OUT 70H,ALIN AL,71HCALL DSPBCD ;显示一个日期项,如:年MOV AX,0E2EH ;.的 ASCII 码为 2EINT 10H ;显示一个分隔符.POP AXDEC AL

10、LOOP GETD;继续循环 GETDPOP CXPOP AXRETDSPD ENDP;功能: 显示系统时间;入口: BH=页号,BL=前景色; DSPT 直接传给 DSPBCDDSPT PROCPUSH AXPUSH CX微型计算机原理与课程设计课程设计- 6 -MOV AL,04H;定义串长度MOV CX,3;定义循环次数 3 次,分别读取时、分、秒GETT: ;子程序 GETTPUSH AX;读取一个系统时间项OUT 70H,ALIN AL,71HCALL DSPBCD ;显示一个日期项,如:日MOV AX,0E3AH ;:的 ASCII 码为 3AINT 10H ;显示一个分隔符:PO

11、P AXSUB AL,2LOOP GETT;条件下继续循环 GETTPOP CX;退出堆栈段POP AXRET;返回主程序执行DSPT ENDPCODE ENDSEND START;程序结束八.试验结果及分析、实验结果双击 systime.exe,程序初始运行界面:如果按错了键,会出现如下界面,没任何反应,也不显示任何信息:微型计算机原理与课程设计课程设计- 7 -如果输入正确如“D”将出现如下界面(每输入一次就显示一次系统日期):如果输入正确如“T”将出现如下界面(每输入一次就显示一次系统时间):如果输入“Q” ,则退出以上界面。、实验结果分析:通过以上的结果显示可以看出结果成功完成本次课程

12、设计的目的和任务,本次课程设计严格按照课程设计任务的要求:运行可执行程序 systime.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入微型计算机原理与课程设计课程设计- 8 -大写字母“Q” ,可结束程序;若不是相关字符,则不于任何响应,并不显示任何信息。但还有缺陷的是不能实时刷新时间,由于这点在课程设计任务中没有相关要求,因此这次课程设计可以认为是成功的。九.课程设计总结和体会1. 在完成课程设计过程中,我认识到平时基础知识的重要性,只有能够熟练的掌握才能在实验过程中得心应手,否则一步错则整个试验都会陷入困境,因而,严谨的态度是试验成功的重要保障!2. 通过这次课程设计,我们对各个函数以及语句有了进一步的了解,对各个语句的功能有了更深刻的认识和体会,平时上课的理论知识只是停留在理论的层面,只有通过了这样的试验才能更好的体会到,做到了理论和实际的相结合,使理论知识真正运用到了实践中去。在课程设计过程中,同组人员之间相互合作,共同研究使我更加坚信了团体的力量。在团体的共同协作和努力下,任何的难题都可以被解决!3.在本次课程设计过程中,李宝平老师以及相关同学给予我相当大的支持和帮助,在此表示诚挚的感谢! 十.参考文献1、 微型计算机原理与接口技术 中国矿业大学出版社 李长青李泉溪 主编版权所有,盗版必究

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 其它文档

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