导航:首页 > 操作系统 > 单片机闪烁程序

单片机闪烁程序

发布时间:2022-02-09 18:00:13

‘壹’ 52单片机闪烁灯程序

你闪烁的话,程序是什么样子?这个单片机闪烁的程序的话。根据这个需求来进行开关可以了

‘贰’ 51单片机灯闪烁怎么编程

51单片机闪烁灯的编程程序要与相对应的机器连接之后,固定编码操作。

‘叁’ 如图单片机闪烁灯的程序怎么写

main前加void
uint i,j;

‘肆’ 51单片机控制一个灯闪烁的程序怎么做

不知道你那个按键是做什么用的,要LED闪烁的话可以先点亮LED,然后延时一会儿,再熄灭LED,循环的话就是闪烁了,点亮或者熄灭LED就是通过P0口输出高或低电平实现

‘伍’ 利用51单片机设计一个循环闪烁程序

#include<reg51.h>
#defineucharunsignedchar
voiddelay(uchara)
{
uchari;
while(a--)for(i=0;i<120;i++);
}
main()
{
uchari,j;
j=0;
while(1)
{
for(i=0;i<10;i++)
{
P0=~(1<<j);
delay(100);
P0=0xff;
delay(100);
}
j++;
j%=8;
}
}

‘陆’ 单片机控制led的闪烁程序

你这个程序死循环了,我一点一点给你纠正:
1 你有个不好的习惯,希望你改正:
定义变量的时候,请明确的指明变量的类型:unsigned char i,或者unsigned int i
而不要是unsigned i,这是不好的习惯。
2 你的这个地方是个死循环:
for(j=7;j>=0;j--)
{
led=(temp>>=1);
yanshi(50);
}
因为你的j定义的是unsigned 类型,所以,j永远都会是非负数,所以,你的for循环会一直进行,修改如下:

for(j=7;j>0;j--)
{
led=(temp>>=1);
yanshi(50);
}

3 看你的while(1)循环里:
while(1) {
if(kaiguan==0) yanshi(20);
if(kaiguan==0)
{
kaideng();
}
if(kaiguan!=1)
{led=0xff;}
}
你这样写,我问你 if(kaiguan==0)和if(kaiguan!=1)有什么区别吗?

‘柒’ 51单片机使灯闪烁,我写的程序按一下开始闪烁,在按一下为什么不能熄灭呢

void main()
{
L1=0;
if(K1==0) //1 按键按下后
{
Delay10ms(); //2 延时去抖动
if(K1==0) //3 确认按下
{
L1=0; //4 以下4句闪烁一次
Delay(1000);
L1=1;
Delay(1000);
}
while(1) //5 这里死循环,不能再执行上面的语句了。
{
while(!K1) //6 判断按键是否按下,如果按下,则延时10ms,再判断是否按下,一致循环,知道你松开手。
{
Delay10ms();
}
while(!K1); //7 按键按下话,一致死等,直到你松开手

{ //8 下面闪烁一次。
L1=0;
Delay(1000);
L1=1; // 9
Delay(1000);
}
}
}
}

你的程序来看,工作流程是这样的,开机后,按下按键不放,只闪烁一次。如果你放开你的手,释放按键,则LED一致闪烁。
你说再按一下为什么不熄灭,因为 标示9句那里置1了,你的硬件应该是L1置1亮吧?
因为L1=1,是你灯闪烁的最后一个状态,而后又会从5再次执行,如果你按下了按键,程序停在了6那里死循环,
则后面7,8都不会执行了。灯则保留了上一个循环最后的状态,也就是9的状态,所以就一致亮了。
你如果又松开按键,灯又会闪烁,你再按下按键,灯又一直亮了。如此循环。

你的程序的就是一个字概括,乱,你的思路很混乱,条理不清晰,建议先在纸上写下流程,再来写代码。想清楚了再下手。
你会学的很快的。

你的main函数有个性,呵呵,没有人会这么写main函数的,去看看单片机C语言的书吧!

‘捌’ 单片机LED灯闪烁程序

