c语言定时器程序怎么写

C语言timer函数和time函数?

C语言timer函数和time函数?

Timer()函数  语法:Timer ( interval {, windowname } )  参数:指定两次触发Timer事件之间的时间间隔,有效值在0到65之间。如果该参数的值指定为0,那么关闭定时器,不再触发指定窗口的Timer事件。windowname:窗口名,指定时间间隔到时要触发哪个窗口的Timer事件。省略该参数时,触发当前窗口的Timer事件返回值Integer。函数执行成功时返回1,发生错误时返回-1。如果任何参数的值为NULL,Timer()函数返回NULL。用法使用Timer()函数可以周期性地触发指定窗口的Timer事件,这样,每当时间间隔过去时,应用程序都可以完成一些周期性的工作,比如绘制简单动画等。将Timer()的interval参数设置为非0值时启动定时器并开始计时;将该函数的interval参数设置为0时关闭定时器,终止计时任务。需要注意的是,在Microsoft Windows系统中,该函数能够计时的最小时间间隔为0.055秒(约1/18秒),如果把interval参数的值设置小于0.055,那么该定时器将每隔0.055秒触发一次窗口的Timer事件。Microsoft Windows 3.x最多只支持系统中同时启动16个定时器。  用法:  启动定时器。  启动定时器就需要使用CWnd类的成员函数SetTimer。CWnd::SetTimer的原型如下:  UINT_PTR SetTimer(  UINT_PTR nIDEvent,  UINT nElapse,  void (CALLBACK* lpfnTimer)(  HWND,  UINT,  UINT_PTR,  DWORD  )  )    参数nIDEvent指定一个非零的定时器ID;参数nElapse指定间隔时间,单位为毫秒;参数lpfnTimer指定一个回调函数的地址,如果该参数为NULL,则WM_TIMER消息被发送到应用程序的消息队列,并被CWnd对象处理。如果此函数成功则返回一个新的定时器的ID,我们可以使用此ID通过KillTimer成员函数来销毁该定时器,如果函数失败则返回0。  通过SetTimer成员函数我们可以看出,处理定时事件可以有两种方式,一种是通过WM_TIMER消息的消息响应函数,一种是通过回调函数。  如果要启动多个定时器就多次调用SetTimer成员函数。另外,在不同的CWnd中可以有ID相同的定时器,并不冲突。  time函数  返回某一特定时间的小数值。如果在输入函数前,单元格的格式为“常规”,则结果将设为日期格式。  函数 TIME 返回的小数值为 0(零)到 0.99999999 之间的数值,代表从 0:00:00 (12:00:00 AM) 到 23:59:59 (11:59:59 P.M.) 之间的时间。  语法:  TIME(hour, minute, second)  TIME 函数语法具有以下参数:  Hour 必需。0(零)到 32767 之间的数值,代表小时。任何大于 23 的数值将除以 24,其余数将视为小时。例如,TIME(27,0,0) TIME(3,0,0) .125 或 3:00 AM。  Minute 必需。0 到 32767 之间的数值,代表分钟。任何大于 59 的数值将被转换为小时和分钟。例如,TIME(0,750,0) TIME(12,30,0) .520833 或 12:30 PM。  Second 必需。0 到 32767 之间的数值,代表秒。任何大于 59 的数值将被转换为小时、分钟和秒。例如,TIME(0,0,2000) TIME(0,33,22) .023148 或 12:33:20 AM。  例子:  

51单片机产生pwm波的c程序是什么?

用定时器产生程序如下: unsigned int a0 ,b10; void main() { TMOD0x01; TH0(65536-50000)/256; TL0(65536-50000)%6; EA1; ET01; TR01; } void PWM() interrupt 1 { TH0(65536-50000)/256; TL0(65536-50000)%6 ; a ; P1^10; if(a20) { a0; } if(ab) { P1^11; } } 调节a ,b的值即可调节占空比,程序框架就是这样,具体自己改吧