微机原理课程设计(电子秒表的).docxVIP

  • 0
  • 0
  • 约7.08千字
  • 约 13页
  • 2026-02-11 发布于山东
  • 举报

微机原理与应用

课程设计

名目

设计任务

计时秒表,具有分、秒和百分之一秒的计时功能。

能够在屏幕中心显示计时结果,屏幕显示彩色图案和文字。

秒表具有键控启/停功能,而且能够随时通过键盘复位,清零。

设计原理

1、HALT(启动子程序)

2、DIS〔宏定义——苹果显示程序〕

3、DISS〔宏定义——字符串的输出〕

4、CLOUR〔字体颜色设置程序〕

5、IOSET(设置光标位置子程序)

6、GO(初始化显示子程序)

7、TIME(延时子程序)

8、TRAN(压缩BCD码转ASCII码程序)

9、复位、停止等功能的实现

流程图

主程序流程图

压缩BCD转ASCII码子程序流程图

延时子程序流程图

程序段

程序调试

程序运行结果

心得体会

参考文献

一、设计任务:

1.计时秒表,具有分、秒和百分之一秒的计时功能,并能够在屏幕中心显示计时结果。

2.屏幕显示彩色图案和文字。

3.秒表具有键控启/停功能,而且能够随时通过键盘复位,清零。

二、设计原理:

本程序的要紧设计原理是用主程序完成百分之一秒与秒之间的转换,显示计时结果,实现暂停,暂停再启动,复位,复位再启动的功能,并通过调用一些附加程序,缩减主程序的长度,提高运行效率和精度,现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下:

1.DIS〔宏定义——苹果显示程序〕

通过宏调用,实现苹果图案的显示。在宏定义里,设置一个形参变量,作为移动光标的位置,在下面调用宏中,给予变量X不同的实参,输出苹果图案。

2.DISS〔宏定义——字符串的输出〕

原理同上。

3.CLOUR〔字体颜色设置程序〕

通过字体颜色设置程序,实现屏显字体颜色的改变。当改变BX值时,字体颜色会改变。

4.HALT(启动子程序)

通过启动子程序,实现计时的开始,当从键盘输进一个字符时,判定是否等于S,要是不等,那么在循环执行启动子程序中动态等待,直到输进的字符为S时,计时开始。

5.IOSET(设置光标位置子程序)

通过设置光标子程序,来设置显示的区域。一般整个屏幕可显示25行,80列,屏幕左上角字符位置为0行0列,右下足字符为24行79列,对应十六进制为:左上足为〔0,0〕,右下足为〔18,4F〕。进口信息为:〔AH〕=2要设置光标;〔BH〕=0页号;〔DH,DL〕=00要置光标于0行0列。DX赋值为0D27H,光标置位于屏幕中心。

6.GO(初始化显示子程序)

通过将在数据段定义的BUFFER数组的首址赋给BX,将待显示初值字符串00:00存进数组中的相应位置,当每次复位以后,重新调用该子程序,将程序的执行结果修正为00:00,并显示于屏幕上,从而实现了程序的初值设定和复位功能。

7.TIME(延时子程序)

计算机每执行一条指令,尽管特别快,然而需要一些时刻,因此在本程序中能够通过延时程序,让计算机往执行一些无关的程序,来到达时钟秒与百分之一秒转换时的时刻延迟。每条指令执行时刻的长短,是以计算机的时钟周期为全然单位的,因此不同的计算机能够通过修改延时程序数值来使其到达正确计时。

8.TRAN(压缩BCD码转ASCII码程序)

计算机显示数据时使用的是数据的ASCII码,而在程序设计当中程序的计时数值是BCD码,因此,需要通过此子程序实现将BCD码转变为ASCII码,以备送屏幕显示。因为时钟计时的压缩BCD码每一个数都有8位,因此将其右移四位并加30H,将其高位数字取出,送BX存放,再将其低位数字取出,加30H,送BX存放,到达不同码制之间转换的目的。

9.复位、停止等功能的实现

通过对输进字符的判定和各种循环的嵌套调用实现。

整体上本程序的要紧设计原理是先在数据段中定义“SSTARTRRESETEENDCCONTINUE〞操纵字符串,并定义缓冲区。将数据段的段基址送DS,并将“SSTARTRRESETEENDCCONTINUE〞显示,同时调用GO子程序,将显示结果初始化。同时设置光标,启动计时,启动延时程序,将百分之一秒加1并将其设置为压缩BCB码,当其CF不为1时,送屏幕显示,当其为1时,将其设置为0,并在秒上加1,当秒等于60时,其置0,当其小于60时,送屏幕显示。在计时过程中,要是键进R,那么将其复位,并重新开始计时,当键进E时,计时暂停,要是键进C,那么接着计时,要是键进R,那么复位,设置为00:00,当再次键进S时,再次计时开始。

三.框图(见附页)

四、程序清单〔附显示结果〕

DAT SEGMENT

SPACEDB2000DUP()

FU1DBWherethereisawill$

FU2DBThereisaway$

FU3DBMadeBy:$

FU4DBSunandFeng$

FU5DB12/28/2021$

FU6DBINPUTSSTARTRRESETEENDCCONTINUE$;设置

文档评论(0)

1亿VIP精品文档

相关文档