‘壹’ 51单片机节日彩灯代码及电路图
这个,有程序和电路图:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/5adeb99112822680a877a415.html
如果编译不能通过,可以留言。
‘贰’ 单片机的彩灯控制
这种问题。。。那你应该使用51的吧
1.所谓几种彩灯效果,就是流水灯嘛,只是闪烁方式不同而已。
2.请参考按键部分,去抖,按键判断,松手等函数。判断之后,执行某种流水灯就OK了。
3.同上,可以用外部中断,(比如说设外部中断1为低电平触发,按键按下去,另一边接地就进入中断了),再在中断里写返回判断程序,都是一样的。
4.比如说,一开始的时候检测你编写自动函数(按键)和手动函数(按键),比如自动函数成立,之后自动标志位,置1,然后就开始走流水灯,一个效果走完之后,判断手动标志位置1还是自动标志位置1,然后再判断如何下一步。(当然第三个题目可以不用外部中断的,把手动和自动都摆在外部中断就方便多了)
5.没明白什么意思,应该是定时器的应用,不知道题目里要用它干嘛。
6.太多了,比如你有木有想过把彩灯做成4*4甚至更多(不知道命题组让不让用8X8点阵),反正花样嘛,比如双色LED灯,这个可以亮瞎他们一下。
新手乱支招,勿喷。
‘叁’ 单片机彩灯控制
/*ch03-3-3.c-霹雳灯实验程序*/
//==声明区============================================
#include<reg51.h>//定义8051暂存器之标头档,P2-17~19
#defineLEDP1//定义LED接至Port1
voiddelay(int);//声明延迟函数
//==主程序============================================
main()//主程序开始
{
unsignedchari;//声明无号数字符变数i(占1Bytes)
LED=0xfc;//初值=11111100,只有最右1灯亮
while(1)///无穷循环,程序一直跑
{
for(i=0;i<3;i++)//左移
{delay(100);//延迟1005m=0.5s
LED=(LED<<2)|0x03;//左移2位
}//左移结束,只有最左1灯
LED=0x3f;
for(i=0;i<3;i++)//右移
{
delay(100);//延迟1005m=0.5s
LED=(LED>>2)|0xc0;//右移1位
}//结束右移,只有最右1灯亮
}//while循环结束
}//主程序结束
//==子程序=============================================
/*延迟函数,延迟约x5ms*/
voiddelay(intx)//延迟函数开始
{
inti,j;//声明整数变数i,j
for(i=0;i<x;i++)//计数x次,延迟x5ms
for(j=0;j<600;j++);//计数600次,延迟5ms
}//延迟函数结束
‘肆’ 急求一个51单片机彩灯程序
就是一个简单的跑马灯程序,把我博客上那个最简单的看懂了,你就可以自己写了.
‘伍’ 单片机控制彩灯
D1:JNB P3.3,B1
JNB P3.4,B2
AJMP D1
B1:SETB P0.0
ACALL 5S
CLR P0.0
ACALL 5S
JB P3.3,D1
AJMP B1
B2:SETB P0.0
ACALL 1S
CLR P0.0
ACALL 1S
JB P3.4,D1
AJMP B2
1S:1秒延时程序
5S:5秒延时程序
RET
‘陆’ 单片机彩灯c语言程序
这个实现起来也不难,基本算法可以是:设计全局变量,作为每个花样的开关选择,并在每种花样开头处加开关。然后加按键扫描程序,并且定义按键对应的变量,即控制对应的花样。OK
‘柒’ 怎么设这单片机彩灯一个一个亮
应该是单片机最简单的应用这一段指令就可以实现八个灯的控制,四个亮四个
‘捌’ 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);
}
}
}
}
//============================
‘玖’ 怎么用单片机控制彩灯
需要先设计彩灯电路,电路必须是可以受程序控制变化的。
设计好电路后,根据电路来编写控制程序,调试程序完成后就可以实现了。
‘拾’ 51单片机控制的16个霓虹彩灯,感激不尽!在线等!
必须用8031吗?要是你用89S51或52的话,我可以提供程序。可以是你说花样,我来写程序。或是我自己设计花样。