C语言,用while循环语句编写0.5s的程序?

C语言,用while循环语句编写0.5s的程序?,第1张

在C语言中,可以使用头文件time.h中的函数usleep()来让程序等待一定的时间。usleep()函数以微秒为单位指定等待时间,因此需要将0.5秒转换为微秒,即500000微秒。

以下是一个简单的示例代码片段,演示了如何在C语言中让程序等待0.5秒:

#include <stdio.h>

#include <time.h>

int main() {

printf("开始等待...\n")

usleep(500000)

printf("等待结束!\n")

return 0

}

时钟晶振12MHZ,CALL delay_500ms 即可

delay_500ms:MOV R3,#5

LOOP0:MOV R1,#64H

LOOP1:MOV R0,#0F9H

LOOP2:NOP

NOP

DJNZ R0,LOOP2

DJNZ R1,LOOP1

DJNZ R3,LOOP0

RET

可以用定时中断,当然也可以用循环延时的,不过没意义。单片机不可能不做其它事,在那里循环。

#include <reg51.h>

#define uchar unsigned char

sbit LED=P1^0

uchar time

void initT0( )

{

TMOD = 0x01 //定时器0,工作方式1

TH0 = (65536-50000)/256

TL0 = (65536-50000)%256 //50ms中断一次

EA = 1

ET0 = 1

TR0 = 1

}

void main(void)

{

initT0()

while(1)

{

if(time==10) //中断20次,0.5s

{

time=0

LED=!LED//P1.0上的LED,0.5s亮或灭一次

}

}

}

void T0int( ) interrupt 1

{

TH0 = (65536-65536)/256

TL0 = (65536-65536)%256

time++

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11853478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存