欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

    • 资源ID:13926065       资源大小:224KB        全文页数:17页
    • 资源格式: DOC        下载积分:4
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要4
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    中北大学微机原理与汇编语言课程设计任务书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. 设计内容和要求(包括原始数据、技术参数、条件、设计要求等):! WB! KB ! KBata AKB! £ « BUB U UBN! KB设计内容:利用8086汇编语言,完成电子闹钟的软硬件设计工作,要求时间准确,操作 方便。设计要求:1. 能以表盘或数字形式显示时间(12H/24H自动转换)。2. 能够修改时间和日期。3. 具有3个闹铃。4闹铃具有5种铃声。5具有北京时间授时接受功能。3. 设计工作任务及工作量的要求:中北大学微机原理与汇编语言课程设计说明书学生姓名:学号:学院:电子与计算机科学技术学院专 业:计算机科学技术题目:电子闹钟成 绩指导教师2014年1月9日1. 引言通过做电子闹钟的课程设计,可以加深对汇编语言的理解,理解掌握定时 / 计数器和中断的使用方法。 掌握微机常用的输入输出方式及接口技术。 掌握一定 的汇编语言知识, 培养自己的动手操作能力。 学习程序设计的基本思路和方法。 2需求分析分析本次程序设计的主要内容主要分为如下的几个模块:当前时间的获取并显示,时间的12H/24H的转换,码制转换,设定闹钟报 鸣的时间, 不同频率的闹铃声, 钟表的绘制和并实现动态等模块。 其中钟表的绘 制和动态走动部分比较难是本次课程设计的提高部分, 且改模块可单独形成一个 模块,所以放到最后进行考虑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 ?;功能设置使用keySw db OOh ;是否按键开关RingSw db OOh ;闹铃开关SWITCHdb OFFh ;刷新开关,真,则不断在定时器中断函数中刷新,否则不刷新4. 详细设计(这一部分每个人应该是不同的)时间显示f设置光标显示小时数和显示分钟和显示秒和调整时间重置时间:Ret转换为12小时制:转换为12H转换为24H:5. 软件测试在测试显示时间的时候,直接给 HOUR,MIN,SE直接赋值,检查在界面上是 否能够显示。在测试时间的更改的时候,将键盘获取的时间的小时、分钟、秒分别赋给 HOURMIN, SEC然后调用显示的子程序将时间显示出来,以此来检查时间的更 改是否正确。在测试时间的调整的时候,通过时间更改子程序,分别获取时间的小时、 分钟、秒数,并在此基础上进行改变,在通过调用显示子程序将时间显示出来, 以此来检查时间的更改是否正确。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 ;设置光标位置 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 endp ;调整时间,累加秒,分,时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,00hcall 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 openSw ;打开刷新开关POPAretSETTIME endp ;读取时间(从 ASCII 码到 16 进制数值的转换) (HH:MM:SS) READNT proc nearPUSHAmov ah,01hint 21hmov bx,0h;bx 存放得到的数值( 16 进制)loop1: cmp al,'0' ;读取小时jl endloop1cmp al,'9'jg endloop1sub al,30h;transform from char to numbercbwxchg ax,bxmov cx,0ah ;put 10d into cxmul cxxchg ax,bxadd bx,axmov ah,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,'9'jg endloop2sub al,30h;transform from char to numbercbwxchg ax,bxmov cx,0ah;put 10d into cxmul cx xchg ax,bxadd bx,axjmp loop2;存取分钟endloop2:mov ds:NMIN,blmov bx,0hloop3:mov ah,01hint 21h;bx存放得到的数值(16进制)cmp al,'0' ;读取秒jl rlastcmp al,'9'jg 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 小时显示格式changese 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.设计说明书正文

    注意事项

    本文(汇编课程设计电子闹钟1.0.doc)为本站会员(scccc)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开