微机原理课程设计电子秒表的模板.doc

上传人:cl****1 文档编号:542240448 上传时间:2023-06-13 格式:DOC 页数:28 大小:165.50KB
返回 下载 相关 举报
微机原理课程设计电子秒表的模板.doc_第1页
第1页 / 共28页
微机原理课程设计电子秒表的模板.doc_第2页
第2页 / 共28页
微机原理课程设计电子秒表的模板.doc_第3页
第3页 / 共28页
微机原理课程设计电子秒表的模板.doc_第4页
第4页 / 共28页
微机原理课程设计电子秒表的模板.doc_第5页
第5页 / 共28页
点击查看更多>>
资源描述

《微机原理课程设计电子秒表的模板.doc》由会员分享,可在线阅读,更多相关《微机原理课程设计电子秒表的模板.doc(28页珍藏版)》请在金锄头文库上搜索。

1、微机原理课程设计电子秒表的2资料内容仅供参考,如有不当或者侵权,请联系本人改正或者删除。微机原理与应用课程设计目 录一、 设计任务1、 计时秒表, 具有分、 秒和百分之一秒的计时功能。2、 能够在屏幕中央显示计时结果, 屏幕显示彩色图案和文字。3、 秒表具有键控启/停功能, 而且能够随时经过键盘复位, 清零。二、 设计原理1、 HALT(启动子程序)2、 DIS( 宏定义苹果显示程序) 3、 DISS( 宏定义字符串的输出) 4、 CLOUR( 字体颜色设置程序) 5、 IOSET(设置光标位置子程序)6、 GO(初始化显示子程序)7、 TIME(延时子程序)8、 TRAN(压缩BCD码转AS

2、CII码程序)9、 复位、 停止等功能的实现三、 流程图a) 主程序流程图b) 压缩BCD转ASCII码子程序流程图c) 延时子程序流程图四、 程序段五、 程序调试六、 程序运行结果七、 心得体会八、 参考文献一、 设计任务: 1.计时秒表, 具有分、 秒和百分之一秒的计时功能, 并能够在屏幕中央显示计时结果。2屏幕显示彩色图案和文字。3.秒表具有键控启/停功能, 而且能够随时经过键盘复位, 清零。二、 设计原理: 本程序的主要设计原理是用主程序完成百分之一秒与秒之间的转换, 显示计时结果, 实现暂停, 暂停再启动, 复位, 复位再启动的功能, 并经过调用一些附加程序, 缩减主程序的长度, 提

3、高运行效率和精度, 现将用到的所有附加程序的原理及其在运行过程中所起到的作用汇总如下: 1DIS( 宏定义苹果显示程序) 经过宏调用, 实现苹果图案的显示。在宏定义里, 设置一个形参变量, 作为移动光标的位置, 在下面调用宏中, 给予变量X不同的实参, 输出苹果图案。2DISS( 宏定义字符串的输出) 原理同上。3CLOUR( 字体颜色设置程序) 经过字体颜色设置程序, 实现屏显字体颜色的改变。当改变BX值时, 字体颜色会改变。 4.HALT(启动子程序) 经过启动子程序, 实现计时的开始, 当从键盘输入一个字符时, 判断是否等于S, 如果不等, 则在循环执行启动子程序中动态等待, 直到输入的

4、字符为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存入数组中的相应位置, 当每次复位以后, 重

5、新调用该子程序, 将程序的执行结果修正为00: 00, 并显示于屏幕上, 从而实现了程序的初值设定和复位功能。7.TIME(延时子程序)计算机每执行一条指令, 虽然很快, 可是需要一些时间, 因此在本程序中能够经过延时程序, 让计算机去执行一些无关的程序, 来达到时钟秒与百分之一秒转换时的时间延迟。每条指令执行时间的长短, 是以计算机的时钟周期为基本单位的, 因此不同的计算机能够经过修改延时程序数值来使其达到准确计时。 8.TRAN(压缩BCD码转ASCII码程序)计算机显示数据时使用的是数据的ASCII码, 而在程序设计当中程序的计时数值是BCD码, 因此, 需要经过此子程序实现将BCD码转

