微机原理课程设计数字时钟程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河北科技大学

课程设计报告

学生姓名:学号:

专业班级: 电子信息科学与工程

课程名称:微型计算机原理及应用

学年学期: 2 01 1 —2012 学年第1 学期

指导教师:

20 0 1 1年 1 2月

课程设计成绩评定表

目录

一、课设题目及目的………………………………….4

二、设计任务………………………………………….4

三、总框图及设计流程 (4)

四、ﻩ源程序清单 (6)

五、ﻩ调试结果及显示 (19)

六、ﻩ个人贡献………………………………………….19

七、课程设计总结及体会 (21)

一、课设题目及目的

实习题目:数字时钟程序

实习目的:通过实习,使我们进一步弄懂所学到的课本知识,巩固和深化对8086系统的指令系统、中断系统、键盘/显示系统、程序设计、应用开发等基本理论知识的理解,提高汇编语言应用于技术的实践操作技能,掌握汇编语言应用系统设计、研制的方法,培养利用科技革新、开发和创新的基本能力,为毕业后从事与其相关的工作打下一定的基础。

二、课设任务

本课题为利用汇编语言设置时钟程序,其显示效果为:截取系统时间,能以时、分、秒(其中时为24小时制)的形式显示,并且通过合理的操作能修改时和分的内容来修改时间。再有,可以给它设定一个ALARM时间,到这个时间它就能产生信号,起到定时作用,。除此之外还能显示日期,日期分为年、月、日,其显示方式为xxxx年xx 月xx日。

'

*

DB '***********PRESS ESCBUTTON TO EXIT**************',0AH,0DH,'$'

TN DB'PLEASE INPUT THE NEW TIME(HH:MM:SS):',0DH,0AH,'$'

TMDB'PLEASE INPUT THE ALARM TIME (HH:MM:SS):',0DH,0AH,'$'

MUSICMESS DB'PLEASE CHOOSE THE TYPE OF MUSIC:1(FAST) 2(MIDDLE) 3(SLOW)',0DH,0AH,'$'

MESS2DB'TIME IS:',0AH,0DH,'$'

MESS3DB 'TODAY IS:',0AH,0DH,'$'

DBUFFER1DB20DUP('')

T_BUFFD B 40 ;在数据段开一段时间显示缓冲区

DB ?

DB 40DUP(?)

HOR DB?

MIN DB?

SEC DB?

TEMPHOR DB ?

TEMPMIN DB?

TEMPSEC DB?

MUSIC DW 800;存放音乐的频率数DATA ENDS

STACK SEGMENT

DB 100 DUP(?)

STACK ENDS

CODESEGMENT

ASSUME CS:CODE,SS:STACK,DS:DATA

START:

CALL CLEAR ;调用清屏子程序

DISPLAY:;时间显示部分

MOV AX,DATA

MOVDS,AX

MOVBX,OFFSETT_BUFF;送T_BUFF的偏移地址到BX

MOV AH,2CH;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中

INT 21H

;判断时间是否相等SUB DH,1;秒数+1修正

CALL CHECK

;.........................................................................

MOV AL,CH;小时数设定

MOV AH,0

CALLBCTD;调用进制转换子程序二进制BCD码子程序PUSH AX

AND AL,0F0H;选取AL高四位

MOV CL,4 ;设置右循环的次数

ROR AL,CL;右循环

OR AL,30H ;加30H得到ACSII码

MOV[BX],AL;将得到的结果送到T_BUFF缓冲区

INC BX;BX自加1,指针指向下一个缓冲区的下一个地址POP AX

AND AL,0FH;选取低四位

ORAL,30H

MOV [BX],AL;将转换后的低四位值送入缓冲区的下一个地址

INCBX ;........................................................................

MOV AL,':';显示分隔符号

MOV [BX],AL

INCBX;........................................................................

MOVAH,2CH;取时间

INT21H ;.......................................................................

MOV AL,CL;分钟数设定

MOV AH,0

CALLBCTD;调用进制转换子程序二进制BCD码子程序

PUSH AX

AND AL,0F0H;选取AL高四位

MOV CL,4;设定循环次数

ROL AL,CL;循环左移4次

ORAL,30H;加30H得到ACSII码

MOV[BX],AL;将得到的结果送到T_BUFF缓冲区

INC BX;BX自加1,指针指向下一个缓冲区的下一个地址

POPAX

AND AL,0FH;选取低四位

OR AL,30H

MOV[BX],AL;将转换后的低四位值送入缓冲区的下一个地址

INC BX ;.....................................................................

MOV AL,':';显示分隔符号

MOV[BX],AL

INC BX;.....................................................................

MOV AH,2CH;秒设定

相关文档
最新文档