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

51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按就灭掉

发布网友 发布时间:2022-05-24 09:13

我来回答

5个回答

热心网友 时间:2023-10-09 18:33

bit flash;//闪烁标志位
sbit led=P0^0;
sbit P01=P0^1;
sbit P02=P0^2;
void main()

{
P01=P02=0;
flash=0;
led=0;
while(1)
{
scankey();
ledflash();
}
}
void scankey()//键盘扫描
{
P01=1;//行线给1
if(P02)//如果P02也是1则说明接通
{
delay(10);//去抖动10MS
if(P02)//再次确定按键按下
{
while(P02){flash=flash}//按住按键的动作
flash=~flash;//按键按下后执行动作
}
}
}
void ledflash()
{
if(flash)
{
led=1;//点亮
delay(100);//延时100MS
led=0;//熄灭
}
else led=0;
}
void delay(unsigned int i)
{自己根据单片机频率写个1MS带形参的演示程序}

这个程序是现写的。。应该能执行,有些细节没有写,自己修改下,只是个大框而已(比如函数声明,定义端口什么的)追问不好意思,我是新手,所以有些还不是看的太懂。我告诉你我单片机的开关端口是p1^4,灯的端口是p0^1。能帮我把这个程序完整的给我么?延时程序不用,只要主程序和开关程序和led闪烁程序。谢谢啊

追答#include
sbit key=P1^4;

sbit led=P0^1;
bit flash;
void main()
{
key=0;
led=0;
while(1)
{
if(key)
{
delay(10);
if(key)
{
flash=~flash;
}
}
if(flash)
{
led=~led;
}
}
}
void delay(unsign int i)
{
unsign char j;
while(i--)
for(j=0; j<200;j++);
}

热心网友 时间:2023-10-09 18:34

sbit key = P1_0;
sbit led = P1_1;
#define led_on 0
main()

{
while( key )
{
led = ! led_on;

}

while(!key)

{
led = led_on;

delay( 100 );

led = ! led_on;

delay( 100 );

}
}
上面这个是按下闪,松开灭的程序,稍微改一下,就可以做到要求的功能。
main()

{
while( ! key )
{
led = ! led_on;

}

while( key )

{
led = ! led_on;

}

while( ! key )

{
led = led_on;

delay( 100 );

led = ! led_on;

delay( 100 );

}
while( key )

{
led = led_on;

delay( 100 );

led = ! led_on;

delay( 100 );

}
}

热心网友 时间:2023-10-09 18:34

#include<reg51.h>
sbit x=P3^0;//p3.0接按钮
sbit y=P1^0;//p1.0接led
void main()
{
while(1)
{
while(x==0)
{
y=!y;//闪烁
}
y=0;//停止闪烁
}
}
注意我是在keil c里面编写的,你要注意电路图的电平

热心网友 时间:2023-10-09 18:35

用一个中断子程序和闪烁灯主程序。

热心网友 时间:2023-10-09 18:35

只能使用中断了
51单片机怎么用c语言写一个按钮控制一个led的闪烁,按一下开始闪烁,再按...

if(P02)//再次确定按键按下 { while(P02){flash=flash}//按住按键的动作 flash=~flash;//按键按下后执行动作 } } } void ledflash(){ if(flash){ led=1;//点亮 delay(100);//延时100MS led=0;//熄灭 } else led=0;} void delay(unsigned int i){自己根据单片机频率写个1MS带形参...

单片机用c语言,按钮控制一个LED灯,要求按下松开,LED亮,按下松开,LED...

1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include&lt;reg52.h&gt; //定义单片机的头文件sbit led=P2^0; //定义单片机的管脚,void main(void) //主函数{ while(1) //无限循环 {led=0x1f; //点亮前面三个灯。这里...

求51单片机按键点灯汇编程序,按一下按键灯亮(一直亮),再按一下灭

SETB P1.0 START:JB P1.0,NEXT ;设按键为低电平有效。JNB P1.0,CPL P3.0 NEXT:SJMP START END

怎么样用51单片机点亮一个二极管,让它以0.1秒的频率连续闪烁之后停顿1秒...

while(1){ LED=~LED;DelayMS(100);} }

51单片机P1.1口接一个LED灯 外接按键,要求:按键按下LED灯亮,,按键再...

include &lt;reg51.h&gt;sbit P32 = P3^2;sbit LED = P1^1;void main(){ IE = 129; while(1);}void X0_Int() interrupt 0{ while(!P32) LED = 0; LED = 1;}

需要一个C语言程序。51单片机控制:按键按一下,延迟1分钟后开灯,灯亮半...

sbit led=P1^1;void delayms(uint i) //1ms延时程序 { uchar j;for(;i&gt;0;i--){ for(j=0;j&lt;125;j++)//如果延时时间误差较大,可按比例改变125这个数 //取值范围0-255,数值越大,延时越长 {;} } } void delay1s(uint i) //1s延时程序 { for(;i&gt;0;i--){delay1ms(1000);}...

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

