求单片机控制八个led灯随意亮灭别且想有几个亮就亮几个的程序!!!! 10
5个回答
展开全部
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int// 宏定义变量
#define uchar unsigned char//宏定义变量
uchar temp;
void delay(uint z);//声明延时变量
void main()
{
temp=0xfe;//11111110想第几个管脚的二极管亮,就将那个管脚设0
P1=temp;//低电平有效,第一个管脚的二极管亮
while(1) //进入循环
{
delay(3000);//延时1秒
temp=_crol_(temp,1); //向左移,一位
P1=temp;//将temp的值赋给P1口
}
}
void delay(uint z)//z等于1表示延时1毫秒
{
uint x,y; //
for(x=z;x>0;x--)//x初值为z,不为0执行下一个,x
for(y=110;y>0;y--);//y取110是因为晶振11MH,110个周期时间为1毫秒。
}
#include<intrins.h>
#define uint unsigned int// 宏定义变量
#define uchar unsigned char//宏定义变量
uchar temp;
void delay(uint z);//声明延时变量
void main()
{
temp=0xfe;//11111110想第几个管脚的二极管亮,就将那个管脚设0
P1=temp;//低电平有效,第一个管脚的二极管亮
while(1) //进入循环
{
delay(3000);//延时1秒
temp=_crol_(temp,1); //向左移,一位
P1=temp;//将temp的值赋给P1口
}
}
void delay(uint z)//z等于1表示延时1毫秒
{
uint x,y; //
for(x=z;x>0;x--)//x初值为z,不为0执行下一个,x
for(y=110;y>0;y--);//y取110是因为晶振11MH,110个周期时间为1毫秒。
}
追问
这个不行啊 我需要的是一个上位机给信号 给一个固定的信号对应的灯亮 同样感谢你
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-14
展开全部
#define dBIN(a,b,c,d,e,f,g,h) ((1<<7)+(1<<6)+(1<<5)+(1<<4)+(1<<3)+(1<<2)+(1<<1)+(1)
//控制函数
void Cor8LED( undigned char out)
{
//假设为P0口控制8个灯,高电平亮
P0 = out;
}
//调用函数控制灯:
//假设1、3、5、8亮(0:灭,1:亮)
Cor8LED( dBIN(1,0,1,0,1,0,0,1));
//控制函数
void Cor8LED( undigned char out)
{
//假设为P0口控制8个灯,高电平亮
P0 = out;
}
//调用函数控制灯:
//假设1、3、5、8亮(0:灭,1:亮)
Cor8LED( dBIN(1,0,1,0,1,0,0,1));
追问
最上面那个是什么意思啊
追答
宏定义,将a,b,c,d,e,f,g,h 8个参数代表的8个灯状态转换为 8位二进制。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
随意亮灭别、且想有几个亮就亮几个的程序!
----
想?
有一帮人在看这个 LED,由谁来想?
----
想?
有一帮人在看这个 LED,由谁来想?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用意念控制吗?
更多追问追答
追问
就是想让几个亮就几个亮 想让哪个亮就哪个亮
追答
那很简单,只要控制端口的高低电平就可以想让几个亮就几个亮 想让哪个亮就哪个亮,楼上的程序应该就可以实现。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啥叫随意呀,就是随机吗?
追问
就是想让几个亮就几个亮 想让哪个亮就哪个亮
追答
用逻辑操作呗
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询