用8个led灯实现左右流水灯程序,控制八个led灯编程 流水。
本文目录一览:
- 1、单片机C语言如何实现8个LED流水灯来回流动?
- 2、8路led流水灯程序
- 3、用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
- 4、8个led灯进行流水灯实验程序
- 5、8路流水灯汇编语言程序的写法
- 6、单片机C语言编程:让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重复实现
单片机C语言如何实现8个LED流水灯来回流动?
1、可以通过左移函数_crol_()和右移函数_cror_()来实现LED等的来回流动。
2、具体实现方法可以参考如下程序:
拓展资料:
1、单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
2、单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。
3、单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
参考资料:百度百科:单片机
8路led流水灯程序
八路LED灯流水灯程序,只需要写一个左移位或右移位函数,设置延时即可。
或者初学的直接位定义,然后挨个点亮熄灭灯。
用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
#includereg51.h
voiddelay(void)
{
unsignedinti,j;
for(i=0;i200;i++)
for(j=0;j1000;j++)
;
}
voidmain(void)
{
while(1)
{
P3=0xfe;//第一个灯亮
delay();//延时
P3=0xfd;//第二个灯亮
delay();
P3=0xfb;//第三个灯亮
delay();
P3=0xf7;//第四个灯亮
delay();
P3=0xef;//第五个灯亮
delay();
P3=0xdf;//第六个灯亮
delay();
P3=0xbf;//第七个灯亮
delay();
P3=0x7f;//第八个灯亮
delay();
}
}
扩展资料
单片机C语言16种方式流水灯
voidmain()
{
while(1)
{
P1=0xfe;//点亮第一个发光管
Delay(5000);
P1=0xfd;//点亮第二个发光管
Delay(5000);
P1=0xfb;
Delay(5000);
P1=0xf7;
Delay(5000);
P1=0xef;
Delay(5000);
P1=0xdf;
Delay(5000);
P1=0xbf;
Delay(5000);
P1=0x7f;//点亮第八个发光管
}
}
8个led灯进行流水灯实验程序
#include reg51.h
main()
{int i,j;
while(1)
{P1=0xff;
for(j=1;j=8;j++)
{P1=P11;
for(i=0;i=30000;i++);
}
}
}
8路流水灯汇编语言程序的写法
汇编语言程序如下:
;假设1:D1~D8八个彩灯接在P1口,输出低电平发光
;假设2:系统晶振为12MHz
;假设3:N = 5
;程序如下:
ORG 0000H
MOV R3, #5 ;N=5
LOOP0:
MOV A, #0FFH
MOV P1, #0FFH ;开始时全灭
;-------------------------------逐个点亮
MOV R2, #8
LOOP1: CLR C
RLC A
MOV P1, A
CALL DL500MS
DJNZ R2, LOOP1
;-------------------------------逐个熄灭
MOV R2, #8
LOOP2: SETB C
RLC A
MOV P1, A
CALL DL500MS
DJNZ R2, LOOP2
;-------------------------------全亮、全灭交替
MOV R2, #4
LOOP3: MOV P1, #0 ;全亮
CALL DL500MS
CALL DL500MS ;共1s
MOV P1, #255 ;全灭
CALL DL500MS ;0.5s
DJNZ R2, LOOP3
;-------------------------------
DJNZ R3, LOOP0
MOV P1, #01001001B ;5、显示为0100 1001
CALL DL500MS
CALL DL500MS ;共1s
SJMP 0000H ;重新开始N遍
;-------------------------------延时子程序
DL500MS:
MOV R5, #9 ;1T
DL1: MOV R6, #128 ;1T
DL2: MOV R7, #215 ;1T
NOP ;1T
DL3: DJNZ R7, DL3 ;2T 2 * 215 = 430 T
DJNZ R6, DL2 ;2T [1+1+430+2] * 128 = 55552 T
DJNZ R5, DL1 ;2T [1+55552+2] * 9 = 499995 T
RET ;2T 1 + 499995 + 2 = 499998 T
;-------------------------------------
END
扩展资料:
实现8路流水灯的原理:
下图为主控芯片和流水灯模块的原理图。
流水灯模块接在单片机的P1口,由原理图可以知道,在P1口给一个低电平即可点亮LED灯。相反,如果要LED灯熄灭,就要把P1口的电平变为高电平即可。
要实现流水灯功能,只要将LED1~LED8依次点亮、熄灭,依始类推,8只LED变会一亮一暗的做流水灯了。
实现8个LED流水灯程序用中文表示为:
P1.0低、延时、P1.0高、P1.1低、延时、P1.1高、P1.2低、延时、P1.2高、P1.3低、延时、P1.3高。
P1.4低、延时、P1.4高、P1.5低、延时、P1.5高、P1.6低、延时、P1.6高、P1.7低、延时、P1.7高、返回到开始、程序结束。
单片机C语言编程:让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重复实现
#includereg52.h
#includeintrins.h
void delay(unsigned int z );
void main()
{
unsigned int a;
unsigned char b=0xfe;
for(a=0;a8;a++)
{
P1=b;//P1口接8个LED灯
delay(200);
b=_crol_ (b,1);
}
}
void delay(unsigned int z)
{
unsigned int i;
for(;z0;z--) //延迟时间自己算吧
for(i=110;i0;i--);
}
用汇编写这个容易点
main: mov a,#0feh
mov r0,#8
loop: mov p1,a
acall delay
rl a
djnz r0,loop
delay:mov r6,#0ffh
loop1: mov r7,#01h
djnz r7,$
djnz r6,loop1
ret
end
好像是这样,延迟时间可能不太准,也是P1口接8个LED灯
用8个led灯实现左右流水灯程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于控制八个led灯编程 流水、用8个led灯实现左右流水灯程序的信息别忘了在本站进行查找喔。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~