《微型计算机系统原理及应用》课程设计电子时钟显示程序设计

上传人:汽*** 文档编号:490037586 上传时间:2023-03-14 格式:DOC 页数:17 大小:188KB
返回 下载 相关 举报
《微型计算机系统原理及应用》课程设计电子时钟显示程序设计_第1页
第1页 / 共17页
《微型计算机系统原理及应用》课程设计电子时钟显示程序设计_第2页
第2页 / 共17页
《微型计算机系统原理及应用》课程设计电子时钟显示程序设计_第3页
第3页 / 共17页
《微型计算机系统原理及应用》课程设计电子时钟显示程序设计_第4页
第4页 / 共17页
《微型计算机系统原理及应用》课程设计电子时钟显示程序设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《《微型计算机系统原理及应用》课程设计电子时钟显示程序设计》由会员分享,可在线阅读,更多相关《《微型计算机系统原理及应用》课程设计电子时钟显示程序设计(17页珍藏版)》请在金锄头文库上搜索。

1、微型计算机系统原理及应用课程设计电子时钟显示目录一、课程设计的目的 (2)二、课程设计的题目 (2)三、课程设计的主要内容 (2) (一)、程序论述 (2)(二)、程序设计的步骤 (2)(三)程序流程图(2)(四)程序 (4)(五)结果显示(14)四、总结(14)(一)、本设计主要用到的DOS、BIOS调用及功能 (14)(二)、心得体会 (15)五、参考文献(16)一、课程设计的目的:本次微型计算机原理及应用课程设计我选择了用汇编语言做电子时钟,其主要目的是加强软件编程能力。通过本次设计复习并熟练掌握微机原理中的基本操作指令、DOS中断功能调用以及BIOS中断功能调用。最主要的是使用汇编语言

2、编程来实现现实中许多电子产品的功能。二、课程设计的题目:电子时钟显示程序设计三、课程设计的主要内容:(一)、程序论述本次微型计算机原理及应用课程设计我做的题目是“电子时钟显示程序设计”,是使用汇编语言编程实现电子时钟显示的功能。主要提供了系统时间的调用,设置时间及显示时间等功能。在我所做的程序中主要以下面的内用运行。主程序首先注册新的中断处理程序从系统中取得时间,然后持续等待,直到在中断程序中检测到有按键时间的发生,然后主程序取消中断处理程序。判断输入的键,然后根据相应的按键提供相应的设置功能。中断处理程序每次得到系统定时器中断时间、,判断是否到达1秒,如果到达则更新时间,存入数据区,然后更新

3、数据的显示。当有按键事件发生时,设置数据区的按键标记为真。当主程序检查到该标记为真时,则取消中断程序的驻留。然后处理相应的事件。(二)程序设计的步骤:1、定义显示界面2、调用系统时间,并将调用的二进制表示的时间数转换成ASC码,并将时间存入内存区。3、将存在系统内存区的 时间数用显示字符串的形式显示出来。4、获取键盘的按键值,判断键值并推出系统。(三)程序流程图:开始设置输入字符串用缓冲区,定义变量初始化界面输入的ASC码转换成16进制数DOS调用,显示:welcome to Simple clock取得系统时间,时、分、秒分别存CH、CL、DH时间定时更新关中断开中断DH清零,CL加1CL清

4、零,CH加1CH清零显示时间16进制转换成10进制显示字符串外部中断?结束(DH)60H??(CL)60H??(CH)24H?YYYYNNNN延时1秒(四)程序:.model small;- .stack;- .dataHOUR db ?MIN db ?SEC db ?MSEC db ? NHOUR db 0 ;设置时间使用NMIN db 0 ;设置时间使用NSEC db 0 ;设置时间使用FUNKEY db ? ;功能设置使用keySw db 00h ;是否按键开关SWITCH db 0FFh ;刷新开关,真,则不断在定时器中断函数中刷新,否则不刷新 n db 0dh,0ah,$ count

5、 dw 1 sMsg db * welcome to Simple clock *,0dh,0ah,$ qMsg db * Please Input q to quit *,0dh,0ah db ,* Input s to set new Time *,0dh,0ah,$ setTMsg db Please Input new Time(HH:MM:SS),0dh,0ah,$ authorMsg db _,0dh,0ah db Author: DingChuanxiang,0dh,0ah db E-mail: ,0dh,0ah db class: xin gong_042_08 hao,0dh

6、,0ah db Date: 2007/07/07,0dh,0ah db _,0dh,0ah,$;- .codePUSHA MACRO PUSH DS PUSH AX PUSH BX PUSH CX PUSH DX ENDMPOPA MACRO POP DX POP CX POP BX POP AX POP DS ENDMmain proc far start: mov ax,data mov ds,ax push ds call GETTIME ;取得系统时间 call initUI ;初始化界面 mov al,1ch mov ah,35h int 21h ;DOS调用取中断向量 push e

7、s push bx push ds mov dx,offset tUpdate mov ax,seg tUpdate mov ds,ax mov al,1ch mov ah,25h int 21h ;DOS调用设置中断向量 pop ds in al, 21h and al, 11111100b out 21h,al stidelay: PUSHA cmp ds:keySw,0FFh ;检查是否有按键 jz exitdelay ;有按键则跳转 POPA jmp delayexitdelay: POPA pop dx pop ds mov al, 1ch mov ah, 25h int 21h ;

8、DOS调用设置中断向量 pop ds ;restore ds ;读敲入的按键 mov ah,07h int 21h cmp al,s jne next1;判断读入字符然后进行相应处理,此时中断函数已经取消,只是单线程setT: mov ds:FUNKEY,al call SETTIME ;调用子函数设置时间 mov ds:keySw,00h jmp startnext1: cmp al,q je endmain mov ds:keySw,00h jmp startendmain: mov ax,4c00h ;exit int 21hmain endp;定时中断程序()tUpdate proc near push ds ;保存工作寄存器 push ax push bx push cx

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

当前位置:首页 > 大杂烩/其它

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