C语言 计时器的实现(利用系统55ms中断计时)
来源:互联网 发布:廖雪峰2.7 python pdf 编辑:程序博客网 时间:2024/06/04 19:50
//利用系统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+1int 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中断计时)
- LINUX系统中C语言计时器的使用
- Linux系统中C语言计时器的使用[转]
- js计时器实现计时setInterval
- 5.计时器实现计时功能
- C语言的计时函数
- C语言计时器的使用
- 两个定时器/计时器配合使用实现500MS的延时
- C语言中计时的方法
- C语言中常用的计时方法
- 利用D3DQUERY实现简单的GPU计时器
- linux C语言 计时
- linux C语言 计时
- C语言计时函数
- C语言计时函数
- C语言计时函数
- 关于如何利用Keil C实现51单片机中断功能(interrupt、using关键字的用法)
- 关于如何利用Keil C实现51单片机中断功能(interrupt、using关键字的用法)
- I,P,B帧和PTS,DTS的关系
- aspnetpager 排序
- 协议转换--Linux多路网络数据转多串口输出程序实现
- 编译GNU/Linux共享库, 为什么要用PIC编译?
- 学习笔记_字节对齐
- C语言 计时器的实现(利用系统55ms中断计时)
- 说说Android桌面(Launcher应用)背后的故事(五)——桌面壁纸的添加
- C# 线程更新 UI
- 关于elipse无法编译的总结
- 让 Chrome 在进入特定域名的时候自动开启隐身模式
- gcc与obj文件,动态链接文件和ELF文件
- I/O Completion Port(I/O完成对象)的原理与实现
- ubuntu升级后virtualbox 启动错误的修复
- SolidWorks异步模式开发,使用COM接口获取Array数据时的注意事项