Word版可编辑-电子表程序设计精心整理.doc_第1页
Word版可编辑-电子表程序设计精心整理.doc_第2页
Word版可编辑-电子表程序设计精心整理.doc_第3页
Word版可编辑-电子表程序设计精心整理.doc_第4页
Word版可编辑-电子表程序设计精心整理.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉理工大学 微机原理与接口技术 课程设计说明书 武汉理工大学 微机原理与接口技术 课程设计说明书 课程设计任务书课程设计任务书 学生姓名 学生姓名 00000000000000 专业班级 专业班级 自动化自动化 08040804 指导教师 指导教师 苏义鑫苏义鑫 工作单位 工作单位 自动化学院自动化学院 题题 目目 电子表程序设计电子表程序设计 初始条件 带有编辑器 汇编程序 连接程序和调试程序的电脑一台 初始条件 带有编辑器 汇编程序 连接程序和调试程序的电脑一台 要求完成的主要任务要求完成的主要任务 包括课程设计工作量及其技术要求 以及说明书撰写等具体要求 采用汇编语言设计一个电子表程序 在屏幕上以七段数码管的形式显示本机时间 采用汇编语言设计一个电子表程序 在屏幕上以七段数码管的形式显示本机时间 精确到秒 按精确到秒 按 S S 启动 按启动 按 T T 停止 按停止 按 P P 暂停 按暂停 按 Q Q 退出程序 退出程序 1 设计任务及要求分析 2 方案比较及认证说明 3 系统原理阐述 4 软件设计课题需要说明 软件思想 流程图 源程序及程序注释 5 调试记录及结果分析 6 总结 7 参考资料 8 附录 芯片资料或程序清单 软件演示屏幕拷贝图或硬件实物图 时间安排 时间安排 1 月 10 日 1 月 12 日 收集资料 方案选择 1 月 13 日 1 月 16 日 整体流程 程序细节 1 月 17 日 1 月 20 日 调试程序 报告撰写 1 月 21 日 交设计报告 程序演示 答辩 指导教师签名 年 月 日 系主任 或责任教师 签名 年 月 日 武汉理工大学 微机原理与接口技术 课程设计说明书 前言前言 汇编语言是计算机能够提供给用户使用的最快而又最有效的语言 也是能够利用 计算机所有硬件特性并能直接控制硬件的唯一语言 因而 对程序的空间和时间的要 求很高的场合 汇编语言的应用是必不可少的 至于很多需要直接控制硬件的应用场 合 则更是非用汇编语言不可了 随着科学技术迅速发展 理工科大学生不仅需要掌 握计算机方面的基本理论知识 而且还需要掌握基本的实验技能及一定的科学研究能 力 通过课程设计 使学生巩固和加深微型计算机原理理论知识 通过实践进一步加 强学生独立分析问题和解决问题的能力 综合设计及创新能力的培养 同时注意培养 学生实事求是 严肃认真的科学作风和良好的实验习惯 为今后工作打下良好的基础 鉴于汇编语言的广泛用途及其在当代计算机界的重要作用 本人利用学的知识 在 同学门的帮助下 花费大量时间 完成了关于电子表的系统设计 这个系统是应用于电脑中的小应用程序 可是显示电脑中的时间 很多地方都会有 个时钟显示 其中大多是应用了类似这样的方法 武汉理工大学 微机原理与接口技术 课程设计说明书 目录目录 1 设计任务及要求分析 1 1 1 设计目的 1 1 2 设计任务 1 1 3 具体要求 1 2 方案比较及认证说明 2 3 系统原理阐述 3 4 软件设计课题说明 8 4 1 软件思想 8 4 2 流程图 8 4 3 源程序及程序注释 10 5 调试记录及结果分析 20 5 1 程序调试过程 20 5 2 运行结果 20 6 设计总结及心得体会 23 7 参考文献 24 8 附录 中断向量表 25 武汉理工大学 微机原理与接口技术 课程设计说明书 0 1 设计任务及要求分析 1 1 设计目的 1 通过设计电子表 掌握中断的使用方法 2 掌握基本的显存读写技术 3 学会在屏幕上以七段数码管的形式显示本机时间的方法 4 学会用汇编语言编写一个完整的程序 提高自己的动手操作能力 5 学习程序设计的基本思路和方法 培养分析问题 解决问题的能力 1 2 设计任务 采用汇编语言设计一个电子表程序 在屏幕上以七段数码管的形式显示本 机时间 精确到秒 按 S 启动 按 T 停止 按 P 暂停 按 Q 退出程序 1 3 具体要求 1 设计任务及要求分析 2 方案比较及认证说明 3 系统原理阐述 4 软件设计课题需要说明 软件思想 流程图 源程序及程序注释 5 调试记录及结果分析 6 总结 7 参考资料 8 附录 芯片资料或程序清单 软件演示屏幕拷贝图或硬件实物图 武汉理工大学 微机原理与接口技术 课程设计说明书 1 2 方案比较及认证说明 设计方案 数字 0 9 中的每一个数字用 和 字符组成的 七段 码图形表示 时与分 分与秒之间的两点用 字符表示 这些字符预先定 义在数据段的字符图形里 利用 BIOS INT 1AH 的 2 号系统功能调用 读出计算 机系统的时间 为 BCD 码 置换成字符图形标中的图形字符显示 本程序设计的关键是随着系统时间的变化 用字符组成的图形数字如何进 行相应的变化 方法是 不停地读取系统时间并保存在寄存器中 将每次取出 的时间显示并与前一次比较 先比较 秒 值 在不同的情况下 系统时间发 生了增 1 的变化 则调用相应的图形字符显示 在不超过 60 秒的情况下 重 复比较秒 然后再比较和显示 分 值与 小时 值 程序流程图如图所示 武汉理工大学 微机原理与接口技术 课程设计说明书 2 3 系统原理阐述 用七段码电子表显示程序系统时间 程序设计的关键是随系统时间的变化 用字符组成图形数字如何进行相应的变化 编写的程序 主要包含以下子程序 1 对时间值进行处理并显示的子程序 xian procproc push si push di push dx push cx push bx push ax pop ax push ax mov bx ax mov ax 0 mov al bh mov cl 4 shr al cl mov bl al mov dh 10 mov dl 2 call ff pop ax push ax mov bx ax mov ax 0 mov al bh and al 0fh mov bl al mov dh 10 mov dl 6 call ff mov dh 10 mov dl 10 mov bl 10 call ff 武汉理工大学 微机原理与接口技术 课程设计说明书 3 pop ax push ax mov cl 4 shr al cl mov bl al mov dh 10 mov dl 14 call ff pop ax push ax and al 0fh mov bl al mov dh 10 mov dl 18 call ff mov dh 10 mov dl 22 mov bl 10 call ff pop ax pop bx push bx push ax mov ax 0 mov al bh mov cl 4 shr al cl mov bl al mov dh 10 mov dl 26 call ff pop ax pop bx push bx push ax mov al bh and al 0fh mov bl al mov dh 10 mov dl 30 call ff mov dh 0 mov dl 15 mov bl 22 武汉理工大学 微机原理与接口技术 课程设计说明书 4 call ff pop ax pop bx pop cx pop dx pop di pop si ret xian endpendp 2 显示具体数值的子程序 ff procproc push ax push bx push cx push dx cmp bl 0 je l0 cmp bl 1 je l1 cmp bl 2 je l2 cmp bl 3 je l3 cmp bl 4 je l4 cmp bl 5 je l5 cmp bl 6 je l6 cmp bl 7 je l7 cmp bl 8 je l8 cmp bl 9 je l9 cmp bl 10 je l10 cmp bl 22 je ld l0 lea di s0 jmp ty l1 lea di sy 武汉理工大学 微机原理与接口技术 课程设计说明书 5 jmp ty l2 lea di s2 jmp ty l3 lea di s3 jmp ty l4 lea di s4 jmp ty l5 lea di s5 jmp ty l6 lea di s6 jmp ty l7 lea di s7 jmp ty l8 lea di s8 jmp ty l9 lea di s9 jmp ty l10 lea di s11 jmp ty ld lea di str ty mov ah 0fh 显示方式 int 10h sub cx cx mov cl di inc di plot next add dh di 2 add dl di 3 mov ah 2 int 10h mov al di mov bl di 1 push cx mov cx 1 mov ah 09 int 10h pop cx add di 4 loop plot next pop dx pop cx pop bx pop ax mov cx 100 gg dec cx 武汉理工大学 微机原理与接口技术 课程设计说明书 6 loop gg ret ff endpendp 3 报时子程序 beep procproc push ax push bx push cx push dx mov al 10110110b out 43h al mov ax 533h out 42h al mov al ah out 42h al in al 61h mov ah al or al 03 out 61h al sub cx cx mov bl 28h g7 loop g7 dec bl jnz g7 mov al ah out 61h al pop dx pop cx pop bx pop ax ret beep endpendp 武汉理工大学 微机原理与接口技术 课程设计说明书 7 4 软件设计课题说明 4 1 软件思想 本课题主要涉及以下知识点 数据段 1 Disptime Showtime 显示时钟 2 定义 0 9 十个图形数字 以便模拟七段码显示时钟 宏定义 1 Clear 定义清屏宏 2 rowcol 定义光标定位宏 3 crlf 回车换行宏 4 display 显示字符串宏 5 change 计算时间宏 函数 1 main 主函数 2 paly 主要完成显示七段码电子表显示 3 prog0 到 prog10 完成七段码到一半显示的转换 4 moveshape 显示七段码电子表 5 delay 延迟函数 6 exit 返回 DOS 函数 4 2 流程图 本实验程序流程图见下页 武汉理工大学 微机原理与接口技术 课程设计说明书 8 武汉理工大学 微机原理与接口技术 课程设计说明书 9 开始 从键盘上输入 S 屏幕初始化 读取系统时间 从键盘上输入字符 AL T AL P AL Q 结束 Ah 0 ah 24 ah ah 1 al 100 bh 100 秒加 1 a 1a1 1 Call beep bh bh 1 Call xian 读取系统时间 bh 为存放秒值的寄存器 al 为存放分值的寄存器 beep 子程序为报时子程序 ah 为存放小时的寄存器 Y Y N N N N Y N N N 计时暂停 Y 4 3 源程序及程序注释 datadata segmentsegment 定义please等提示信息 infon dbdb 0dh 0ah 0dh 0ah Please press S to startstart str db 0dh 0ah Press P to pause str dbdb 49 dbdb 50h 7 0 0 dbdb 6ch 7 0 1 dbdb 65h 7 0 1 dbdb 61h 7 0 1 dbdb 73h 7 0 1 dbdb 65h 7 0 1 dbdb 70h 7 1 3 dbdb 72h 7 0 1 dbdb 65h 7 0 1 dbdb 73h 7 0 1 dbdb 73h 7 0 1 dbdb 50h 7 0 2 dbdb 6bh 7 0 2 dbdb 65h 7 0 1 dbdb 79h 7 0 1 dbdb 70h 7 0 2 dbdb 61h 7 0 1 dbdb 75h 7 0 1 dbdb 73h 7 0 1 dbdb 65h 7 0 1 dbdb 21h 7 0 1 dbdb 70h 7 1 9 dbdb 72h 7 0 1 dbdb 65h 7 0 1 dbdb 73h 7 0 1 dbdb 73h 7 0 1 dbdb 51h 7 0 2 dbdb 6bh 7 0 2 dbdb 65h 7 0 1 dbdb 79h 7 0 1 dbdb 65h 7 0 2 武汉理工大学 微机原理与接口技术 课程设计说明书 10 dbdb 78h 7 0 1 dbdb 69h 7 0 1 dbdb 74h 7 0 1 dbdb 21h 7 0 1 dbdb 70h 7 1 9 dbdb 72h 7 0 1 dbdb 65h 7 0 1 dbdb 73h 7 0 1 dbdb 73h 7 0 1 dbdb 54h 7 0 2 dbdb 6bh 7 0 2 dbdb 65h 7 0 1 dbdb 79h 7 0 1 dbdb 73h 7 0 2 dbdb 74h 7 0 1 dbdb 6fh 7 0 1 dbdb 70h 7 0 1 dbdb 21h 7 0 1 定义0 9十个图形数字 s0 dbdb 6 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 7ch 7 1 0 dbdb 5fh 7 0 1 dbdb 7ch 7 0 1 dbdb 7ch 7 1 0 sy dbdb 2 dbdb 7ch 7 1 0 dbdb 7ch 7 1 0 s2 dbdb 5 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 s3 dbdb 5 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 s4 dbdb 4 武汉理工大学 微机原理与接口技术 课程设计说明书 11 dbdb 7ch 7 1 0 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 7ch 7 1 0 s5 dbdb 5 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 s6 dbdb 6 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 0 1 s7 dbdb 3 dbdb 5fh 7 0 0 dbdb 7ch 7 1 1 dbdb 7ch 7 1 0 s8 dbdb 7 dbdb 7ch 7 1 0 dbdb 5fh 7 1 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 0 1 s9 dbdb 6 dbdb 7ch 7 1 0 dbdb 5fh 7 1 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 dbdb 7ch 7 1 1 dbdb 5fh 7 0 1 s11 dbdb 2 dbdb 03h 7 1 0 dbdb 03h 7 1 0 datadata endsends stackstack segmentsegment dbdb 200 dupdup 0 stackstack endsends codecode segmentsegment 武汉理工大学 微机原理与接口技术 课程设计说明书 12 assumeassume cs codecode ss stackstack ds datadata startstart mov ax datadata mov ds ax star mov ah 0 设置显示方式 mov al 3 int 10h mov ah 0bh 置彩色调板 mov bh 0 mov bl 1 int 10h mov ah 0bh 置彩色调板 mov bh 1 mov bl 4 int 10h lea dx infon mov ah 9 int 21h key0 mov ah 1 读键盘缓冲区字符 int 16h mov ah 0 int 16h cmp al S jnz key0 mov ah 2 取系统时间 int 1ah mov ax 0 mov bx 0 mov ah ch 取系统时间 mov al cl 保存分钟 mov bh dh 保存秒 mov bl dl 保存百分之一秒 tt push ax push bx mov ah 0 mov al 3 int 10h mov ah 0bh mov bh 0 武汉理工大学 微机原理与接口技术 课程设计说明书 13 mov bl 1 int 10h mov ah 0bh mov bh 1 mov bl 4 int 10h ww pop bx pop ax call xian 调用显示子程序 push ax mov ah 1 读键盘缓冲区字符 int 16h jz qu mov ah 8 从键盘输入字符 int 21h cmp al Q 输入s 结束程序 je tu cmp al T jz star cmp al P jne qu key mov ah 1 读键盘缓冲区字符 int 16h mov ah 0 int 16h cmp al P jnz key qu mov ah 2 取系统时间 int 1ah cmp bh dh 武汉理工大学 微机原理与接口技术 课程设计说明书 14 je qu pop ax inc bh 对时间进行加1 cmp bh 100 jl tt mov bh 0 inc al call beep cmp al 100 jl tt mov al 0 inc ah cmp ah 24 jl tt mov ah 0 jmp tt tu mov ah 4ch int 21h ret xian procproc 对时间值进行处理并显示的子程序 push si push di push dx push cx push bx push ax pop ax push ax mov bx ax mov ax 0 mov al bh mov cl 4 shr al cl mov bl al mov dh 10 mov dl 2 call ff pop ax push ax mov bx ax mov ax 0 mov al bh 武汉理工大学 微机原理与接口技术 课程设计说明书 15 and al 0fh mov bl al mov dh 10 mov dl 6 call ff mov dh 10 mov dl 10 mov bl 10 call ff pop ax push ax mov cl 4 shr al cl mov bl al mov dh 10 mov dl 14 call ff pop ax push ax and al 0fh mov bl al mov dh 10 mov dl 18 call ff mov dh 10 mov dl 22 mov bl 10 call ff pop ax pop bx push bx push ax mov ax 0 mov al bh mov cl 4 shr al cl mov bl al mov dh 10 mov dl 26 call ff pop ax pop bx push bx push ax 武汉理工大学 微机原理与接口技术 课程设计说明书 16 mov al bh and al 0fh mov bl al mov dh 10 mov dl 30 call ff mov dh 0 mov dl 15 mov bl 22 call ff pop ax pop bx pop cx pop dx pop di pop si ret xian endpendp ff procproc 显示具体数值 push ax push bx push cx push dx cmp bl 0 je l0 cmp bl 1 je l1 cmp bl 2 je l2 cmp bl 3 je l3 cmp bl 4 je l4 cmp bl 5 je l5 cmp bl 6 je l6 cmp bl 7 je l7 cmp bl 8 je l8 cmp bl 9 je l9 cmp bl 10 武汉理工大学 微机原理与接口技术 课程设计说明书 17 je l10 cmp bl 22 je ld l0 lea di s0 jmp ty l1 lea di sy jmp ty l2 lea di s2 jmp ty l3 lea di s3 jmp ty l4 lea di s4 jmp ty l5 lea di s5 jmp ty l6 lea di s6 jmp ty l7 lea di s7 jmp ty l8 lea di s8 jmp ty l9 lea di s9 jmp ty l10 lea di s11 jmp ty ld lea di str ty mov ah 0fh 显示方式 int 10h sub cx cx mov cl di inc di plot next add dh di 2 add dl di 3 mov ah 2 int 10h mov al di mov bl di 1 push cx mov cx 1 mov ah 09 int 10h pop cx add di 4 loop plot next 武汉理工大学 微机原理与接口技术 课程设计说明书 18 pop dx pop cx pop bx pop ax mov cx 100 gg dec cx loop gg ret ff endpendp beep procproc push ax push bx push cx push dx mov al 10110110b out 43h al mov ax 533h out 42h al mov al ah out 42h al in al 61h mov ah al or al 03 out 61h al sub cx cx mov bl 28h g7 loop g7 dec bl jnz g7 mov al ah out 61h al pop dx pop cx pop bx pop ax ret beep endpendp codecode endsends endend startstart 武汉理工大学 微机原理与接口技术 课程设计说明书 19 5 调试记录及结果分析 5 1 程序调试过程 1 将上述程序编译 汇编源文件 命名为 sun asm 2 asm 将生成一个 exe 文件 如果程序有错误则不能生成 需找出源程序中 的错误并改正 3 编译 连接 运行文件 即可显示结果 4 根据显示结果输入字母 查看运行结果 5 2 运行结果 1 程序运行后 屏幕显示如下图所示 武汉理工大学 微机原理与接口技术 课程设计说明书 20 图 5 1 运行程序后的桌面显示 2 在键盘上输入 S 显示本机时间 如下图所示 图 5 2 输入 S 后 显示本机时间 3 在键盘上输入 T 屏幕重新显示开始时的画面 如下图所示 再次输入 S 重新显示本机时间 武汉理工大学 微机原理与接口技术 课程设计说明书 21 图 5 3 输入 T 后的屏幕显示 4 输入 P 时间将会暂停 如下所示 再次输入 P 计时继续 图 5 4 输入 P 屏幕显示暂停 5 输入字母 Q 则退出时间显示 武汉理工大学 微机原理与接口技术 课程设计说明书 22 6 设计总结及心得体会 以前从没有学过关于汇编语言的知识 起初学起来感觉很有难度 当知道 要做课程设计的时候心里面感觉有些害怕和担心 担心自己不会或者做不好 但是当真的要做的时候也只好进自己最大的努力去做 做到自己最好的 我们在这个过程中有很多自己的感受 我想很多同学都会和我有一样的感 受 那就是感觉汇编语言真的是很神奇 很有意思 我们从开始的担心和害怕 渐渐变成了享受 享受着汇编带给我们的快乐 看着自己做出来的东西 心里 面的感觉真的很好 我想微机原理课程设计和其他课程设计有共同的地方 那 就是不仅加深和巩固了我们的课本知识 而且增强了我们自己动脑 自己动手 的能力 但是我想他也有它的独特指出 那就是让我们进入一个神奇的世界 那就是编程 对于很多学过汇编或者其他的类似程序的同学来说 这不算新奇 但是对于我来说真的新奇 很有趣 也使我有更多的兴趣学习微机原理和其他 的汇编 武汉理工大学 微机原理与接口技术 课程设计说明书 23 微机原理与接口技术是一门很有趣的课程 任何一个计算机系统都是一个 复杂的整体 学习计算机原理是要涉及到整体的每一部分 讨论某一部分原理 时又要涉及到其它部分的工作原理 这样 不仅不能在短时间内较深入理解计 算机的工作原理 而且也很难孤立地理解某一部分的工作原理 所以 在循序 渐进的课堂教学过程中 我总是处于 学会了一些新知识 弄清了一些原来保 留的问题 又出现了一些新问题 的循环中 直到课程结束时 才把保留的问 题基本搞清楚 学习该门课程知识时 其思维方法也和其它课程不同 该课程偏重于工程 思维 在了解了微处理器各种芯片的功能和外部特性以后 剩下的是如何将它 们用于实际系统中 其创造性劳动在于如何用计算机的有关技术和厂家提供的 各种芯片 设计实用的电路和系统 再配上相应的应用程序 完成各种实际应 用项目 总之 这次课程设计对于我们有很大的帮助 通过课程设计 我更加深入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论