汇编课程设计电子闹钟1.0.doc

上传人:scccc 文档编号:13926065 上传时间:2022-01-26 格式:DOC 页数:17 大小:224KB
返回 下载 相关 举报
汇编课程设计电子闹钟1.0.doc_第1页
第1页 / 共17页
汇编课程设计电子闹钟1.0.doc_第2页
第2页 / 共17页
汇编课程设计电子闹钟1.0.doc_第3页
第3页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《汇编课程设计电子闹钟1.0.doc》由会员分享,可在线阅读,更多相关《汇编课程设计电子闹钟1.0.doc(17页珍藏版)》请在三一文库上搜索。

1、中北大学微机原理与汇编语言课程设计任务书20013/2014 学年第 一 学期学专院:业:计算机与控制工程学院计算机科学技术学生姓名:学 号:设计题目:电子闹钟起迄日期:2013.12.30-2014.1.9设计地点:指导教师:下达任务书日期:2013 年12月30日微机原理与汇编语言课程设计任务书1. 设计目的:匸 n m * re丁-* n m an m n ww re n* - vv in !- * tb ! th : m n n ! t m thi *:*通过微机原理与汇编语言课程设计,使学生根据所学的微机原理与汇编语言 知识,进一步学习掌握汇编语言程序设计知识,充分理解计算机内部的管

2、理、接 口内容以及系统功能调用。能针对一个简单的控制或汇编语言程序设计项目,做 出分析,设计其硬件、软件,达到预期的控制目的。2. 设计内容和要求(包括原始数据、技术参数、条件、设计要求等):! WB! KB ! KBata AKB! BUB U UBN! KB设计内容:利用8086汇编语言,完成电子闹钟的软硬件设计工作,要求时间准确,操作 方便。设计要求:1. 能以表盘或数字形式显示时间(12H/24H自动转换)。2. 能够修改时间和日期。3. 具有3个闹铃。4闹铃具有5种铃声。5具有北京时间授时接受功能。3. 设计工作任务及工作量的要求:中北大学微机原理与汇编语言课程设计说明书学生姓名:学

3、号:学院:电子与计算机科学技术学院专 业:计算机科学技术题目:电子闹钟成 绩指导教师2014年1月9日1. 引言通过做电子闹钟的课程设计,可以加深对汇编语言的理解,理解掌握定时 / 计数器和中断的使用方法。 掌握微机常用的输入输出方式及接口技术。 掌握一定 的汇编语言知识, 培养自己的动手操作能力。 学习程序设计的基本思路和方法。 2需求分析分析本次程序设计的主要内容主要分为如下的几个模块:当前时间的获取并显示,时间的12H/24H的转换,码制转换,设定闹钟报 鸣的时间, 不同频率的闹铃声, 钟表的绘制和并实现动态等模块。 其中钟表的绘 制和动态走动部分比较难是本次课程设计的提高部分, 且改模

4、块可单独形成一个 模块,所以放到最后进行考虑1时间的获取可以用INT 21H的2CH功能,该功能调用DOS寸间调用功能, 功能号:2CH,小时,分钟,秒数分别保存在,保存的形式是以二进制的形式,故显 示时要2码制转化利用ASCII码与二进制码的关系ASCII=进制+30H3总体设计.dataHOUR db 0MIN db 0SEC db 0MSEC db 0NHOURdb 0 ;设置时间使用NMINdb 0 ;设置时间使用NSECdb 0 ;设置时间使用RHOURdb 1 ;设置闹铃时间使用RMINdb 1 ;设置闹铃时间使用RSECdb 1 ;设置闹铃时间使用FUNKEY db ?;功能设置

5、使用keySw db OOh ;是否按键开关RingSw db OOh ;闹铃开关SWITCHdb OFFh ;刷新开关,真,则不断在定时器中断函数中刷新,否则不刷新4. 详细设计(这一部分每个人应该是不同的)时间显示f设置光标显示小时数和显示分钟和显示秒和调整时间重置时间:Ret转换为12小时制:转换为12H转换为24H:5. 软件测试在测试显示时间的时候,直接给 HOUR,MIN,SE直接赋值,检查在界面上是 否能够显示。在测试时间的更改的时候,将键盘获取的时间的小时、分钟、秒分别赋给 HOURMIN, SEC然后调用显示的子程序将时间显示出来,以此来检查时间的更 改是否正确。在测试时间的

