51单片机led灯闪烁程序的实现方法(51单片机闪烁灯编程)
单片机 8个LED灯随机闪烁怎么做?
1、首先在电脑中新建项目:Keil uVision4 51单片机LED闪烁编程,如下图所示。
2、然后设计单片机端口与LED灯相连,如下图所示,输入代码。
3、接着创建延迟函数,如下图所示,输入以下代码。
4、然后创建C语言主函数,如下图所示,输入以下代码。
5、接着输入对输出取反,最后调用延迟函数,如下图所示就完成了。
用定时器实现51单片机上LED灯每隔两秒亮暗闪烁
你用的是几个灯啊?比如说8个灯吧,用p0口,
就是直接讲p0口与led直接相连就行了啊,注意led的另一端要接在一起,共地或者高电平都可以,但是为了保护led,最好在每个小灯上串上一个电阻(若单片机采用的是5v电压,电阻可选用500欧左右的就可以了),以减小通过led的电流。剩余的就是单片机的最小系统了,没什么好说的吧,就是晶振,复位而已。
程序嘛,也很简单啊,你说用定时器,每个两秒如果单纯用一个定时器的话肯定不够用的,要结合循环判断语句,比如你采用12m的晶振,并且将定时中断时间定为50ms,那么设置一个变量,每20次就是一秒了,所以40次就是两秒。这样的话,每个40次就让led的状态(用0和1表示亮与灭)改变就可以了。main函数中应该设置一个死循环函数,可用while(1),让单片机不断的循环工作。
怎么用51单片机控制三个LED灯用不同的频率闪烁?
方法1:1000个左右的灯,需要10根地址线选通,51的io管脚应该是没有问题。剩下的就是要用大量的译码器,把二进制信息转换为管脚信息。
估计你仅仅是控制亮和灭,如果是这样选通也就可以进行明暗的控制,否则输出的信息也要加进去,就是说需要加驱动电路。
方法2:用移位电路,比如hc595,在51中地址做为串行信号发出,转换为对应的地址线,然后在连接译码器,这样,51的管脚比较节省,但,编程的难度稍大。
你可以参考一下键盘译码器的电路,控制16个和控制1000个的原理是一样的。
51单片机系列怎样实现LED常亮30S闪烁?
一般LED灯亮时间不要求精确,用软延时即可。编一个毫秒延时函数
假设低电平LED点亮, 主程序如下:
void main()
{
LED=0;
for(i=0;i30;i++)
{delayms(1000);}
while(1)
{
led=1;
delayms(500);
led=0;
delayms(500);
}
}
关于51单片机led灯闪烁程序的实现方法和51单片机闪烁灯编程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。微信号:ymsc_2016
相关文章
发表评论
评论列表
- 这篇文章还没有收到评论,赶紧来抢沙发吧~