网站首页 > 文章中心 > 其它

c语言按键延时函数

作者:小编 更新时间:2023-08-12 18:45:03 浏览量:100人看过

怎么用C语言写可以调节的延时程序,请大侠帮忙

软件延时:(asm)

程序如下:

NOP

定时器延时:

AJMP DELAY

c语言按键延时函数-图1

DELAY:CLR EX0

MOV TMOD,#01H ;设置定时器的工作方式为方式1

MOV TL0,#0B0H ;给定时器设置计数初始值

SETB TR0 ;开启定时器

HERE:JBC TF0,NEXT1

SJMP HERE

NEXT1:MOV TL0,#0B0H

CLR TR0 ;定时器要软件清零

SETB EX0

RET

C语言延时程序:

void delay10ms(void)

{

unsigned char i,j,k;

}

void delay1s(void)

unsigned char h,i,j,k;

TH0=0xfd;

TR0=1; /*启动定时器*/

while(TF0==0);

TR0=0;

void delay_1ms(void)

C语言编程,怎么用按键来改变延时的长短?

额?延时指的是什么?你可以调用时间的函数,通过输入值来减少或者增加时间.但是增加或者减少时间的按键必须是同样的

C语言延时的子程序怎么写

其实这是不太精准的延时程序,其实质就是for循环,就是让处理器不停地做递减或递加运算,从而达到延时的目的.至于延时时间,完全是更具经验的得到的.

需要一个C语言程序.51单片机控制:按键按一下,延迟1分钟后开灯,灯亮半个小时就熄灭的程序?急需!

如果对时间要求不精确,用软延时即可.

#define uchar unsigned char

#define uint unsigned int

sbit s=P1^0;

sbit led=P1^1;

void delayms(uint i) //1ms延时程序

uchar j;

for(;i0;i--)

{;}

void delay1s(uint i) //1s延时程序

for(;i0;i--){delay1ms(1000);}

void main()

led=0;

while(1)

if (s==0)

如果对时间要求精确,则要用到定时器,还要确保电路外接有晶振,并已知晶振频率

c语言 用边沿触发使流水灯暂停,按钮控制,按一下暂停,按一下继续

void delay()//延时函数

unsigned char i,j; ?//定义两个变量,用于空循环

;

unsigned char flag;

unsigned char i;

flag=1;

EA=1; ? //开放总中断

EX0=1; ?//允许使用外中断

IT0=1; ?//选择负跳变来触发外中断

while(1) ? //用于反复循环

P1=~(1i); ? ?

? delay(); ?//调用延时函数

while(flag!=1);

i=0;

//

/**************************************************************

函数功能:外中断T0的中断服务程序

**************************************************************/

void int0(void) interrupt 0 using 0 //外中断0的中断编号为0

flag=~flag;

仿真图:

楼主的采纳率好低啊(时间久了,估计给你回答的人会变少),不过我还是希望楼主能采纳

求助C语言按键重复输入延迟的问题

不要用系统提供的getchar或者scanf这类输入函数

而是去调用系统api,来获取按键的按下抬起状态

这样在识别到按下时,就可以自行控制执行动作的周期,不会出现第一次的停滞

以上就是土嘎嘎小编为大家整理的c语言按键延时函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章