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

上传人:p** 文档编号:1285630 上传时间:2025-01-16 格式:DOCX 页数:33 大小:108.86KB
下载 相关 举报
微机原理课程设计数字时钟程序.docx_第1页
第1页 / 共33页
微机原理课程设计数字时钟程序.docx_第2页
第2页 / 共33页
微机原理课程设计数字时钟程序.docx_第3页
第3页 / 共33页
微机原理课程设计数字时钟程序.docx_第4页
第4页 / 共33页
微机原理课程设计数字时钟程序.docx_第5页
第5页 / 共33页
微机原理课程设计数字时钟程序.docx_第6页
第6页 / 共33页
微机原理课程设计数字时钟程序.docx_第7页
第7页 / 共33页
微机原理课程设计数字时钟程序.docx_第8页
第8页 / 共33页
微机原理课程设计数字时钟程序.docx_第9页
第9页 / 共33页
微机原理课程设计数字时钟程序.docx_第10页
第10页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《微机原理课程设计数字时钟程序.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计数字时钟程序.docx(33页珍藏版)》请在第壹文秘上搜索。

1、河北科技高校课程设计报告学生姓名:学号:专业班级:电子信息科学及工程课程名称:微型计算机原理及应用学年学期:2011-2012学年第1学期指导老师:20011年12月课程设计成果评定表学生姓名学号成果专业班级起止时间2011/12/262011/12/30设计题目数字时钟程序指导教师评语指导老师:书目一、课设题目及目的.4二、设计任务4三、总框图及设计流程4四、源程序清单.6五、调试结果及显示.19六、个人贡献19七、课程设计总结及体会21一、课设题目及目的实习题目:数字时钟程序实习目的:通过实习,使我们进一步弄懂所学到的课本学问,巩固和深化对8086系统的指令系统、中断系统、键盘/显示系统、

2、程序设计、应用开发等基本理论学问的理解,提高汇编语言应用于技术的实践操作技能,驾驭汇编语言应用系统设计、研制的方法,培育利用科技革新、开发和创新的基本实力,为毕业后从事及其相关的工作打卜肯定的基础。二、课设任务本课题为利用汇编语言设置时钟程序,其显示效果为:截取系统时间,能以时、分、秒(其中时为24小时制)的形式显示,并且通过合理的操作能修改时和分的内容来修改时间。再有,可以给它设定一个A1.ARM时间,到这个时间它就能产生信号,起到定时作用,。除此之外还能显示日期,日期分为年、月、H,其显示方式为XXNX年XX月XX日。显示时间DB*PRESSMORMTOCHANGESo1.ND!*,OAH

3、,ODHDB,*PRESSSORSTOSETTHETIME*,OH,ODH;显示功能菜单DB*presSESCBUTTONTOEXIT*,OAH1ODH1,STNDBP1.EASEINPUTTHENEWTIME(HH:MM:SS),ODH,OAH,$TMDB,P1.EASEINPUTTHEA1.ARMTIME(HH:MM:SS),ODH,OAH,MUSICMESSDB,P1.EASECHOOSETHETYPEOFMUSIC:1(FAST)2(MIDD1.E)3(S1.OW),ODH,OAH,$MESS2DB,TIMEIS,OAH,ODH1,$,MESS3DB,TODAYIS,OH,ODII,$

4、DBUFFER1.DB20DUPC)T_BUFFDB40;在数据段开一段时间显示缓冲区DB?DB40D1.IP(?)HORDB?MINDB?SECDB?TEMI,HORDB?TEMPMINDB?TEMPSECDB?MUSICDW800;存放音乐的频率数DTENDSSTACKSEGMENTDB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACK,DS:DATASTART:CA1.1.C1.EAR;调用清屏子程序DISP1.AY:;时间显示部分MOVX,DTMOVDS,AXMOVBX,OFFSETT_BUFF;送T_BUFF的偏移地址到BXMOVA

5、H,2CH;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,C1.,DH中推断时间是否相等SUBDH,1+1修正CA1.1.CHECKMOVA1.,CHMOVAH,0CA1.1.BCTD制BCD码子程序PUSHXANDA1.,OFOHMOVC1.,4RORA1.,C1.OR1.,30MOVBX,A1.区INCBX冲区的下一个地址POPAXANDA1.,OFH;秒数;小时数设定;调用进制转换子程序二进;选取A1.高四位;设置右循环的次数;右循环;加3011得到ACSH码;将得到的结果送到T_BUFF缓冲;BX自加1,指针指向下一个缓;选取低四位ORA1.,30HVoVBX

6、,A1.:将转换后的低四位值送入缓冲区的下一个地址INCBXVOVA1.显示分隔符号MOVBX,A1.INCBXMOVAH,2CH;取时间INT2IHMoVA1.C1.;分钟数设定MOVH,0CA1.1.Ben);调用进制转换子程序二进制BCD码子程序PUSHXANDA1.OFOH;选取A1.高四位MOVC1.,4;设定循环次数RO1.A1.,C1.;循环左移4次OR1.,30H;力口30H得到ACSII码MOVBX,A1.;将得到的结果送到T_BUFF缓冲区INCBXiBX自加1,指针指向下一个缓冲区的下一个地址POPAXND1.,OFH;选取低四位ORA1.,30HMOVBX,A1.;将转

