微机原理082339.doc_第1页
微机原理082339.doc_第2页
微机原理082339.doc_第3页
微机原理082339.doc_第4页
微机原理082339.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信息科学与技术学院微机原理与接口技术课程设计报告题目名称: 倒计时牌 学生姓名: 郑 治 学 号: 2009082339 专业年级: 09电信(1)班 指导教师: 刘恩博 时 间: 2011-12-30 一、 任务与要求1. 能够对其年,月,日,星期,时,分,秒的内容进行读写;2. 扩充功能键,用来选择显示年、月、日、星期、时、分、秒;二、课程设计任务设计一个显示日期或时间的汇编程序间且满足以下要求:基本功能:运行可执行程序systime.exe,在出现的提示信息中输入大写字母“D”,可显示系统当前日期;输入大写字母“T”,可显示系统当前时间;输入大写字母“Q”,可结束程序。三、总体设计方案通过调用bios 16H 中断的1号功能,读取键盘的状态扫描键盘输入,根据键盘输入的相关内容,如:若输入D,则设计程序代码依次读取系统日期年、月、日,并转换成BCD码调用10号中断予以显示;若在键盘输入T,则设计程序代码依次读取系统时间时、分、秒,并转换成BCD码并调用10号中断予以显示;若输入大写字母Q,则退出当前状态;若不是相关字符,则不于任何响应,并不显示任何信息。四、部分程序设计及功能解说1、 扫描键盘输入用SCANK:;扫描键盘输入,根据键盘输入调用bios 16H 中断的1号功能,读取键盘的状态,根据输入的字母,与字母“Q”进行比较,若值为则去执行CHKT,并响应按键D2、 BCD码转换将读取的二进制代码循环右移4位,相当于将二进制转换成16进制;将AX寄存器内容与3030进行或运算,把AH单元传递于CH寄存器;程序代码如下:ROR AX,CL SHR AH,CL OR AX,3030H MOV CH,AH3、 显示部分调用10号中断的0E功能显示AL寄存器的内容,即BCD码将显示在屏幕上。注意:BL=前景色;AL=字符。BCD码显示代码如下所示:MOV AH,0EHINT 10H;调用10号中断的0E功能显示 MOV AL,CH INT 10H五、程序设计流程图开 始扫描键盘输入输 入 字 母是、?读取系统时间读取系统时间退出当前文件结束输入“”输入“T”输入Q转换为BCD码显示转换为BCD码显示六.程序段功能汇总1、MAIN程序用SCANK:;扫描键盘输入,根据键盘输入调用bios 16H 中断的1号功能,读取键盘的状态,根据输入的字母,与字母“D”进行比较,若异或值为则去执行CHKT,并响应按键D。其他如输入“T”和“Q”时同理。2、DATA PROC子程序即日期时间显示程序,以日期显示程序为例,通过读取系统的日期项如“年”, 由于读取的日期项是二进制代码,所以调用DATA,把读取的系统日期项存为BCD码,然后将其显示出来,然后再循环以同样方法读取月,日。3、TIME PROC子程序本子程序是当键盘输入字母“D”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统日期项,由于读取的日期项是二进制代码,因此需调用DATA PROC子程序转换为BCD码并予以显示;执行完DATA PROC子程序后调用10号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。4、BCDASC1 PROC子程序本子程序是当键盘输入字母“T”时所调用执行的子程序;首先定义堆栈寄存器,按循环要求读取系统时间项,由于读取的日期项是二进制代码,因此需调用DATA PROC子程序转换为BCD码并予以显示;执行完DATA PROC子程序后调用10号中断显示一个分隔符,完成一个日期项的显示,然后再循环去读取其他日期项;最后返回主程序执行主程序。七、程序段STACK SEGMENT STACKDW 200 DUP (?)STACK ENDSDATA SEGMENTSPACE DB 1000 DUP ( )PATTERN DB 6 DUP ( ),0C9H,26 DUP (0CDH),0BBH,6 DUP ( )DB 6 DUP ( ),0BAH,26 DUP (20H),0BAH,6 DUP ( )DB 6 DUP ( ),0C8H,26 DUP (0CDH),0BCH,6 DUP ( )DBUFFER DB 8 DUP (:),12 DUP ( )DBUFFER1 DB 20 DUP ( )STR DB 0DH,0AH, PLEASE INPUT DATE(D) OR TIME(T) OR QUIT(Q): $DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART: MOV AX,0001H ;设置显示方式为40*25彩色文本方式INT 10HMOV AX,DATAMOV DS,AXMOV ES,AXMOV BP,OFFSET SPACEMOV DX,0B00HMOV CX,1000MOV BX,0040HMOV AX,1300HINT 10HMOV BP,OFFSET PATTERN ;显示矩形条MOV DX,0B00HMOV CX,120MOV BX,004EHMOV AX,1301HINT 10HLEA DX,STR ;显示提示信息MOV AH,9INT 21HMOV AH,1 ;从键盘输入单个字符INT 21HCMP AL,44H ;AL=D?JNE ACALL DATE ;显示系统日期A: CMP AL,54H ;AL=T?JNE BCALL TIME ;显示系统时间B: CMP AL,51H ;AL=Q?JNE STARTMOV AH,4CH ;返回dos状态INT 21HDATE PROC NEAR ;显示日期子程序DISPLAY:MOV AH,2AH ;取日期INT 21HMOV SI,0MOV AX,CXMOV BX,100DIV BLMOV BL,AHCALL BCDASC1 ;日期数值转换成相应的ASCII码字符MOV AL,BLCALL BCDASC1INC SIMOV AL,DHCALL BCDASC1INC SIMOV AL,DLCALL BCDASC1MOV BP,OFFSET DBUFFER1MOV DX,0C0DHMOV CX,20MOV BX,004EHMOV AX,1301HINT 10HMOV AH,02H ;设置光标位置MOV DX,0300HMOV BH,0INT 10HMOV BX,0018HREPEA: MOV CX,0FFFFH ;延时REPEAT:LOOP REPEATDEC BXJNZ REPEAMOV AH,01H ;读键盘缓冲区字符到AL寄存器INT 16HJE DISPLAYJMP STARTMOV AX,4C00HINT 21HRETDATE ENDPTIME PROC NEAR ;显示时间子程序DISPLAY1:MOV SI,0MOV BX,100DIV BLMOV AH,2CH ;取时间INT 21HMOV AL,CHCALL BCDASC ;将时间数值转换成ASCII码字符INC SIMOV AL,CLCALL BCDASCINC SIMOV AL,DHCALL BCDASCMOV BP,OFFSET DBUFFERMOV DX,0C0DHMOV CX,20MOV BX,004EHMOV AX,1301HINT 10HMOV AH,02HMOV DX,0300HMOV BH,0INT 10HMOV BX,0018HRE: MOV CX,0FFFFHREA: LOOP READEC BXJNZ REMOV AH,01HINT 16HJE DISPLAY1JMP STARTMOV AX,4C00HINT 21HRETTIME ENDPBCDASC PROC NEAR ;时间数值转换成ASCII码字符子程序PUSH BXCBWMOV BL,10DIV BLADD AL,0MOV DBUFFERSI,ALINC SIADD AH,0MOV DBUFFERSI,AHINC SIPOP BXRETBCDASC ENDPBCDASC1 PROC NEAR ;日期数值转换成ASCII码字符子程序PUSH BXCBWMOV BL,10DIV BLADD AL,0MOV DBUFFER1SI,ALINC SIADD AH,0MOV DBUFFER1SI,AHINC SIPOP BXRETBCDASC1 ENDPCODE ENDSEND START八、心得体会在对微机原理与接口技术这本书的学习后,使我系统的了解了计算机的基本结构与组成,加上这次对课程设计的深入学习,是我对本书中的知识有了更深一步的掌握。经过这次课程设计培养和锻炼了我们在学习理论知识后解决实际问题能力,也提高了我们的动手、动脑和理论联系实际的能力,敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题的能力。通过设计过程,要求我们熟悉和掌握微机系统的软件、硬件设计的方法、设计步骤。要使我们熟练掌握微机系统与接口扩展电路的设计方法,熟练应用8086汇编语言编写应用程序和实际设计中的硬软件调试方法和步骤,熟悉微机系统的硬软件开发工具的使用方法。我们在短短的一周半课程设计时间里,不仅使我加深了对电子日历设计的认识,对接口各部件的原理也有了进一步的了解。以前对什么,8086工作方式就一知半解,在设计中,通过看书,查资料

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论