微机原理与接口技术课程设计-显示系统时间的程序内容摘要:
取 键 盘 缓 冲 区YNZ F 是 否 为 1NS T A R TD I S PL A Y程 序Y 图 3 子程序 3 的流程图 武汉理工大学《微机原理与接口技术》课程设计说明书 9 拓展设计及功能说明 在本课设中,在完成老师要求的 ASCII 码 的转换等基本任务以外,我还在显示方式中的 背景颜色 和字体颜色 等方面做了拓展。 为了使屏幕显示更加美观,同时也可以方便地改变字体颜色, 我采用的是显示器输出中断调用即为 INT 10H,其中的 0号功能就是指设置显示方式, 入口参数: AH=0(功能号), AL=设置方式( 0~ 7)。 出口参数:无。 一共有 8中不同的显示方式,通过修改 AL的值即可。 程序设计的 主 流程图 其程序设计的 主 流程图如图 4所示: 开 始开 辟 显 示 缓 存 区调 用 T I M E 子 程 序 , 读 取 时 间分 别 将 时 、 分 、 秒 转 化 为 A S C Ⅱ 码输 入 的 是 “ T ” 还 是 “ Q ”T结 束延 时 , 并 读 取 磁 盘 变 化调 用 B I O S 中 断 , 设 置 显 示 方 式通 过 显 存 将 时 间 显 示 出 来返 回 D O SQ 图 4 程序设计的 主 流程图 武汉理工大学《微机原理与接口技术》课程设计说明书 10 3 方案比较 方案 1 原理说明 首先在数据段开辟一显示缓冲 区,用来存储系统时间。 然后 调用 BIOS 中断,返回系统时间,并将来返回的二进制时间转换成 ASCII 码,分别将来小时数、分钟数、秒数存入显示缓冲区。 按照输入的提示,若输入为“ T” 时, 则 通过写显存将时间显示出来 , 并且运用了延时设置 CX,进行缓冲,对 BX递减 1 并 判断 BX,当结果为 0 时, 然后 读取键盘缓冲区字符, 若 键盘缓冲区有新的字符输入,则跳入 START 重新开始, 若,没有 则继续从系统读取系统时间, 程序一旦进入运行,就将不间断地在显示屏显示时间,要想程序停止运行,可输入“ Q”即可退出。 在本方案中用到了我以上介绍的三个 子程序。 相关理论知识 1)、 BIOS 功能调用: 在存储器系统中,内存器高端 8K 的 ROM 中存放有 基本输入输出系统即为 basic Input/Output System, BIOS 例行程序。 BIOS 给 PC 系列的不同微处理器提供了兼容的系统加电自检、引导装入、主要 I/O 设备的处理程序以及接口控制等功能模块来处理所有的系统中断。 使用 BIOS 功能调用,给程序员编程带来极大方便。 程序员 不必了 硬件的具体细节,可直接使用指令设置参数,并中断调用 BIOS 例行程序,所以利用 BIOS功能调用编写的程序简洁,可读性好,而 且易于移植。 调用 DOS 或 BIOS 功能时,有以下几个步骤: ( 1) 、 将调用参数装入指定的寄存器。 ( 2) 、 如需功能调用号,把它装入 AH。 ( 3) 、 如需子功能调用号,把它装入 AL。 ( 4) 、 按中断号调用 DOS 或 BIOS。 ( 5) 、 检查返回参数是否正确。 2) 、 ASCII 的转换 与扫描码 : 键盘是计算机最基本的一种输入设备,用来输入信息,以达到人机对话的目的。 当在键盘上“按下”或“放开”一个键时,如果键盘中断是允许的( 21H武汉理工大学《微机原理与接口技术》课程设计说明书 11 端口的第一位等于 0),就会产生一个类型 9 的中断,并转入到 BIOS 的键盘中断处理程序。 非 ASCII 码键产生一个指定的操作。 在方案 1 中就用到了通过单个字符的输入来对菜单的项进行选择,这样的程序也称为交互程序。 3)、 显示器输出中断调用 : 10H 中断调用为显示器中断,共有 17 种功 能。 下面列出这次课设程序设计时可能需要的几种功能的使用情况。 ( 1) 、 设置显示方式( 0 号功能) 入口参数: AH=0(功能号), AL=设置方式( 0~7)。 出口参数:无。 其 部分 显示方式的 8中情况如表 1所示: 表 1 8 种不同的显示方式 ( 2) 、 设置光标类型( 1 号功能) 入口参数: AH=1(功能号), CH=光标开始行, CL=光标结束行。 出口参数:无。 根据 CX给出光标的大小。 ( 3) 、 设置光标位置( 2 号功能) 入口参数: AH=2(功能号), BH=页号, DH=行号, DL=列号。 出口参数:无。 根据 DX确定了光标位 置。 AL 显示方式 0 40 25 黑白文本方式 1 40 25 彩色文本方式 2 80 25 黑白文本方式 3 80 25 彩色文本方式 4 320 200 彩色图形方式 5 320 200 黑白图形方式 6 640 200 黑白图形方式 7 80 25 黑白文本方式 武汉理工大学《微机原理与接口技术》课程设计说明书 12 ( 4) 、 读当前光标位置( 3号功能) 入口参数; AH=3(功能号), BH=页号。 出口参数: DH=行号, DL=列号, CX=光标大小。 方案 1 的流程图 其方案 1的流程图如图 4所示: 开 始定 义 堆 栈 段 和 代 码 段开 辟 显 示 缓 存 区调 用 B I O S 中 断 , 设 置 显 示 方 式输 入 的 字 符 是“ Q ” 还 是 “ T ”调 用 T I M E 子 程 序 , 读 取 系 统 时 间分 别 将 时 、 分 、 秒 转 化 为 A S C Ⅱ 码输 入 : 作 为 分 隔 符通 过 显 存 将 时 间 显 示 出 来延 时 , 并 读 取 键 盘 缓 冲 区 的 变 化结 束TQ输 入 的 字 符 是“ Q ” 还 是 “ T ”QT 图 4 方案 1 的流程图 武汉理工大学《微机原理与接口技术》课程设计说明书 13 方案 2 原理说明 本方案采用 调用几个子程序的思想来完成系统时间的显示, 首先取中断向量,保留原有中断,然后设置光标的位置,按课设任务的要求,应该设置在屏幕的中央。 接着调用 BIOS中断的日时钟( INT 1AH) ,读取系统的时间,然后再调用子程序 1将小时的数值转化为 ASCⅡ码 ,并且显示出来,再调用显示分号的子程序,分钟和秒钟的 转化和显示依次和小时的同理。 而在子程序 1 中又嵌套了两个子程序,一个是将数值转为 ASCⅡ 码的子程序,另一个是将字符显示在屏幕上的子程序。 在方案 2中,用到了和方案 1差不多的理论知识,比如说也用到了 BIOS 中断的 INT 10H的功能中断,也用到了键盘扫描码等等。 这里就不再赘述。 但是在方案 2 中,较多的用到了子程序调用的思想。 在编程方面, 与方案 1 不同的是,在方案 2中我采用了另一种方法来将数值转化为 ASCⅡ 码,即将数值循环的除以 10,得到的商即为所转化的 十进制的数 值,但是这种方法比较原始,没有什么技巧性。 而且在本方案中较多的运用了子程序的调用,过程显得比较复杂。 方案 1的程序比较简洁明了,思路也比较清晰, 综上所述, 我选择方案一。 武汉理工大学《微机原理与接口技术》课程设计说明书 14 4 程序的调试过程 ( 1)编译→汇编源文件,命名为 asm。 ( 2) asm 将生成一个 OBJ文件,如果有程序有错误,则提示不能生成 OBJ 文件,那么就要检查源程序中的错误,并改正。 ( 3)点击连接,然后点击运行,即可显示结果。 结果如图所示。 ( 4)如果要退出程序 ,从键盘中输入“ Q”即可。 分析:调试屏幕上显示的提示语与系统时间的位置都可通过前面介绍的内容来改变,且程序可从键盘中输入 “ Q”来退出,很方便简单。 而且编者可以根据自己喜欢的颜色来改变字体和背景的颜色。 程序所显示的结果如图 5所示。 图 5 运行的结果显示 武汉理工大学《微机原理与接口技术》课程设计说明书 15 当键盘输入“ Q”时,程序的显示如图 6 所示。 图 6 当按“ Q”时的程序显示 武汉理工大学《微机原理与接口技术》课程设计说明书 16 5 调试过程中的问题 及解决方法 首先是在 编程 的过程中, 在 如何使用中断程序来读取系统时间 上遇到了难题,因为在平时的理论课上,这一方面接触的比较少, 用什么形式的中断实现功能,对中断的初始化、具体设置、中断返回还不是很清楚,对中断向量表的装载也比较模糊,由于遇到了这些,我只好先停下我的编程,去图书馆借了清华大学出版社的《汇编语言程序设计》等几本书,认真翻阅了其中关于中断功能的知识,也从网上下载了一些例题和功能介绍来研究学习。 在我重点研究了中断过程,通过对这一内容的学习。微机原理与接口技术课程设计-显示系统时间的程序
相关推荐
ring the frequency of a number of means, including electronic counter measure the frequency with high precision, ease of use, rapid measurement, and to facilitate realization of the advantages of
综合性实验总结 淀粉酶活性测定:采用 3,5二硝基水杨酸显色法 过氧化物同工酶测定:采用垂直平板凝胶电泳法 结果与分析 吸胀与萌发水稻种子游离氨基酸含量比较 处理 游离氨基酸含量(单位) 吸胀 8060( ug/100g) 萌发 14270( ug/100g) 氨基酸的游离氨基与水合茚三酮作用后,能产生二酮茚胺的取代盐等蓝紫色化合物。 在一定范围内,其颜色的深浅与氨基酸的含量成正比。
遥控常用的载波频率 38 kHz 与测距的超声波频率40 kHz较为接近,可以利用它制作超声波检测接收电路 (如图 )。 实验证明用 CX20206A 接收超声波 (无信号时输出高电平 ),具有很好的灵敏度和较强的抗干扰能力 【 9】。 78123 456R E S 2R 1 3R 1 2U 5R 1 4C 4RC 7C 6C 51 μ FR E S 2C X 2 0 1 0 6 A0 . 0
据库, DataSet 能记下列的初始值(我们可以用在 where 语句中以重新取得记录),而且还对 DataRow 的状态( insert、 update和 delete)进行跟踪。 比如我们可以加一个 Row_Update 事件,来保持两个列值的同步。 3. 可排序。 4. 可进行数据过滤。 5. 可以方便地使用 XSD39。 s 来定义强类型的 DataSet—— 使用定义好的
个空间中欣赏几个相互渗透的空间时, 你获得的是空间的层次感。 而当你依次由一个空间走向另一个空间,通过对不同空间的亲身体验,最终获得的是对空间序列的感受。 所以空间序列的设计更注重的是考察人的空间行为,并以此为依据,设计空间的整体结构及各个空间的具体形态。 外部空间的序列组织和人流活动的关系十分密切。 一般地讲来,外部空间的序列组织首先必须考虑主要人流必经的路线
良好的弹性密封材料和隔热性良好的衬垫材料。 玻璃内侧的窗帘、百叶窗及其他遮蔽物与玻璃之间的距离不应小于 50mm。 不得使玻璃局部升温。 6 人体冲击安全规定 非安全玻璃不得替代安全玻璃。 安全玻璃的最大许用面积应符合表 ;有框架的普通退火玻璃或夹丝玻璃的最大许用面积应符合表 规定。 表 安全玻璃最大许用面积 玻璃种类 公称厚度( mm) 最大许用面积( m2) 钢化玻璃 单片防火玻璃 4 5