好文档 - 专业文书写作范文服务资料分享网站

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

天下 分享 时间: 加入收藏 我要投稿 点赞

微机原理课程设计

微机原理与应用

课程设计

1

微机原理课程设计

目 录

一、 设计任务

1、 2、

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

可以在屏幕中央显示计时结果,屏幕显示彩色图案和文字。 秒表具有键控启/停功能,而且可以随时通过键盘复位,清零。

3、

二、 设计原理

1、HALT(启动子程序)

2、DIS(宏定义——苹果显示程序) 3、DISS(宏定义——字符串的输出) 4、CLOUR(字体颜色设置程序) 5、IOSET(设置光标位置子程序) 6、GO(初始化显示子程序) 7、TIME(延时子程序)

8、TRAN(压缩BCD码转ASCII码程序) 9、复位、停止等功能的实现

三、 流程图

a) 主程序流程图

b) 压缩BCD转ASCII码子程序流程图 c) 延时子程序流程图

四、 程序段 五、 程序调试 六、 程序运行结果 七、 心得体会

2

微机原理课程设计

八、 参考文献

一、设计任务:

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码程序)

3

微机原理课程设计

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

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

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

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

三.框图(见附页)

四、程序清单(附显示结果) DAT SEGMENT

SPACE DB 2000 DUP (' ')

FU1 DB 'Where there is a will$' FU2 DB 'There is a way$' FU3 DB 'Made By:$'

FU4 DB 'Sun and Feng$' FU5 DB '12 / 28 / 2008$'

FU6 DB \;设置控制字符串 BUFFER DB 10 DUP(?) ;定义缓冲区 DAT ENDS COD SEGMENT

START PROC FAR

ASSUME CS:COD,DS:DAT MOV AX,DAT MOV DS,AX

CLOUR: ;字体颜色设置 MOV AX,0003H INT 10H MOV AX,DAT MOV DS,AX MOV ES,AX

MOV BP,OFFSET SPACE MOV DX,0E00H MOV CX,2000 MOV BX,0004H

4

微机原理课程设计

MOV AX,1300H

INT 10H

MOV AH,02H MOV BH,00

MOV DX,182DH INT 10H MOV DL,'~' MOV AH,02H INT 21H

MOV AH,02H MOV BH,00 MOV DX,1823H INT 10H MOV DL,'~' MOV AH,02H INT 21H

DIS MACRO X MOV AH,02H XOR BH,BH MOV DX,X INT 10H MOV DL,'*' MOV AH,02H INT 21H ENDM

PUSH DX PUSH AX PUSH BX

DIS 0A28H DIS 0928H DIS 0829H DIS 0729H DIS 062AH DIS 052AH DIS 042BH DIS 032CH DIS 0B28H

;用宏显示苹果图案5

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

微机原理课程设计微机原理与应用课程设计1微机原理课程设计目录一、设计任务1、2、计时秒表,具有分、秒和
推荐度:
点击下载文档文档为doc格式
61bkl05ogi6bod04q39t7z7sh75lu600od9
领取福利

微信扫码领取福利

微信扫码分享