6、调整的时候,通过时间更改子程序,分别获取时间的小时、 分钟、秒数,并在此基础上进行改变,在通过调用显示子程序将时间显示出来, 以此来检查时间的更改是否正确。6. 程序清单;显示小时DISPLYHPROC NEARPUSHA; 设置光标位置mov dh,2h ;set Row No.mov dl,10d ;set Column NO.call MOVCURmov dh,0mov dl,ds:HOURcall output ;调用 output 函数输出小时mov dl,:mov ah,02hint 21hPOPARETDISPLYH ENDP;显示分钟DISPLYM PROC NEARPUSHA

7、 ;设置光标位置 mov dh,2h ;set Row No. mov dl,13d ;set Column NO. call MOVCUR mov dh,0 mov dl,ds:MIN call output mov dl,: mov ah,02h int 21hPOPARETDISPLYM ENDP;显示秒DISPLYS PROC NEARPUSHA ;设置光标位置 mov dh,2h ;set Row No. mov dl,16d ;set Column NO. call MOVCUR mov dh,0 mov dl,ds:SEC call outputPOPAretDISPLYS en

8、dp ;调整时间,累加秒,分,时CALTIME proc nearPUSHA ;调整秒 inc ds:SEC cmp ds:SEC,60d jb endc mov ds:SEC,0hsetM: ; 调整分钟inc ds:MIN cmp ds:MIN,60d jb endcmov ds:MIN,0hsetH: ;调整小时inc ds:HOUR cmp ds:HOUR,24d jb endcmov ds:HOUR,0h endc:POPAretCALTIME endp;设置时间SETTIME proc nearPUSHAcall closeSw ;关闭定时刷新mov dh,11hmov dl,00

9、hcall MOVCUR ; 移动光标mov dx,00hmov ah,09h ;输出提示信息,提示输出设置时间mov dx,offset setTMsgint 21hcall READNT ;读取时间( HH:MM:SS );设置时间mov ch,ds:NHOUR ;HOURmov cl,ds:NMIN ;MINmov dh,ds:NSEC ;SECONDmov dl,0h ;1/100 SECONDmov ah,2Dhint 21hcmp al,00hje SetSuccessmov ah,02h ;设置时间中断调用失败处理mov dl,! int 21hSetSuccess:call o

10、penSw ;打开刷新开关POPAretSETTIME endp ;读取时间(从 ASCII 码到 16 进制数值的转换) (HH:MM:SS) READNT proc nearPUSHAmov ah,01hint 21hmov bx,0h;bx 存放得到的数值( 16 进制)loop1: cmp al,0 ;读取小时jl endloop1cmp al,9jg endloop1sub al,30h;transform from char to numbercbwxchg ax,bxmov cx,0ah ;put 10d into cxmul cxxchg ax,bxadd bx,axmov a

11、h,01h;put the read interrupt typeint 21h;call the DOS interruptjmp loop1;存取小时endloop1:mov ds:NHOUR,bl;mov bx,0h;loop2:mov ah,01hint 21h;bx 存放得到的数值( 16 进制)cmp al,0 ;读取分钟jl endloop2cmp al,9jg endloop2sub al,30h;transform from char to numbercbwxchg ax,bxmov cx,0ah;put 10d into cxmul cx xchg ax,bxadd bx

12、,axjmp loop2;存取分钟endloop2:mov ds:NMIN,blmov bx,0hloop3:mov ah,01hint 21h;bx存放得到的数值(16进制)cmp al,0 ;读取秒jl rlastcmp al,9jg rlastsub al,30h;transform from char to numbercbwxchg ax,bxmov cx,0ah ;put 10d into cxmul cx xchg ax,bx add bx,axjmp loop3rlast:;存取秒mov ds:NSEC,blPOPAretREADNT endpJ;变 12 小时显示格式chan

13、gese proc nearPUSHAcmp HOUR,12jnz abcretabc:sub HOUR,12ret changese endp;变 24 小时显示格式 changees proc nearPUSHAmov ah,2ch ;get the System time,CH:CL=(H:M),DH:DL=(s:1/100s) int 21hcmp CH,12 ;取得小时jnz abcdretabcd:add HOUR,12ret changees endp7. 参考资料IBM-PC 汇编语言课程设计(第二版) 清华大学出版社 沈美明 冬婵 编著汇编语言程序设计实践教程 厦门大学出版社 林聪仁 编著装订次序:1.课程设计说明书封面 2.任务书封面 3.任务书4.设计说明书正文

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

当前位置:首页 > 社会民生


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