1、创建项目文件。2、按键:S1=P3^2,点亮: led=P1^5。3、创建C语言主函数。4、创建循环效果,检测效果。while(1) {}。5、选择输出的效果。6、当按下一个按键时,关闭灯,整个程序运行,再按一次,程序停止。

下面51单片机C语言程序怎么改成按钮按一下才执行,再按一下就停止,如此...

IO直接作为循环条件即可,如下:如果用户按下键不放会有问题,最好改为用户按下键再弹起为一次输入。

想用c语言写一个按键控制小灯闪烁的程序,就是按一下闪烁,再按就熄灭

所以这种按键需要判断按键是第一次按下(由弹起状态下按下)。而不是一直按着导致的动作。方法:建一个变量保存上一次按键的值 char LastKey;LastKey = 1;while(1){ if(k == 0 &amp;&amp; LastKey == 1) //按下,且上一次检测按键时是弹起状态 { //这样才能保证每次按下时只执行一次, ...

AVR 单片机C语言怎样实现按键按一下led灯闪烁 再按一下led灯灭如此反复...

用状态机写:函数1:LED闪烁 main(){ while(1){ if(KEY)State = ~State;if(State)LED闪烁 else LED熄灭 } }

单片机一个按钮控制三个灯 单片机一个按键控制两个灯 单片机按钮控制开关 单片机两个开关控制两个灯 52单片机按键控制led灯 单片机按钮控制流水灯总结 51单片机按键控制程序 51单片机按键控制流水灯快慢 单片机按键控制灯亮灭
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
网线威海不一个区能挪用吗 侵挪的读音侵挪的读音是什么 我被网络诈骗了,但是钱是我用的客户的,这样算不算诈骗和挪用罪? 坐支挪用什么意思 支挪的解释 WIB764位家庭版系安装的IE9浏览器打开很卡求原因 win7 64位家庭版 IE9报错 倩女幽魂结拜突破在那个地方 倩女幽魂怎么转职转职了等级变不 肉眼如何找北斗七星肉眼怎样找北斗七星 求解答,这个51单片机如何用三个端口控制八个LED灯流水闪烁 审判之眼无人机材料商店在哪 石油巡线无人机找哪个厂家买? 有没有什么出题的软件或者是网页,能让我们自己出心理测试题的? 给未来宝宝取名,男张子豪,张子乐,张子龙,张子孟,张子栋,女张梦玥,张梦媛,张梦蕊,张梦想,张梦彤 本田车一个感叹号加一个圈 各晶系的晶面间距公式中的a、b和c是根据不同的物质查表得来,还是怎么计算得来的,求解? XRD得到的晶面间距与TEM衍射计算得到的晶面间距对不上 怎么办 索尼电视 系统时间不能保存 【求助】请问怎么查镍的晶格数据?TEM图的晶格间距怎么测? 描写做热干面的过程 湖北的热干面的制作步骤有什么呢? 取名茁瀚的寓意是什么 计算机应用与维修这个专业有前途么 武汉司门口那个大桥附近有个专门买韩国东西店铺名字叫什么啊? 韩国饰品在哪进货 NVIDIA GeForce GT 240能玩神奇蜘蛛侠2吗 神奇蜘蛛侠2和1相比配置要求提升大吗?1我勉强能允许,2行吗? 如何分装胶水 这配置玩GTA4 神奇蜘蛛侠2老是掉帧 51单片机一键控制一个LED,每按一下按键LED闪烁一种频率,共闪烁三种频率.有好的答案加 怎样在51单片机变写一个让很多各LED灯闪烁的程序? 51单片机简单的LED闪程序。想让P0^0口和P0^7口同时分别控制LED灯闪,怎么写 你好,我想问一下,怎么让51单片机开发板控制八个led灯同时闪烁 51单片机设计,如何设计让LED灯闪烁的速度越来越快 微信恢复信息可以恢复多久以前的 糯米v1璀璨版怎么样?网上怎么查不到? 糯米手机V1璀璨版如何截屏? 我的手机丢了,品牌是糯米v1.请问有办法找回吗 电脑开机到磁盘检查时,只有一个光标在闪烁,屏幕上别有任何字符和提示(黑屏),怎么解决这个问题? 电脑黑屏只有左上角有个光标一直闪,重启也没用进去BOOt不知道怎么选 电脑崩溃了,只有一个光标在一闪一闪。如何恢复? 招聘护士要求什么学历 护士应聘怎么面试 请英语高手帮忙~急求 vb下载文件? 如何在vb中实现文件下载(从指定网站下载到指定文件夹)? VB 下载文件的问题,100分 请问怎么用VB中的URLDownloadToFile下载网页和网页所带的文件夹里的图片和一些文件? 求助~!求日文高手,帮手翻译以下的文字。。。重酬~!