微机原理实习报告---电子时钟(用汇编语言实现)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

河南农业大学

课程设计报告

题目:电子时钟显示设计

课程:微型计算机原理

专业:电子信息工程

班级:

学生姓名:

学号:

指导教师:

完成日期:

机电工程学院

目录

前言 (1)

第一章绪论 (2)

一、实习目的 (2)

二、实习要求 (2)

三、设计所需设备 (2)

第二章软件系统介绍 (3)

一、中断技术(或其它相关技术) (3)

(一)介绍中断的概念中断技术 (3)

(二)DOS及BIOS中断 (3)

二、汇编语言及汇编工具简介 (3)

三、软件介绍 (3)

第三章设计分析 (4)

一、软件设计思路 (4)

二、软件各模块内容 (4)

(一)光标定位子程序原理 (4)

(二)清屏原理 (4)

(三)字符及字符串显示原理 (4)

(四)压缩BCD转为ASCII码原理 (5)

(五)动态扫描键盘原理 (5)

三、程序流程图设计 (5)

第四章系统实现 (7)

一、程序原代码清单及详细注释 (7)

二、实验结果 (15)

总结 (16)

一、软件的选取 (16)

二、图案的设计 (16)

三、程序调试 (16)

参考文献 (16)

前言

软件设计题目

电子时钟。(在计算机屏幕上显示当前系统的时间,日期,或时间和日期,3人一组)设计目的:

1.了解定时/计数器和中断(DOS/BIOS)的使用;

2.掌握定时/计数器和中断的工作原理和编程方法。

编程要求:

1.调用系统时间,在屏幕上显示出来;

2.获取键盘的按键值,判断键值并退出系统。

程序设计参考步骤:

第一部分:定义显示界面。

第二部分:调用系统时间(日期),并将调用的用二进制表示的时间数转换成ASCII码,

并将时间数(日期数)存入内存区。

第三部分:将存在系统内存区的时间数(日期数)用显示字符串的形式显示出来。

第四部分:获取键盘的按键值,判断键值并退出系统。

第一章绪论

一、实验目的

1.理解掌握定时/计数器和中断的使用方法。

2.掌握微机常用的输入输出方式及接口技术。

3.掌握一定的汇编语言知识,培养自己的动手操作能力。

4.学习程序设计的基本思路和方法。

二、实习要求

1.调用系统时间,在屏幕上显示出来;

2.获取键盘的按键值,判断键值并退出系统。

三、设计所需设备:PC机

第二章软件系统介绍

一、中断技术(或其它相关技术)

(一)介绍中断的概念中断技术

在微机中,当CPU在执行过程中时,由于随机的事件(包括CPU内部的和CPU外部的事件)引起的CPU暂时停止正在执行的程序,而转去执行一个用于处理该事件的程序—称为中断式服务程序(或称中断处理程序),处理完后又返回被终止的程序断点处继续执行,这一过程成为中段(二)DOS及BIOS中断

通过调用DOS系统的8号功能实现控制字符的输入,通过调用延时程序实现十分之一秒的定时,通过调用DOS系统的2号功能实现光标定位,调用DOS系统的2号功能实现字符的输出,通过调用DOS系统的9号功能实现字符串的输出。

二、汇编语言及汇编工具简介

汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编。

EMU8086是学习汇编必不可少的工具,它结合了一个先进的原始编辑器、组译器、反组译器、具除错功能的软件模拟工具(虚拟PC),还有一个循序渐进的指导工具。Emu8086同主流汇编程序相比,语法简单得多,但是它能生成兼容8086的机器语言。可以直接对通用寄存器,段寄存器,直接进行汇编编址操作,而且便于直接生成exe文件进行操作。

三、软件介绍

这个电子时钟可以通过DOS命令实现对系统时间进行调用,并且直接显示出来,按‘C’或‘c’直接修改时间,然后按‘ESC’退出此时的程序

第三章设计分析

一、软件设计思路

先在数据段开一段显示缓冲区,用来存储系统时间,调用子程序的清屏部分。调用DOS中断,得到系统当前时间,并将其二进制转换成ASCII码。再分别将小时数、分钟数、秒数存入显示缓冲区,在修改时间的时候调用键盘输入输出程序实现时钟的修改功能,然后存入结束字符‘$’。调用DOS字符串显示功能将时间显示在显示器上,调用屏幕的I/O中断,定位光标的开始位置,将时间显示在预先定义好的位置。

把程序设计成用刷新的方式来不断获取系统的时间,这样就有了会一秒一秒走动的电子时钟。

二、软件各模块内容

(一)光标定位子程序原理

DOS显示屏为25行、80列,左上角为(0,0),右下角(18,4F)

设置光标,可调用BIOS系统,用汇编语句调用中断INT10H。入口信息为

(AH)=2 要设置光标;

(BH)=0 页号;

(DH,DL)=光标的行号、列号

(二)清屏原理

开始执行程序时为保证有一个洁净的屏幕,可使显示屏做上滚动作,使屏幕留下一片空白。要使屏幕上滚,可用汇编语句INT 10H ,入口信息为

(AH )=6 使屏幕上滚

(AL)=00上滚行数

(CH,CL)=滚动区域左上角的行、列号

(DH,DL)=滚动区域右下角的行、列号

(BG)=00 颜色的设置

(三)字符及字符串显示原理

通过调用DOS系统模块2只能是西安DL中的一个字符的显示。为了实现字符串的显示,调用其9号模块功能,其入口信息为

(AH)=9 显示字符串的功能模块

(DS:DX)指向字符串的首地址,要求字符串以字符‘$’结尾。

相关文档
最新文档