




免费预览已结束,剩余16页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 河北科技大学河北科技大学 课程设计报告 学生姓名 学 号 专业班级 电子信息科学与工程 课程名称 微型计算机原理及应用 学年学期 2 0 1 1 2 0 12 学年第 1 学期 指导教师 2 0 0 1 1 年 1 2 月 2 课程设计成绩评定表课程设计成绩评定表 学生姓名学 号成绩 专业班级起止时间2011 12 26 2011 12 30 设计题目 数字时钟程序 指 导 教 师 评 语 指导教师 年 月 日 3 目录目录 一 一 课设题目及目的课设题目及目的 4 二 二 设计任务设计任务 4 三 三 总框图及设计流程总框图及设计流程 4 四 四 源程序清单源程序清单 6 五 五 调试结果及显示调试结果及显示 19 六 六 个人贡献个人贡献 19 七 七 课程设计总结及体会课程设计总结及体会 21 4 一 课设题目及目的一 课设题目及目的 实习题目 数字时钟程序 实习目的 通过实习 使我们进一步弄懂所学到的课本知识 巩固和深化对 8086 系统的指令系统 中断系统 键盘 显示系统 程序设计 应用开发等基本理论知识的理解 提高汇编语言应用于 技术的实践操作技能 掌握汇编语言应用系统设计 研制的方法 培养利用科技革新 开发和创新的基本能力 为毕业后从事与其相 关的工作打下一定的基础 二 课设任务二 课设任务 本课题为利用汇编语言设置时钟程序 其显示效果为 截取系 统时间 能以时 分 秒 其中时为 24 小时制 的形式显示 并且 通过合理的操作能修改时和分的内容来修改时间 再有 可以给它 设定一个 ALARM 时间 到这个时间它就能产生信号 起到定时作 用 除此之外还能显示日期 日期分为年 月 日 其显示方式为 xxxx 年 xx 月 xx 日 三 总框图及流程三 总框图及流程 5 显示时间输出 报时 显示日期 显示 MESS2 显示 MESS3 显示 MESS1 时分秒调用二进制转 换子程序 判断条件 整点 开始 调用清屏子程序 显示系统时间 Y 6 四 源程序清单四 源程序清单 DATA SEGMENT 数据段开始 MESS1 DB ASM ASSIGNMENT 0AH 0DH DB ELECTRONIC CLOCK 0AH 0DH DB PRESS C OR C TO EDIT THE ALARM TIME 0AH 0DH DB PRESS M OR M TO CHANGE SOUND 0AH 0DH DB PRESS SORS TO SET THE TIME 0AH 0DH 显示功能菜单 DB PRESS ESC BUTTON TO EXIT 0AH 0DH TN DB PLEASE INPUT THE NEW TIME HH MM SS 0DH 0AH TM DB 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 MESS2 DB TIME IS 0AH 0DH 判断条 件 键盘输入 调用设置时间子程 序 调用设置闹钟子 程序 判断条件 M800 TO 调用音乐子程序 M3200T O M1600T O S s C c M m 1 2 3 7 MESS3 DB TODAY IS 0AH 0DH DBUFFER1 DB 20 DUP T BUFF DB 40 在数据段开 一段时间显示缓冲区 DB DB 40 DUP HOR DB MIN DB SEC DB TEMPHOR DB TEMPMIN DB TEMPSEC DB MUSIC DW 800 存放音乐的频 率数 DATA ENDS STACK SEGMENT DB 100 DUP STACK ENDS CODE SEGMENT ASSUME CS CODE SS STACK DS DATA START CALL CLEAR 调用清屏子程序 DISPLAY 时间显示部分 MOV AX DATA MOV DS AX MOV BX OFFSET T 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 CALL BCTD 调用进制转换子程序 二进制 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 8 AND AL 0FH 选取低四位 OR AL 30H MOV BX AL 将转换后的低四位值送入缓冲区的下一个地址 INC BX MOV AL 显示分隔符号 MOV BX AL INC BX MOV AH 2CH 取时间 INT 21H MOV AL CL 分钟数设定 MOV AH 0 CALL BCTD 调用进制转换子程序 二进制 BCD 码子程序 PUSH AX AND AL 0F0H 选取 AL 高四位 MOV CL 4 设定循环次数 ROL AL CL 循环左移 4 次 OR AL 30H 加 30H 得到 ACSII 码 MOV BX AL 将得到的结果送到 T BUFF 缓冲区 INC BX BX 自加 1 指针指向下一个缓冲区的下一个地址 POP AX AND AL 0FH 选取低四位 OR AL 30H MOV BX AL 将转换后的低四位值送入缓冲区的下一个地址 INC BX MOV AL 显示分隔符号 MOV BX AL INC BX MOV AH 2CH 秒设定 INT 21H MOV AL DH MOV AH 0 CALL BCTD 调用进制转换子程序 二进制 BCD 码子程序 PUSH AX AND AL 0F0H 选取 AL 高四位 9 MOV CL 4 ROL AL CL OR AL 30H 加 30H 得到 ACSII 码 MOV BX AL 将得到的结果送到 T BUFF 缓冲区 INC BX POP AX AND AL 0FH 选取低四位 OR AL 30H MOV BX AL 将转换后的低四位值送入缓冲区的下一个地址 INC BX MOV AL 将字符串的结束位送至显示缓冲区的最后一位 MOV BX AL CALL DATE PUSH BX 置光标位置 AH 2 BH 0 DH 跟 DL 分别为行号与列号 并入栈保护 BX MOV AH 2 0 1 用于此程序最下边的 在下面的两个置光标位置 MOV BH 0 MOV DH 17 行 MOV DL 41 列 INT 10H POP BX LEA DX T BUFF 送 T BUFF 偏移地址到 DX 并调用 DOS 显示功能 功能号为 9 MOV AH 9 INT 21H 至此当前时间的显示功能结束 PUSH BX 置光标位置 MOV AH 2 MOV BH 0 MOV DH 16 MOV DL 41 INT 10H 日期 POP BX LEA DX DBUFFER1 MOV AH 9 INT 21H PUSH BX 置光标位置 MOV AH 2 MOV BH 0 MOV DH 16 MOV DL 21 INT 10H 10 POP BX LEA DX MESS3 MOV AH 9 INT 21H 显示 MESS3 PUSH BX 置光标位置 MOV AH 2 MOV BH 0 MOV DH 0 MOV DL 0 INT 10H POP BX LEA DX MESS1 MOV AH 9 INT 21H 显示 MESS1 PUSH BX 置光标位置 MOV AH 2 MOV BH 0 MOV DH 17 MOV DL 21 INT 10H POP BX LEA DX MESS2 MOV AH 9 INT 21H 显示 MESS2 CALL DELAY1 MOV AH 1 调用键盘 I O 中断功能号 1 获取键值到 AL INT 16H CMP AL M JE EDITMUSIC CMP AL M JE EDITMUSIC CMP AL C 是 C 键 转移闹钟时间修改程序 JE EDITTIME CMP AL C 是 C 键 转移闹钟时间修改程序 JE EDITTIME CMP AL S 是 S 键 转移时间修改程序 JE COR 11 CMP AL S 是 S 键 转移时间修改程序 JE COR CMP AL 1BH JZ QUIT 是 ESC 键 退出程序 JMP DISPLAY QUIT MOV AH 4CH INT 21H RET COR CALL SETTIME 设置时间 EDITMUSIC PROC PUSH AX 入栈保护数据 PUSH BX PUSH CX PUSH DX PUSHF MOV DX OFFSET MUSICMESS 显示修改音乐的种类提示 MOV AH 09H INT 21H MOV DX OFFSET T BUFF 数据缓冲区的数据输入 MOV AH 0AH INT 21H AND DX 0H LEA BX T BUFF INC BX INC BX INC BX MOV AL BX CMP AL 1 JE M800TO CMP AL 2 JE M1600TO CMP AL 3 JE M3200TO M800TO MOV MUSIC 800 JMP T M1600TO MOV MUSIC 1600 JMP T 12 M3200TO MOV MUSIC 3200 T POPF 出栈恢复数据 POP DX POP CX POP BX POP AX JMP START RET 返回 DOS EDITMUSIC ENDP 结束 BCTD PROC NEAR 二进制 BCD 码子程序 AX 输入参数 AX 输出参数 存放调整过的 BCD 码 MOV DX AX MOV AX 0 MOV CX 16 设置循环次数 BCTD1 CLC 清进位标志 C RCL DX 1 通过进位的循环左移 ADC AL AL 带进位加法 DAA 加法的十进制调整 XCHG AL AH 交换高 低 8 位 ADC AL AL DAA XCHG AL AH LOOP BCTD1 循环次数保存在 CX 里 RET BCTD ENDP EDITTIME PROC 时间修改程序 PUSH AX 入栈保护数据 PUSH BX PUSH CX PUSH DX PUSHF MOV DX OFFSET TM 显示修改时间的格式提示 MOV AH 09H 13 INT 21H MOV DX OFFSET T BUFF 数据缓冲区的数据输入 MOV AH 0AH INT 21H AND DX 0H LEA BX T BUFF INC BX INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV CH AL MOV HOR AL MOV TEMPHOR AL INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV CL AL MOV MIN AL MOV TEMPMIN AL INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H 14 MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV DH AL MOV TEMPSEC AL POPF 出栈恢复数据 POP DX POP CX POP BX POP AX JMP START RET EDITTIME ENDP CLEAR PROC NEAR PUSH AX 入栈保护现场 PUSH BX PUSH CX PUSH DX MOV AX 0600H AH 06 滚动 AL 00 全屏空白 MOV BH 1FH 设置背景颜色 1 蓝色 和前景颜色 F 白色 SUB CX CX MOV DX 5F5FH INT 10H POP DX 出栈恢复现场 POP CX POP BX POP AX RET CLEAR ENDP DATE PROC NEAR MOV AH 2AH 取日期 CX DH DL 年 月 日 AL 星期 INT 21H MOV SI 0 MOV AX CX MOV BX 100 DIV BL MOV BL AH CALL BCDASC1 日期数值转换成相应的 ASCII 码字符 MOV AL BL CALL BCDASC1 INC SI 15 MOV AL DH CALL BCDASC1 INC SI MOV AL DL CALL BCDASC1 MOV AL MOV DBUFFER1 SI AL RET DATE ENDP BCDASC1 PROC NEAR PUSH BX CBW MOV BL 10 DIV BL ADD AL 0 MOV DBUFFER1 SI AL INC SI ADD AH 0 MOV DBUFFER1 SI AH INC SI POP BX RET BCDASC1 ENDP SETTIME PROC 时间修改子程序 CALL INPUT 调用键盘输入子程序输入数据 MOV CH HOR MOV CL MIN MOV DH SEC AND DL 0H MOV AH 2DH INT 21H JMP START RET SETTIME ENDP DELAY1 PROC 精确延迟时间子程序 MOV DX 04FFH 循环次数 UP XOR CX CX A NOP LOOP A DEC DX JNZ UP 16 RET DELAY1 ENDP INPUT PROC 输入子程序 PUSH AX 入栈保护数据 PUSH BX PUSH CX PUSH DX PUSHF MOV DX OFFSET TN 显示修改时间的格式提示 MOV AH 09H INT 21H MOV DX OFFSET T BUFF 数据缓冲区的数据输入 MOV AH 0AH INT 21H AND DX 0H LEA BX T BUFF INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV CH AL MOV HOR AL INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV CL AL MOV MIN AL 17 INC BX INC BX MOV DH BX SUB DH 30H INC BX MOV DL BX SUB DL 30H MOV CL 10 MOV AL DH MUL CL ADD AL DL MOV DH AL MOV SEC AL POPF 出栈恢复数据 POP DX POP CX POP BX POP AX RET INPUT ENDP CHECK PROC PUSH AX PUSH BX CMP CH TEMPHOR 设置定点报时 JNE CF1 CMP CL TEMPMIN JNE CF1 CMP DH TEMPSEC JE XIANG CF1 CMP CL 0 设置整点报时 JNE CF CMP DH 0 JNE CF XIANG CALL OPEN PUSH DX PUSH CX MOV DX 12H MOV AX 34DEH MOV CX MUSIC DIV CX OUT 42H AL 18 MOV AL AH OUT 42H AL MOV AH 1 INT 21H POP CX POP DX CALL CLOSE CF POP BX POP AX RET CHECK ENDP OPEN PROC PUSH AX IN AL 61H OR AL 03H OUT 61H AL POP AX RET OPEN ENDP CLOSE PROC PUSH AX IN AL 61H AND AL 0FCH OUT 61H AL POP AX RET CLOSE ENDP CODE ENDS END START 19 五 调试结果及显示五 调试结果及显示 六 个人贡献六 个人贡献 在本次课设实现过程中 我主要负责程序校正 和一部分程序的解释 主 要有以下程序 MOV AL CH 小时数设定 MOV AH 0 CALL BCTD 调用进制转换子程序 二进制 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 选取低四位 OR AL 30H MOV BX AL 将转换后的低四位值送入缓冲区的下一个地址 INC BX MOV AL 显示分隔符号 MOV BX AL INC BX 20 MOV AH 2CH 取时间 INT 21H MOV AL CL 分钟数设定 MOV AH 0 CALL BCTD 调用进制转换子程序 二进制 BCD 码子程序 PUSH AX AND AL 0F0H 选取 AL 高四位 MOV CL 4 设定循环次数 ROL AL CL 循环左移 4 次 OR AL 30H 加 30H 得到 ACSII 码 MOV BX AL 将得到的结果送到 T BUFF 缓冲区 INC BX BX 自加 1 指针指向下一个缓冲区的下一个地址 POP AX AND AL 0FH 选取低四位 OR AL 30H MOV BX AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年低质量作品考试题及答案
- 2025年个人农村土地承包合同样本
- 2025【合同范本】租赁终止合同
- 通信线路施工课件
- 美容消费知识培训课件
- 2025年户外常识题目及答案
- 房屋装修承包合同
- 通信原理全课件
- 2025企业间无息借款合同范本
- 2025年道路桥梁实训报告心得体会(7篇)
- 驾驶员安全教育培训考试试卷含答案
- 2025江苏航空产业集团有限责任公司人才招聘备考试题及答案解析
- 污水处理站运行记录台账范本
- 2025年消毒供应室业务学习考试试题(附答案)
- 无人机地下结构探测技术-洞察及研究
- 校园基孔肯雅热防控措施课件
- 图像特征提取讲解
- 多彩贵州地方课程课件
- 劳技自制收纳盒课件
- 《管理学基础与实务》 课件全套 曾宪达 第1-11章 管理与管理者- 管理创新
- 2025年复工复产考核试题及答案
评论
0/150
提交评论