C语言 计时器的实现(利用系统55ms中断计时)
//利用系统55ms中断,显示时间
//作者:nuaazdh
//时间:2011年11月30日
#include <stdio.h>
#include <dos.h>
#include <bios.h>
#include <ctype.h>
#include <conio.h>
#include <graphics.h>
#include <math.h>
unsigned long count=0;//每55ms中断,count+1
int hour=0,minute=0,second=0,millisecond=0;
char time[10];
struct time t;
void interrupt get();
void interrupt (*old)();
//中断程序
void interrupt get()
{
count+=1;
}
//获取时间
void Clock()
{
millisecond=(count*55)%1000;
second=(count*55/1000)%60;
minute=(count*55/60000%60)%60;
hour=(count*55/3600000%24)%24;
}
//显示时间
void PrintClock()
{
clrscr();
printf("\n\n\n\n");
printf("\t\tThe beginning time: ");
printf("%02d:%02d:%02d\n\n",t.ti_hour,t.ti_min,t.ti_sec);
printf("\t\tThe current time is: \n\n");
printf("\t\tInterrupt counts: \n\n");
printf("\t\tPress esc to exit!");
}
//更新显示
void UpdateClock()
{
gotoxy(38,7);//定位屏幕指定位置
printf("%02d:%02d:%02d\n\n",hour,minute,second);//更新显示
gotoxy(37,9);//定位中断数目位置
printf("%06d",count);
}
//获取用户输入,检测Esc退出
void End()
{
long key;
while(bioskey(1)!=0)
{
key=bioskey(0);
key=key&0x00FF;
if(key==27)
{
setvect(0x1C,old);
exit(0);
}
}
}
void main()
{
old=getvect(0x1C);//得到中断向量
setvect(0x1C,get);//设置中断向量
gettime(&t);//获取时间
PrintClock();//显示时间
while(1)
{
Clock();
UpdateClock();//更新显示
End();
}
}
运行效果:
C语言 计时器的实现(利用系统55ms中断计时)相关推荐
- Go语言计时器的使用详解
Go语言计时器 Go语言的标准库里提供两种类型的计时器Timer和Ticker.Timer经过指定的duration时间后被触发,往自己的时间channel发送当前时间,此后Timer不再计时.Tic ...
- c语言源程序自动评判系统,C语言源程序的自动评判系统.pdf
C语言源程序的自动评判系统.pdf · 6 · ComputerEraNo.4 2010 C五口吉I====I源程序的自动评判系统 余梓唐 (义乌工商学院计算机系,浙江 义乌 322000) 摘 要: ...
- C语言源程序作业完成系统,C语言源程序的自动评判系统
C语言源程序的自动评判系统 · 6 · Co mpu e a N o 4 01 tr Er . 2 0 C五吉程序的自动评判系统 =源口I== I 余梓唐 (义乌工商学院计算机系,浙江义乌 32 0) ...
- 主振型 matlab 振动,基于MATLAB语言的多自由度振动系统的固有频率及主振型计算分析...
基于 MATLAB 语言的多自由度振动系统的固有频率及主振型计算分析 文 涛 ,胡青春 (华南理工大学 机械工程学院 ,广东 广州 510640) 摘要 :多自由度振动系统固有频率及主振型计算分析是研 ...
- 【原创】python语言实现半自动排班系统
python语言实现半自动排班系统 这里写目录标题 python语言实现半自动排班系统 0. 为什么要做这个软件? 1. 本软件要实现哪些功能? 2. 具体功能实现 2.1 识别文本中的格式不一的时间 ...
- c语言机票预定程序,c语言程序设计报告飞机票预订系统.doc
目录 TOC \o "1-3" \h \z \u HYPERLINK \l _Toc1220 目录 PAGEREF _Toc1220 i HYPERLINK \l _Toc6278 ...
- 机票退订c语言程序,c语言程序设计告飞机票预订系统.doc
c语言程序设计告飞机票预订系统 目录 目录i 1课程设计的目的1 2需求分析1 2.1设计一个飞机订票系统,完成以下功能1 2.2该系统中用到的数据结构1 3概要设计2 3.1总体功能模块2 3.1. ...
- 利用系统提供的崩溃日志解Native层Bug
2019独角兽企业重金招聘Python工程师标准>>> 对Android开发者来讲,尤其是使用NDK编写Native层代码的开发者,在编码过程中通常会碰到各种各样的问题.追踪问题的方 ...
- java sql封装,在Java系统中封装SQL语言的处理方法及系统的制作方法
在Java系统中封装SQL语言的处理方法及系统的制作方法[ 技术领域: ][0001]本发明涉及计算机数据处理 技术领域: ,特别是涉及一种在Java系统中封装SQL语言的处理方法及系统.[ 背景技术 ...
最新文章
- 独家 | 5个机器学习开源项目来挑战你的数据科学技能!(附链接)
- 实现一个包含Microsoft.Advertising和SmartMad广告控件的UserControl
- 阿里云多个智物新品集体出道,持续加速产业智能化
- 由于权限不足而无法读取配置文件出现的HTTP 500.19解决办法
- 从bash函数中返回任意值
- 创建一个简单的WCF程序
- c语言酒店管理系统设计目的,C语言酒店管理系统设计.doc
- esxi6.7密码设置规则_太神奇了!excel表格竟然可以设置查看密码
- mysql函数百分比_mysql window函数计算百分比
- mysql基于amoeba读写分离
- 系统可用性量表(System Usability Scale, SUS)
- 基于51单片机智能手机锂电池充电器设计
- 数据安全问题已成隐患,看vivo如何让“用户数据”重新披甲
- 分批处理list中的数据_如何分批次处理List集合中的数据
- vue .sync 用法
- python-pygame:实现飞机大战详情(含源码)
- 运动控制系统上位机C#源码,可用于雕刻机,切割机,写字机,点胶机
- python界面编程和网口通信_基于python的GUI聊天室设计
- 如何成为一个好的管理领导者--谈唐僧在如来面前吐真言
- 2020华东师范大学可信人工智能优秀大学生夏令营(机试+面试)