char LED;
sbit key1down=P1^0 ; // 设开关key1连接此端口
sbit key2down=P1^1 ; // 设开关key2连接此端口
void main(){

P0=0xff; // 输出低电平LED亮

LED=0xfe;
while(1){
P0=LED; delay();
if(key1){ LED <<= 1 ; } // 将LED左移一位;
if(key2){ LED >>= 1 ; LED |=0x80; } // 将LED右移一位;
if(key1down==0) { key1=1; key2=0;}
if(key2down==0) { key1=0; key2=1;}
}

‘玖’ 8个LED指示灯循环闪烁的程序(单片机)

1:设置一个变量i,它可以从0循环到3

2:检测一个已取消缓冲的键。按“+1”

3:当I值为每个值时,执行相应的模式。

水量灯参考程序

#include

#include

#定义uchar无符号字符

Ucharj,温度;

无效延迟(无符号整型ms)

Uchart;

(女士)

对于(t = 0;T < 123;T + +);

Voidmain()

P1=0XFF;

延迟(500);

Temp=0xfe;//奇怪,led连接在P2.3~P2.6

对于(j = 0;J < 4;J + +)

P1=temp;

延迟(500);

Temp=_crol_(Temp,1);

P1=0XFF;

(1);

(9)单片机闪烁程序扩展阅读:

注意事项:

#include“reg52。这个文件为单片机定义了一些特殊的功能寄存器

Typedef无符号int在16以下;//以声明的方式定义数据类型

无符号charu8;

//LED灯

Sbitleda=P0;

Sbitled1=P0^0;

Sbitled2=P0^1;

Sbitled3=P0^2;

Sbitled4=P0^3;

Sbitled5=P0^4;

Sbitled6=P0^5;

Sbitled7=P0^6;

Sbitled8=P0^7;

无效延迟(16岁以下)

,(我);

Voidmain()

而(1)

勒达=1;//所有的灯都亮着

//从左到右熄灭

Led1=0;

延迟(50000);//延迟时间约为450毫秒

Led2=0;

延迟(50000);//延迟时间约为450毫秒

Led3=0;

延迟(50000);//延迟时间约为450毫秒

Led4=0;

延迟(50000);//延迟时间约为450毫秒

Led5=0;

延迟(50000);//延迟时间约为450毫秒

Led6=0;

延迟(50000);//延迟时间约为450毫秒

Led7=0;

延迟(50000);//延迟时间约为450毫秒

Led8=0;

延迟(100000);//延迟大约900毫秒

//从右到左照明

Led8=1;

延迟(50000);//延迟时间约为450毫秒

Led7=1;

延迟(50000);//延迟时间约为450毫秒

Led6=1;

延迟(50000);//延迟时间约为450毫秒

Led5=1;

延迟(50000);//延迟时间约为450毫秒

Led4=1;

延迟(50000);//延迟时间约为450毫秒

Led3=1;

延迟(50000);//延迟时间约为450毫秒

Led2=1;

延迟(50000);//延迟时间约为450毫秒

Led1=1;

延迟(50000);//延迟时间约为450毫秒

勒达=1;//所有的灯都亮着

‘拾’ 单片机闪烁小灯程序怎么写

#include<reg52.h>
#defineuintunsignedint
sbitD0=P0^0;
main()
{
while(1)
{
inti,j;
D0=0;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
D0=1;
for(i=0;i<100;i++)
for(j=0;j<670;j++);
}

}

上面是基于51系列单片机写的,D0是小灯的IO 口,在While循环中控制高低电平(写0或1)就能实现小灯闪烁。

阅读全文

与单片机闪烁程序相关的资料

热点内容
如何关闭手机dhcp服务器 浏览:981
php免费ide 浏览:200
程序员词句 浏览:976
服务器如何禁止某个ip段 浏览:329
便签手机文件夹 浏览:768
gameloft的java游戏 浏览:110
神佑释放怎么转服务器 浏览:735
洋葱app软件怎么登录 浏览:788
两相电空气压缩机 浏览:396
基于51单片机的智能语音密码锁设计 浏览:845
mac如何用ssh登录服务器 浏览:446
appstore怎么设置 浏览:954
在哪个app买韩国女装 浏览:111
php写入文件换行 浏览:749
dsp实现fft算法 浏览:485
棋牌源码转让交易手续费 浏览:293
云上服务器贵州 浏览:647
qq三国怎么使用云服务器 浏览:303
一键加密字体怎么设置 浏览:145
majority算法 浏览:822