问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

51单片机如何用一个按键控制一段程序的运行与停止29

发布网友 发布时间:2024-03-09 06:44

我来回答

5个回答

热心网友 时间:2024-06-23 23:18

1、创建项目文件。

2、按键:S1=P3^2,点亮: led=P1^5。

3、创建C语言主函数。

4、创建循环效果,检测效果。while(1)    {}。

5、选择输出的效果。

6、当按下一个按键时,关闭灯,整个程序运行,再按一次,程序停止。

热心网友 时间:2024-06-23 23:14

你这段程序,如果按下按键,则程序会进入 while(1) 里面一直运行,不会跳出,所以除非断电,无论按什么按键都不会影响灯闪程序。

如果要求K1=0时灯闪烁,K1=1时灯灭掉,可以在DELAY_MS程序之后改为以下内容:

#define light 1
#define black 2
void main (void)
{ //主程序

unsigned char key=0;
while(1)
{
if(K1==0)//假设按键低电平有效
{
DELAY_MS(5);
if(K1==0) key=lignt;
}
else key=black;

if(key==light)
{
LED1=1;
LED3=1;
DELAY_MS(10);

LED1=0;
LED3=0;
DELAY_MS(20);

LED1=1;
LED3=1;
DELAY_MS(10);

LED1=0;
LED3=0;
DELAY_MS(20);

LED1=1;
LED3=1;
DELAY_MS(10);

LED1=0;
LED3=0;
DELAY_MS(20);

LED1=1;
LED3=1;
DELAY_MS(10);

LED1=0;
LED3=0;
DELAY_MS(100);
}
else
{
/* 不知你灯是怎么接的,此处假设LED1=0时灯灭 */
LED1=0;
LED3=0;
}
}
}

热心网友 时间:2024-06-23 23:18

很简单

if(key==1)
{
//程序段1
}
else
{
//程序段2
}

热心网友 时间:2024-06-23 23:17

楼上方法有误,假如程序段含有较长延时的 程序
比如延时 一小时 那岂不是 按住一小时测能检测得到?
应该利用 外部中断 按下开关 进入中断给予 停止条件状态
使其复位 然后判断状态 是否运行 这样才能保证实时性。。,,

热心网友 时间:2024-06-23 23:14

你的程序有问题,当按下K1后程序就进入死循环了。所以无法停止。
你需要把判断条件放入while循环里面。
以下是修改过的程序。希望能帮到你,望采纳

#include <REG51.h> //通用89C51头文件
sbit LED1 = P1^0; //定义闪烁LED
sbit LED2 = P1^1; //定义闪烁LED
sbit LED3 = P1^2; //定义闪烁LED
sbit LED4 = P1^3; //定义闪烁LED
sbit K1 = P3^2;
void DELAY_MS (unsigned int a)
{
unsigned int i;
while( --a != 0){
for(i = 0; i < 600; i++);
}
}

void main ()
{ while(1)
{
if(K1==0)//假设按键低电平有效
{DELAY_MS(5);
if(K1==0);
{
LED1=1;
LED3=1;
DELAY_MS(10);
LED1=0;
LED3=0;
DELAY_MS(20);
LED1=1;
LED3=1;
DELAY_MS(10);
LED1=0;
LED3=0;
DELAY_MS(20);
LED1=1;
LED3=1;
DELAY_MS(10);
LED1=0;
LED3=0;
DELAY_MS(20);
LED1=1;
LED3=1;
DELAY_MS(10);
LED1=0;
LED3=0;
DELAY_MS(100);
}
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 名师1+1导读方案:汤姆·索亚历险记目录 三星sm-g7200打开微信慢,无法正常收看,网速不慢。 笔记本电脑如何调亮屏幕亮度 大伙说说洗衣机要不要带烘干好 热烘干洗衣机怎么样 ef英语哪个好 单片机如何用一个按键实现启停12 51单片机流水灯如何通过两个按键启动和停止 ,怎么停止5 单按钮控制电机启停电路34 单按钮启停电路图177 单按钮启停电路图4 联想一体机怎样清除密码? 电脑密码忘啦怎么解决 新竹科学工业园区笃行一路1号 邮编是什么3 坤沙酒怎样酿造味道好? 西南财经大学女生大二会计专业的女生住哪个园 西南财大的会计硕士就业10 学姐学长,西财的会计研究生考研流程是怎样的 西南财经大学会计学院研究生一般在哪里就业比较多5 西安财经学院研究生住在哪个公寓 古人与雪的故事简概 Apex纯电动跑车AP-0将于2022年投产 售价约合人民币128万元 烟草用95%洒精能不能萃取出果胶及糖吗 为什么烟里加酒精会变黄色? 95%的医用酒精泡过烟后,烟还能不能抽。请回答具体点 关于传承校训优美句子 单按钮控制电机启停3 电容的单位有 uF nF pF里面有MF吗?是什么意思啊。165 电容的一个单位nf等于多少uf、pf?24 电容单位nf和uf那个大?147 电容上的UF是什么单位?66 100nf电容是多少uf?1 数字万用表的电容档200uF 2uF 200nF 2...77 100nf=?uf13 三菱PLC单按钮起停自保持的问题!1 plc单键启停梯形图27 这是单键控制电机启停的控制电路51 西门子PLC单按钮启停程序229 淘宝差评怎么删除啊。? 单按钮控制电机启停电路24 新加坡长期居留许可怎么申请 新加坡长期居留许可怎么申请? 我准备20岁了,3年多来一直无业!想摆地摊卖水果,大家觉得丢人么?还有我... 现在单身28岁了~想去摆摊卖水果~大家觉得以后女朋友会好找吗? 欧姆龙上升沿单按钮启停的原理,真的不懂,跪求3 三菱PLC和欧姆龙PLC的一段程序分析(单按钮启停)2