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

请高手帮忙,单片机控制一个LED灯闪烁的C语言程序,想加一个弹性按键,实现按一下弹起后,一直闪烁

发布网友 发布时间:2022-04-25 20:00

我来回答

5个回答

热心网友 时间:2023-10-14 19:09

#include <reg51.h>
sbit P0_0=P0^0;
sbit key=P0^1;
void delay1s();
unsigned char k,led;
void main( )
{
TMOD=0X10;
led=1;
while(1)
{
if(key)
{
if (led=1){led=0}else{led=1;}
}
if(led==1)
{
P0_0=0;
delay1s();
P0_0=1;
delay1s();
}
else{P0_0=0;}
}
}
void delay1s()
{
unsigned char i;
for(i=0;i<0x02;i++)
{
TH1=0X3C;
TL1=0XB0;
TR1=1;
while(!TF1);
TF1=0;
}
}
以上只是一种解决方案,很不完善。最好是利用中断来改变led的值来进行状态切换。

热心网友 时间:2023-10-14 19:10

#include <reg51.h>
sbit P1_0=P1^0; //接收按键,假设按一下输入低电平
sbit P1_1=P1^1; //控制灯闪烁
void delay1s();
unsigned char k=0;
void main( )
{
while(1)
{
if(p1_0==0)
k=1;
if(k==1)
{P1_1=0;
delay1s();
P1_1=1;
delay1s();}
}
}
void delay1s()
{
unsigned char i;
for(i=0;i<0x02;i++);
}
你这个功能比较简单,上面那样差不多可以实现了,有几点需要说明:1、如果管脚比较充足,就不要P0脚,它做输入还好,要做输出就得加上拉电阻;2、这个实现和硬件接线有一定的关系;3、如果对性能要求不高,可以采用循环来延时已达到输出PWM波的目的,要求高的话可以采用中断来实现。网上单片机方面的参考很多,自学很方便。

热心网友 时间:2023-10-14 19:10

#include <AT89x051.H>
sbit pc0= P1^0;
sbit pd0= P1^1;

void delay(unsigned int t) //延时1ms
{
unsigned char i;
while(t--)
for(i=0;i<120;i++);
}

unsigned char smkey( ) //按键扫描程序
{
unsigned char sm,kk;
sm=pc0;
if(sm==1) //按键防抖
{delay(20);
sm=pc0;
if(sm==1)
{kk=1;

}
}
else

return(kk);
}

void main()
{
unsigned char key;
bit ll=0;
while(1)
{
if(ll==0)
//灯灭
else if(ll==1)
{
pd0=0; //闪烁
delay(500);
pd0=1;
delay(500);
}

key=smkey();
if(key==1)

}

}

热心网友 时间:2023-10-14 19:11

简单的程序 复杂化

热心网友 时间:2023-10-14 19:12

P0_0 是led灯管脚还是按键管脚?定时器也不是你那样用的追问P0_0明显是LED灯管脚的,定时器在这里只是起到延时的作用,我这程序没有问题的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
赵玉平名家论坛 赵玉平人物经历 杭州市汽车西站 现在能提前几天售票啊? 请问杭州西站汽车票可以提前几天买? 杭州汽车西站在节假日的时候需要提前买票的吗 散步有助于减肥吗 魑瑟忝箜莫尘读什么 端午送什么 端午节家里要摆放什么东西 龙舟是如何制作的? nk_730ii打印机打印偏移怎么调整? 求单片机控制LED灯1秒钟闪烁一次程序 爱普生20k打印每次都要设置偏移,怎样彻底解决 如何通过51单片机控制LED灯以1s的频率闪烁,求源代码。 单片机中怎样中断控制led灯隔一秒闪烁一次,c语言的,麻烦高手贴个程序看一下,最好用定时器t0。 打印出来偏移了是什么原因 求一个51单片机的程序:一个按键控制led灯闪烁,就是按一下灯闪,再按灯就灭了 打印机打出来的字发生偏移,怎么回事? 求单片机大神!!! 用AT89c51单片机控制LED灯闪烁设计电路和编程! 51单片机 通过串口发送控制LED灯 闪烁频率 c代码 跪求!! 打出的字打印时偏离纸张的中央怎么办? 求教通过按键控制单片机LED灯闪烁周期的程序怎么写 用单片机C语言怎么写用状态机实现按键控制LED灯闪烁这个程序 网络共享的打印机打印偏移要怎么设置? 利用C51单片机控制8个LED灯同时闪烁的程序 51单片机怎么只控制一颗LED灯闪烁 惠普m233dw打印机,打印出来的文档是歪的怎么调整 单片机下面程序是怎么实行LED灯闪烁的? 单片机PO.1引脚接一个LED灯,编写程序,控制LED灯闪烁,频率自定。_百度问一问 打印机打印偏右是怎么回事?要怎么调? MSP430编程实现p13键控制p16LED灯闪烁 有人说要登录我的让我解绑还可以把钱转走给她们公司投票借用五分钟就还? 微信投票可以作弊吗?需要注意什么问题? 出租用于投票是真的吗?如果我先一步注销了呢 微信投票主办方延时一分钟 房产证改名字流程? 房产证可以改名字吗 如何更改房产证户主名 房产证怎样变更姓名? 房产证名字的变更需要哪些手续 如何变更房产证上产权人的名字 房产证上面的名字可以改吗?过户给别人 如何更改房产证上的名字啊? 房产证如何增减或变更名字 变更房产证名字,需要哪些手续,多少手续费 修改房产证名字要些什么手续 出租用于投票是真的吗?如果我先一步注销了呢 请问有什么软件只要输入,无须对方同意就能直接加好友。 微信加好友能用的软件有吗 在什么软件推荐自己的和二维码才多人加好友?