在执行延时过程中我想停止延时,怎么编程?比如延时10S,延时程序为
delay(uint)
{uint x,y;
for(x=1000;x>0;x--)
for(y=1200;y>0;y--);};
在执行几秒之后我突然想让单片机停止延时,而是执行下一句程序,如何编程
如果跳出循环的程序,条件具体怎么加?
单片机C语言延时程序怎么停止?
在循环里判断是否满足跳出的条件,满足则跳出循环,不满足就继续延时直到延时结束。具体的条件要有程序的要求来,比如说某个IO口的电平的状态。sbit state=P1^7;delay(uint){ uint x,y;for(x=1000;x>0;x--)for(y=1200;y>0;y--){ if(state==1)return ;\/\/当p1.7口为高时跳出循环 } ...
单片机c语言编了个流水灯,用按键怎么实现它暂停。
实现流水灯的方式有很多种(中断,定时器,延时等等),看用哪种方式,最简单的是延时做流水灯,那么在死循环里面增加按键检测,判断出有按键按下来时,再进入死循环,程序不往下走就可以暂停,再按跌出死循环。include \/\/51系列单片机定义文件 define uchar unsigned char \/\/定义无符号字符 define uint ...
单片机c语言程序高手进 这个程序应该怎样实现中断
首先来个键盘扫描程序。采集是A键按下还是B键按下。如果是A键按下的话,就给LED1口输出高电平然后延时1S,延时程序可以用delay来粗略延时,也可以用定时器精确延时;延时1S过后,让LED1口输出低电平,然后再延时1S。给这段程序用while或者for语句来循环5次,这样就能得到启动LED1(1S闪烁一次,持续10S...
怎么让正在运行的单片机程序暂停,其实就是要加个按键,当有键按下就暂 ...
开一个外部中断,接按键 按键触发后进入中断,循环判断按键,程序暂停,释放按键中断返回,程序继续运行 如果是按一下暂停,再按一下运行的话:开一个外部中断,接按键 按键触发后进入中断,循环判断按键,释放按键后,等待按键再次触发,程序暂停,再次触发并释放后中断返回,程序继续运行 ...
单片机 C语言的暂停指令
楼上的答案是C语言整个程序的大循环,是个死循环。在整个程序中只能出先一次,在大括号里面放整个程序的所有函数,让单片机不停的循环所有的函数。而你所说的暂停指令也是在一个地方等待,单是必须要有条件跳出循环。例如while(判断条件); 当条件为真的时候就在那里等待,当条件为假的时候执行下面...
...在2秒内结束并向下继续运行,用哪个函数,怎么用?或者怎么停止...
你可以这样,定义一个变量,比如说time=0,在循环里面每次循环time++,循环的判断条件就是while(time<200)就行了 这里有延时函数的介绍 \/* 函数类型:void (无返回值)函数接口:delay(int)例如在程序中取得n秒的延时,只要在代码中加入 delay(n) 即可。注:n 为 int 类型。\/ \/* 调用时请...
51单片机如何用一个按键控制一段程序的运行与停止
1、创建项目文件。2、按键:S1=P3^2,点亮: led=P1^5。3、创建C语言主函数。4、创建循环效果,检测效果。while(1) {}。5、选择输出的效果。6、当按下一个按键时,关闭灯,整个程序运行,再按一次,程序停止。
单片机程序结束后,又自动重新开始
如何能让单片机运行完程序之后停止呢?--- 在你认为应该停止的地方,加入一行“死循环”的指令,如:C语言:while(1);汇编语言:SJMP 即可。--- void main(){ P1=0xfe; delay1ms(500);P1=0xff; delay1ms(500);while(1); \/\/永远循环 } ...
51单片机定时器中断程序
再次重新启动。用C语言实现的,先要定义好定时器的初值,不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期,机器周期=12\/n(n指晶振频率),假设你要定时的时间为M,那么定时的初值为:M\/机器周期=初值;TH0=(65536-初值)%256;TL0=(65536-初值)\/256;将(...
单片机c语言延时程序
一般单片机在c语言中很难得到精确的延时,所以一般对时间要求高的都用计时器中断来做了。如果时间要求不严格可以用for循环来做,你可以实际测试一下,把时间延时到大概一秒左右,然后烧进单片机里运行,比如一个灯亮灯灭的程序,看着灯计数,同时用秒表计时,几个几十次后取平均值就能知道大概时间了。