❶ 对于下面的51单片机LED闪烁实验C程序,为什么LED会一直不停地闪烁,而不是闪烁一次呢
因为你的代码后面的“空白”处都是复位命令,所以你的代码执行完了就复位了,就闪啦。。
❷ 单片机闪烁
比如P1=0x00;这样就是字节操作/0x00===0000 0000/八位一字节,,,望采纳
❸ 单片机:如何让数码管闪烁
其它照常
一段时间输出与0xff做与运算
一段时间输出与0x00做与运算
❹ 单片机闪烁小灯程序怎么写
#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)就能实现小灯闪烁。
❺ 单片机闪烁灯
肯定不会。
下面是修改好并通过测试的程序
ORG 0000H
LJMP START
ORG 0040H
;;;;下面假设你高电平亮;;;
START:
CLR P1.2
CLR P1.4
LCALL DELAY
SETB P1.2
SETB P1.4
LCALL DELAY
AJMP START
DELAY:MOV R5,#20
D1:MOV R6,#20
D2:MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END
❻ 51单片机控制LED闪烁频率
暂时想到两种解决方案:
1.最简方案——利用延时函数:进入主函数后,初始化LED,设置一个延时初始值,然后进入while循环,里边只做四件事,打开LED,利用键盘返回值作延时函数参数,关闭LED,利用键盘返回值作延时函数参数。
2.精确解决方案——定时器:初始化定时器,打开中断等,然后进入while等待中断,在中断函数里先定义一个变量,然后将键盘返回值赋值给此变量,再将此变量去重装定时器初值,接下来就是为LED取反。
有不懂的随时回复我。
希望我的回答能帮助到你。
❼ 单片机一个灯闪烁 编程
相对应的角度差不多完成独立性。到底反正饺子差不多。
❽ 单片机流水灯闪烁问题!急急急!
又要用定时器,又要用延时程序,这不是...
----
其实,只用一个定时器,就都可以解决。
;假设在 P0 口外接 8 个 LED,输出低电平时发光。
;下面程序,已经通过了实验,符合题目的流水灯闪烁要求.
ORG 0000H
LJMP START
ORG 000BH
MOV TH0, #4CH ;[email protected]
CPL F0
JNB F0, EXIT_T0 ;不到100ms就退出.
XRL P0, A ;每100ms,有一个LED亮/灭一次.
DJNZ R6, EXIT_T0
MOV R6, #20
RL A
EXIT_T0:
RETI
START:
MOV TMOD, #01H ;T0定时方式1
MOV TH0, #4CH ;[email protected]
MOV IE, #82H ;开T0中断.
MOV R6, #20
MOV A, #1
SETB TR0
SJMP $
END
❾ 利用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;
}
}
❿ 单片机开发板的灯总是闪烁怎么回事
1、单片机里面没有任何程序或杂乱的数据,有可能闪烁,这是由于单片机总是自动复位造成的。
2、单片机有程序控制LED闪烁。
3、开发板有问题,比如电源不稳,其他硬件毛病等,闪烁也可能发生。