1. 单片机,花样流水灯
K1 BIT P3.0
K2 BIT P3.1
ORG 0000H
JMP START
START:
MOV TMOD, #01H
SETB TR0
MOV R4, #7FH
MOV R5, #7FH
MOV R6, #0FEH
M_LOOP:
JNB K1, K1_PROG
JNB K2, K2_PROG
MOV P1, R4
MOV A, R4
RR A
MOV R4, A
CALL DL1S
JMP M_LOOP
;---------------------------------
K1_PROG:
MOV A, R5
ANL A, R6
MOV P1, A
MOV A, R5
RR A
MOV R5, A
MOV A, R6
RL A
MOV R6, A
CJNE R6, #0EFH, K1_DL
MOV R5, #7FH
MOV R6, #0FEH
K1_DL:
CALL DL1S
JMP M_LOOP
;---------------------------------
K2_PROG:
MOV R3, #16
LP2:XRL P1, #255
CALL DL1S
DJNZ R3, LP2
JMP M_LOOP
;---------------------------------
DL1S:
MOV R2, #20
LP1:MOV TL0, #LOW (65536-50000)
MOV TH0, #HIGH(65536-50000)
JNB TF0, $
CLR TF0
DJNZ R2, LP1
RET
;---------------------------------
END
2. 单片机流水灯程序
我是一名多年的单片机工程师,下面的程序你参考一下
效果图
程序如下:
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uint i;
uchar j;
void delay_ms(uint k) //延时子程序
{
for(i=0;i<k;i++)
{
for(j=0;j<230;j++)
{
;
}
}
}
main()
{
uchar a,b;
P1=0xfe;
delay_ms(500);
b=P1;
while(1)
{
for(a=0;a<3;a++)
{
b=_crol_(b,1);
P1=b;
delay_ms(500);
}
P1=0xf0;
delay_ms(500);
P1=0xfe;
delay_ms(500);
b=P1;
}
}
如果你想学习更多单片机和程序的知识,可以看看我整理好的“17个实验学会单片机”,网络一下“17个实验学会单片机”就可以看到在首页了。
3. 单片机流水灯
P0口控制,先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动三次;再从中间往两边流动三次;不过这个程序实现的应该是这样的
先奇数亮再偶数亮,循环三次;一个灯上下循环三次;两个分别从两边往中间流动;再从中间往两边流动(延时0.1s)
#include< reg52.h>
#include< intrins.h>//头文件
#define uint unsigned int
#define uchar unsigned char//声明用unit代替unsigned int,下个同理
void delay();
void main()
{ uchar temp,temp1,temp2,a,b;
while(1)
{ for(b=3;b>0;b--)
{ temp=0xaa;
P0=temp;
delay();
temp=0x55;
P0=temp;
delay();//调用延时函数
}
for(a=3;a>0;a--)
{ temp=0xfe;
for(b=7;b>0;b--)
{ P0=temp;
temp=_crol_(temp,1);
delay();
P0=temp;
delay();
}
}
temp1=0xfe;
temp2=0x7f;
for(a=8;a>0;a--)
{
temp=temp1&temp2;
P0=temp;
delay();
temp1=_crol_(temp1,1);
temp2=_cror_(temp2,1);
}
}
}
void delay()
{ uint a,b;
for(a=100;a>0;a--)
for(b=100;b>0;b--);
} //延时函数
希望可以帮助到您
谢谢
4. 急求懂51单片机编程的C语言大神帮忙编一个AT89S52单片机有创意的8位流水灯程序
#include <迟弯reg51.h>
#define GPIO P1
#define uint8 unsigned char
#define uint16 unsigned int
void delay_ms(uint16 x)
{
uint8 i=110;
while(x--)
while(i--);
}
void main()
{
uint8 i;
while(1)
{ i=8;
GPIO=0x01;
do
{
delay_ms(1000);
GPIO=GPIO<<1;
i--;
}while(i);
}
}
一团旦凯位流水灯左移。前提是你塌唤的等给一的时候才亮。否者把GPIO改为oxfe。
5. 基于单片机的花样流水灯控制
单片机流水灯,是学习单片机的基础实验,花样+按键是稍微进一步,可以多看一些实例,网上有很多仿真实例可以参考学习。
6. 单片机用at89c51来制作一个16个灯的流水灯
用一个 16 位的变量,每隔一会,就把内容变化一下,
再输出到接口,即可。
7. 单片机心形流水灯6v电压怎么会闪,加了个7805又不会亮,电压开大电就全部亮又不闪,求大神们指点下
7805的驱动能力跟不上,LED太多,
你算算电流就知道了
8. 单片机花样流水灯设计怎么写
单片机花样流水灯怎设计?怎么写?请问谁知道告诉我,谢谢。
9. 求帮忙写一个用STC89C52单片机控制心形流水灯的程序!万分感谢
焊接的挺漂亮,用心了,祝你成功!!
10. 求用STC89C52RC单片机实现流水灯(C语言)
用STC89C52RC单片机实现流水灯,这是最简单的程序,用左移函数_corl_( )实现很容易。P0口接8个LED灯,用proteus 仿真时的仿真图和仿真效果如下。