7、换后的低四位值送入缓冲区的下一个地INCBXMOVA1.,:,;显示分隔符号MOVBX,A1.INCBXMOVH,2CH;秒设定INT21HMOV1.,DHMOVH,0CA1.1.BCTD;调用进制转换子程序二进制BCD码子程序PUSHAXNDA1.,OFOH:选取1.高四位MOVC1.,4RO1.1.,C1.ORA1.,30H;加30H得到ACSI1.码MOVBX,A1.;将得到的结果送到T_BUFF缓冲区INCBXPOPAXANr)A1.,OFH;选取低四位ORA1.,30HMOVBX,A1.;将转换后的低四位值送入缓冲区的下一个地INCBXMOV1.,$,;将字符串的结束位送至显示缓冲区

8、的地终一位MOVBX,1.CA1.1.DATEPUSHBX;置光标位置,H=2,BH=O,DH跟D1.分别为行号及列号,并入栈爱护BXMOVAH,2:01.用于此程序最下边的在下面的两个置光标位置MOVBH,0MOVDH,17;行MOVD1.,41;列INTIOHPOPBX1.EADX,T_BUFF;送T.BUFF偏移地址到DX,并调用DOS显本功能,功能号为9MOVAH,9INT21H:至此当前时间的显示功能结束!PUSHBX;置光标位置MOVH,2MOVBH,0MOVDH,16MOVD1.,41INTIOH;日期POPBX1.EDX,DBuFFER1.MOVAH,9INT21HPUSHBX

9、;置光标位置MOVH,2MOVBH,0MOVDH,16MOV)1.,21INTIOHPOPBX1.EADX,MESS3MOVH,9INT21H;显示MESS3PUSHBX;置光标位置MOVH,2MOVBH,0MOVDU,0MOVD1.,0INTIOHPOPBX1.EADX,MESS1.MOVAU,9INT21H;显示MESSIPUSHBX;置光标位置MOVH,2MOVBH,0MOVDH,17MOVD1.,21INTIOHPoPBX1.EDX,MESS2MOVAH,9INT21H:显示MESS2CA1.1.DE1.AY1.MOVH,1;调用键盘I/O中断功能号1,获得键值到A1.INT16HCM

10、P1.,M,JEEditmiisicCMP1.,*M,JEEDITMUSICCMPA1.,C:是C键,转移闹钟时间修改程序JEEDITTIMECMPA1.,C;是:键,转移闹钟时间修改程序JEedittimeCMPA1.,S;是S键,转移时间修改程序JECORCMPA1.,S;是S键,转移时间修改程序JECORCMP1.,IBHJZQUIT;是ESC键,退出程序JMPDISP1.AYQUIT:MOVH,4CHINT21HRETCOR:CA1.1.SETTIME;设置时间EDITMUSICPROCPUSHAX;入栈爱护数据PUSHBXPUSHCXPUSHDXPUSHFMOVDXfOFFSETMU

11、SICMISS;显示修改音乐的种类提示MOVAH,09HINT21HVOVDX,OFFSETT_BUFF;数据缓冲区的数据输入MOVAH,OAHINT21HANDDX,OH1.EABX,T_BUFFINCBXINCBXINCBXMOVA1.,BXCMP1.1,JEM800T0CMPA1.,2,JEM1600TOCMPA1.,3,JEM3200TOM800T0:M0VMUSIC,800JMPTM1600T0:M0VMUSIC,1600JMPTM3200T0:M0VMUSIC,3200T:POPF;出栈复原数据POPDXPOPCXPOPBXPOPXJMPSTARTRET;返回DOSEDITMUSI

12、CEW)P;结束BCTDPROCNEAR;二进制BCD码子程序;AX输入参数;AX输出参数,存放调整过的BCD码MOVDX,AXMOVAX,0MOVCX,16;设置循环次数IJCTD1.:C1.C;清进位标记CRC1.DX,1;通过进位的循环左移ADCA1.A1.;带进位加法DAA;加法的十进制调整XCHGA1.,AH;交换高,低8位ADC1.,1.DAXCHG1.,AH1.OOPBCTD1.;循环次数保存在CX里RETBCTDENDPEDIKIMEPROC;时间修改程序PUSHAX;入栈爱护数据PUSHBXPUSHCXPUSHDXPUSHFMOVI)X,OFFSETTM;显示修改时间的格式提

13、示MOVA1.1.,09HINT2IHMOVDX,OFFSETT_BUFF;数据缓冲区的数据输入MOVH,OHINT21HANDDX,0111.EABX,T_BUFFINCBXINCBXINCBXMOVDH,BXSUBDH,30HINCBXMOVD1.,BXSUBD1.,30HMOVC1.,IOMOVA1.,DHMU1.C1.DD1.,D1.MOVCH,1.MOVHOR1A1.MOVTEMPHOR,1.INCBXINCBXMOVDH,BXSUBDH,30HINCBXMOVD1.,BXSUBD1.,30HMOVC1.,10MOVA1.,DHMU1.C1.ADDA1.D1.MOVC1.,1.MOVMIN1A1.MOVTEMPMIN,1.INCBXINCBXMOVD1.1.,BXSUBI)H,30HINCBXMOVD1.,BXSUBD1.,30HMOVC1.,IOMOVA1.,DHMU1.C1.ADD1.,D1.MOVDH,1.MOVTEM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!