C语言秒表程序

Python012

C语言秒表程序,第1张

下面程序你试下,延时函数自己加一下,几毫秒到几十毫秒#include"reg51.h"unsigned char i,j,m,xa[4];unsigned char table1[]={0x01,0x02,0x04,0x08};unsigned char table2[]={0x3fev0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};main(){TMOD=0x01;TF0=1;TR0=1;IE=0x82; EX0=1;m=0;while(1) { for(j=0;j<4;j++) {P0=table1[j];x=a[j];P1=table2[x]; delay(); //这里加个几毫秒的延时,函数体自己写下 }} }timer1() interrupt 1{TH0=0x3C; TL0=0xB0; i++; if(i==20) {i=0;m++;a[3]=m/1000;a[2]=m/100%10;a[1]=m/10%10;a[0]=m%10;}}

用到time.h文件

里面有个clock()函数,返回一个clock_t类型的数字,表示从程序运行开始,CPU的"滴答"数

而在time.h里有个常量CLOCKS_PER_SEC表示每秒钟有多少个"滴答".

这样,(((float)clock())/CLOCKS_PER_SEC)*1000这样的表达式就能得到从程序运行开始到现在的经过的时间.

程序的大致思路是这样的,程序按下1的时候记下当时的程序运行时间.

从这时起,每时刻捡取程序运行时间,然后减去先前的值,就可以得到已经计时的时间了.

只要让用户按下0结束计时就好了

在conio.h文件里,有个函数kbhit()是个非阻塞函数,用来检查键盘缓冲里有没有按键按下,若有,则返回1,若没有,则返回0,以此来作为判断,若返回1,则捡取按键,测试它是不是0或者1,若返回0,则表示用户没有动作,继续原来的工作,即继续计时或等待命令.