0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用单片机点亮流水灯实例解析

零是起源 来源:零是起源 作者:零是起源 2022-04-12 08:04 次阅读

首先我们规划好硬件电路部分,在这里使用三个流水灯做简单讲解吧。单片机使用简单基础的51单片机。利用单片机P3.0~P3.2 三个I0口,假如外部电源LED供电,IO口就输出低电平时(0),LED灯就会亮,IO口输出高电平,LED就会灭。假如是单片机IO口给led供电(如果使用P0口需要使用上拉电阻),IO口就输出低电平时(0),LED灯就会灭,IO口输出高电平,LED就会亮。

限流电阻阻值计算:

LED的工作电压:红黄为2V,绿蓝白为3.2~3.6V,电流都是18-20ma。下图是是单片机IO驱动的情况,P0口需要使用上拉电阻。假设LED额定电流是18mA。额定电源是3.2v那么限流电阻R2=(5V-3.2V)/18mA=100Ω。(图就是个大概,晶振回路和复位电路都没画)

利用单片机点亮流水灯实例解析

实例解析:外部电源供电,电路连接简略图如下

程序设计思想:开始让P0保持高电平,三灯都是灭的。然后P0.0输出低电平,LED1亮,延时一段时间后,让P0.0输出高电平,P0.1输出低电平,LED1灭,LED2亮,再延时一段时间,让P0.1输出高电平,P0.2输出低电平,此时LED2灭,LED3亮,延时后让亮灭过程循环就可实现流水灯效果。

利用单片机点亮流水灯实例解析

流水灯仿真实验:4个LED

程序编写后需要用KECIL C51软件生成HEX文件,用proteus可以仿真结果

利用单片机点亮流水灯实例解析

程序:

#include  //头文件

#include//头文件

#define uchar unsigned char

uchar j,temp;

void delay(unsigned int ms) //延时函数

{

uchar t;

while(ms--)

for(t=0;t<123;t++);

}

void main() //主函数

{

P1=0xff; //P1=11111111,对应串口灯全灭

delay(500);

temp=0xfe; // 0x11111110

for(j=0;j<4;j++) //此循环执行四次跳出

{

P1=temp; // P1=11111110, P1.0连接的LED灯亮

delay(500); // 延时

temp=_crol_(temp,1); //左移函数,依次是11111101,11111011,11110111

}

P1=0xff; 跳出循环,P1串口全部是高电平,LED都灭

while(1);

}

审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    237

    文章

    22409

    浏览量

    645723
  • 单片机
    +关注

    关注

    5996

    文章

    43941

    浏览量

    620336
  • 流水灯
    +关注

    关注

    21

    文章

    432

    浏览量

    59078
收藏 人收藏

    评论

    相关推荐

    51单片机流水灯点亮

    单片机流水灯
    jf_26530885
    发布于 :2022年07月08日 15:07:01

    利用单片机中断实现流水灯 相关资料下载

    在我们的生活中,随处可见各式各样的彩灯,给这本来充满美丽的世界又添加了一份别致的美,想知道流水灯是怎么实现的吗?现在就跟我走进这实现流水灯的大道吧!其实利用单片机的中断功能就可以实现。
    发表于 07-01 09:03

    51单片机流水灯的设计与实现

    51单片机流水灯的设计与实现,摘要:利用AT89C51单片机进行流水灯的控制。单片机的P0^0端
    发表于 07-19 09:02

    如何去点亮基于51单片机的LED流水灯

    如何让8个小灯依次一个接一个的点亮?怎样去编写基于51单片机的LED流水灯的程序?如何去点亮基于51单片机的LED
    发表于 08-11 08:49

    如何利用单片机中断实现流水灯

    如何利用单片机中断实现流水灯
    发表于 10-13 07:38

    如何利用单片机写一个流水灯的小程序?

    如何利用单片机写一个流水灯的小程序?
    发表于 10-13 07:36

    如何利用51单片机让LED流水灯的来回点亮

    如何利用51单片机让LED流水灯的来回点亮
    发表于 10-21 09:35

    51单片机点亮流水灯的方式有哪几种?

    51单片机点亮流水灯的方式有哪几种?
    发表于 11-03 06:29

    基于51单片机实现流水灯

    51单片机入门教程(2)——实现流水灯一、搭建流水灯电路二、流水灯程序2.1 延时程序2.2 延时函数2.3 按字节寻址2.4 逻辑移位2.5 条件判断一、搭建
    发表于 11-10 08:03

    制作51单片机流水灯

    大家好,今天我们来制作51单片机流水灯,在我个人认为昂,流水灯的意思就是,让单片机上的LED灯像水一样的流动,也就是挨个点亮。那大家也就可以
    发表于 11-18 07:21

    如何利用51单片机点亮流水灯

    51单片机学习笔记———8.点亮流水灯的一种奇葩算法最近学习51单片机的过程发现了一种脑洞大开点亮流水灯
    发表于 11-23 06:02

    51单片机流水灯程序

    51单片机流水灯程序 51单片机流水灯程序 51单片机流水灯
    发表于 12-21 15:52 164次下载

    51单片机实现流水灯

    文章目录51单片机实现流水灯一、点亮第一个LED灯二、流水灯1.总线型控制2.延时函数3._ crol _函数使用4. 实现流水灯51
    发表于 11-05 13:36 24次下载
    51<b class='flag-5'>单片机</b>实现<b class='flag-5'>流水灯</b>

    单片机led灯闪烁实验总结_51单片机实现LED流水灯

    流水灯 用51单片机实现点亮1个2个3个……8个流水灯。我们选择P1口作为控制端口,输出0时LED灯点亮
    发表于 11-23 16:19 26次下载
    <b class='flag-5'>单片机</b>led灯闪烁实验总结_51<b class='flag-5'>单片机</b>实现LED<b class='flag-5'>流水灯</b>

    51单片机 LED点亮、闪烁以及流水灯实现

    51单片机学习初体验,点亮第一只LED灯和让其闪烁,用四种方法实现流水灯
    发表于 11-23 16:51 33次下载
    51<b class='flag-5'>单片机</b>  LED<b class='flag-5'>点亮</b>、闪烁以及<b class='flag-5'>流水灯</b>实现