6、变为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子程序, 将显示结果初始化。同时设置光标, 启动

7、计时, 启动延时程序, 将百分之一秒加1并将其设置为压缩BCB码, 当其CF不为1时, 送屏幕显示, 当其为1时, 将其设置为0, 并在秒上加1, 当秒等于60时, 其置0, 当其小于60时, 送屏幕显示。在计时过程中, 如果键入R, 则将其复位, 并重新开始计时, 当键入E时, 计时暂停, 如果键入C, 则继续计时, 如果键入R, 则复位, 设置为00: 00, 当再次键入S时, 再次计时开始。三框图(见附页)四、 程序清单( 附显示结果) DATSEGMENTSPACE DB DUP ( )FU1 DB Where there is a will$FU2 DB There is a way

8、$FU3 DB Made By:$FU4 DB Sun and Feng$FU5 DB 12 / 28 / $ FU6 DB INPUT S START R RESET E END C CONTINUE$; 设置控制字符串BUFFERDB 10 DUP(?) ;定义缓冲区DATENDSCODSEGMENTSTARTPROC FARASSUME CS:COD,DS:DATMOV AX,DATMOV DS,AXCLOUR: ; 字体颜色设置 MOV AX,0003H INT 10H MOV AX,DAT MOV DS,AX MOV ES,AX MOV BP,OFFSET SPACE MOV DX,

9、0E00H MOV CX, MOV BX,0004H MOV AX,1300HINT 10HMOV AH,02HMOV 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 21HDIS 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

10、DIS 0A28H DIS 0928H DIS 0829H DIS 0729H DIS 062AH DIS 052AH DIS 042BH DIS 032CH DIS 0B28HDIS 0A2AHDIS 092CHDIS 082EHDIS 0730HDIS 0732HDIS 0834HDIS 0936HDIS 0A38HDIS 0B39HDIS 0C3AHDIS 0D3BHDIS 0E3CHDIS 0F3CHDIS 103CHDIS 113BHDIS 1239HDIS 1337HDIS 1435HDIS 1533HDIS 1631HDIS 172FHDIS 172BHDIS 1629HDIS

11、1528HDIS 1627HDIS 1725HDIS 1721HDIS 161FHDIS 151DHDIS 141BHDIS 1319HDIS 1217HDIS 1115HDIS 1014HDIS 0F14HDIS 0E14HDIS 0D15HDIS 0C16HDIS 0B17HDIS 0A18HDIS 091AHDIS 081CHDIS 071EHDIS 0720HDIS 0822HDIS 0924HDIS 0A26H POP BX POP AX POP DXDISSMACRO X,Y ; 用宏显示字符串MOV AH,02HXOR BH,BHMOV DX,X INT 10HMOV DX,OF

12、FSET YMOV AH,09HINT 21HENDMPUSH AXPUSH BXPUSH DXDISS 0F1AH,FU1DISS 1227H,FU2DISS 1439H,FU3DISS 163FH,FU4DISS 1842H,FU5DISS 0004H,FU6POP DXPOP BXPOP AXCALL GO ; 赋值程序调用LOAD:CALL IOSET ; 光标置屏中央程序调用 CALL HALT ; 等待开始信号程序调用MOV DX,0MOV CX, 0 ; 1/100秒与秒初值赋0AGAIN:CALL TIME ; 延时程序调用MOV AL,DL ; 1/100秒值加1ADD AL,1DAA ; BCD码调整JC NEXT1 ; 1/100秒等于100时清零MOV DL,AL ;1/100秒值存DLJMP DISPY ; 1/100秒不等于100时显示NEXT1:MOV DL,0 ; 1/100秒值回零 MOV AL,DH ; 秒值加1ADD AL,1DAAMOV DH,AL ;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号