Ⅰ 单片机循环程序不知道如何停止
main()
{
chari;
for(i=0;i<5;i++)
{
P1=0x0f;
delay(200);
P1=0xf0;
delay(200);
}
P1=0x00;
while(1);
}
Ⅱ 单片机如何让程序暂停运行,
如果是打算在程序运行的某一时刻,暂停运行,那要用一个按键,第一次按下,进入一个循环中,在循环中只检测这个按键,不再执行其它程序。当第二次按键,跳出这个循环,返回主循环程,继续运行。
Ⅲ 单片机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口为高时跳出循环
}
}
//由于加入了一条语句,延时要重新计算
Ⅳ 怎么让正在运行的单片机程序暂停,其实就是要加个按键,当有键按下就暂停或运行。
开一个外部中断,接按键
按键触发后进入中断,循环判断按键,程序暂停,释放按键中断返回,程序继续运行
如果是按一下暂停,再按一下运行的话:
开一个外部中断,接按键
按键触发后进入中断,循环判断按键,释放按键后,等待按键再次触发,程序暂停,再次触发并释放后中断返回,程序继续运行
Ⅳ 单片机如何实现暂停
修改的建议是:设置一个标志位flag,,刚开始flag=1;
当flag=1的时候时钟走。。当按键按下后,把flag取反,变为0,这样时钟就不走。。
if(flag)
{
//时钟走
}
else
{
时候不走
}
if(按键按下){flag=~flag;}
Ⅵ 如何让51单片机正在执行的程序暂停
定义一个变量buttondown标记按键状态,没按一次取反一次,在程序中加入:
while(buttondown);
Ⅶ 单片机如何终止正在运行的程序,去运行别的程序我不是问中断,是终止一个程序,运行别有程序,请教谢谢。
单片机只能运行一个程序。程序的入口就是0x00。如果想运行其它的程序,可以在一个程序里设置分支。通常的手段无非是中断或查询IO口状态。
Ⅷ 单片机如何让程序关闭
加一个按键,按一次按键,单片机程序进入死循环,再按一次,单片机退出死循环;
Ⅸ 怎么让单片机c程序只执行一次,就停止
写主程序时,在主程序的下面写一遍,即
void main()
{
//在这下面写
while(1);
}
这样就行了,执行一遍后就停止了。
Ⅹ 单片机c语言编了个流水灯,用按键怎么实现它暂停。
实现流水灯的方式有很多种(中断,定时器,延时等等),看用哪种方式,最简单的是延时做流水灯,那么在死循环里面增加按键检测,判断出有按键按下来时,再进入死循环,程序不往下走就可以暂停,再按跌出死循环。
#include //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint); //声明延时函数
void main(void)
{
uint i;
uchar temp;
uint Flag1=0; 按键标志位
uint Flag2=0;
while(1)
{
Flag1 = keyscan();
if(Flag1==1)(Flag2=~Flag2); //如果一旦检测到一次按键扫描就把标志位2 打开;再次就关闭;
if(Flag2==1)// 如果标志位打开就开始流水灯
{
temp=0x01;
for(i=0;i<8;i++) //8个流水灯逐个闪动
{
P1=~temp;
delay(100); //调用延时函数
temp<<=1;
}
}
(10)单片机如何让程序停止扩展阅读:
单片机编程就是硬件是单片机,基于单片机进行的程序开发,在有周围外设支持的情况下,用软件来控制的部分通过单片机编程来实现。单片机能识别的语言是硬件语言即汇编,因此编程就是围绕汇编来实现,有直接用汇编程序来编写的,但是较难调试的编写,特别是一上规模就更不易实现,因此常用高级语言来写然后通过编译器转化成汇编。