1. 求帮忙写一个用STC89C52单片机控制心形流水灯的程序!万分感谢
焊接的挺漂亮,用心了,祝你成功!!
2. 单片机心形流水灯制作教程
1.建立工程。其中LED.c文件用于存放各个功能的子函数,而delay.c文件则用于存放延时函数,最后主函数直接调用前面的两个文件中的子函数即可。
2.在LED.c源文件中编写功能子函数,分别为turn_on(int i)、turn_...
3.在delay.c源文件中编写延时函数。
4.在main.c文件主函数中调用各个子函数来实现流水灯功能。 END
3. 用单片机设计彩虹灯控制系统
这个这么简单的题都不会呀,看来你单片机算是白学了。找个最小系统,接一个按钮开关到IO,再接一个限流电阻加一个发光二极管到另一个IO,就OK了。
程序如下:
#include<reg51.h>
sbit led=P1^0;
sbit key=P1^4;
void delay(unsigned char a)
{
unsigned char i;
while(a--)for(i=0;i<120;i++);
}
main()
{
while(1)
{
if(key==0)led=0;
else led=1;
}
}
4. 单片机心形流水灯制作程序
常规流水灯程序,只要将灯摆成心形就可以了
5. 怎么样设计爱心闪光灯单片机控制爱心闪光灯的程序是什么
是那种从里亮到外面,然后从外面亮到里面的那种吗?先要知道你要达到什么效果,才可以设计硬件电路,最后再用程序来控制。
6. 用单片机制作的心形灯 我需要16盏灯的 程序还有电路图 还有其他的都要
自己仿照一下就可以了,用P1、P2、P3都可以
#include//51系列单片机定义文件
#defineucharunsignedchar//定义无符号字符
#defineuintunsignedint//定义无符号整数
voiddelay(uint);//声明延时函数
voidmain(void)
{
uinti;
uchartemp;
while(1)
{
temp=0x01;
for(i=0;i<8;i++)//8个流水灯逐个闪动
{
P0=~temp;
delay(100);//调用延时函数
temp<<=1;
}
temp=0x80;
for(i=0;i<8;i++)//8个流水灯反向逐个闪动
{
P0=~temp;
delay(100);//调用延时函数
temp>>=1;
}
temp=0xFE;
for(i=0;i<8;i++)//8个流水灯依次全部点亮
{
P0=temp;
delay(100);//调用延时函数
temp<<=1;
}
temp=0x7F;
for(i=0;i<8;i++)//8个流水灯依次反向全部点亮
{
P0=temp;
delay(100);//调用延时函数
temp>>=1;
}
}
}
voiddelay(uintt)//定义延时函数
{
registeruintbt;
for(;t;t--)
for(bt=0;bt<255;bt++);
}
7. 单片机驱动LED七彩灯程序
这个问题可大可小,
用三种红绿蓝可以混合色各种颜色,这个程序是吧,每个颜色分成200级(实际是201级),所以值就是0到200,然后用PWM输出控制各色的亮度,混合出七彩,如R=200、G=200、B=200就是白色,但不是纯正的白。(纯白色时RGB的值是不相等的)
户外的超大LED广告屏就是这样的,每个像素点就是一个全色LED灯。
8. 51单片机16个灯的心形流水灯编程
利用51单片机的p0,p1,p2口,分别驱动一个LED灯。然后,首先让它们都输出低电平0x00,再然后,按顺序位移输出高电平。
9. 50分求单片机彩灯程序
//我想做个15路输出的彩灯,预置数为15个(10进制32767)1,
//使用P0.0~P0.7和P2.0~P2.6端口,
//设置+1(P3.3)和-1(P3.4)两个按钮,可以减到十进制32047。
//到32047后如果继续按-1按钮,可以回到32767重新进行减法。
//加法也一样,加到32767后按+1按钮可以到32047重新+1.
//再设置一个按钮(P2.7),当P2.7接地时,在当前显示的数字上减去十进制数1712进行显示。
//============================
#include<reg52.h>
sbitK_1=P3^3;//+
sbitK_2=P3^4;//-
sbitD_1=P2^7;//显示方式选择
//----------------------------
voiddelay_ms(unsignedintn)
{
unsignedcharj;
while(n--)for(j=0;j<230;j++);//230是实验测试所得!
}
voidmain()
{
unsignedintm;
m=32767;
while(1){
if(D_1==1){
P2=~(m/256);
P0=~(m%256);
}
else{
P2=~((m-1712)/256);
P0=~((m-1712)%256);
}
if(K_1==0){
delay_ms(10);
if(K_1==0){
m++;
if(m>32767)m=32047;
while(K_1==0);
}
}
if(K_2==0){
delay_ms(10);
if(K_2==0){
m--;
if(m<32047)m=32767;
while(K_2==0);
}
}
}
}
//============================
10. 大学单片机七彩流水灯(急急急)
一、点亮一个LED灯
程序:MOV A,#00FEH MOV P1,A JMP $ END
图:
二、点亮1、3、5、7LED灯
程序:MOV A,#00AAH MOV P1,A JMP $ END
图:
三、尝试让一个LED灯闪烁
程序:
STRAT:MOV A,#00FEH MOV P1,A LCALL DEL MOV A,#00FFH MOV P1,A LCALL DEL JMP STRAT
DEL:MOV R1,#127
DEL1:MOV R2,#200
DEL2:DJNZ R2,DEL2 DJNZ R1,DEL1 RET END
图:
实验三 延时子程序
实验目的:
1、学会程序的嵌套以及熟练对指令的操作
实验内容:
1、延时子程序的设计
2、I/O口的应用操作
实验操作:
1、设计8个循环点亮的LED灯,1、2、3、4、5、6、7、8顺序点亮。
程序: ORG 0000H LJMP START ORG 0100H START: MOV A,#007FH LOOP: RL A MOV P1,A LCALL DELAY1 JMP LOOP DELAY2: MOV R1,#127 DEL1: MOV R2,#200 DEL2: DJNZ R2,DEL2 DJNZ R1,DEL1 RET END