首页 > 电脑专区 > 电脑教程 >

51单片机基本小灯控制

来源:互联网 2023-02-20 18:06:20 版权归原作者所有,如有侵权,请联系我们

51单片机是最基础的单片机,用来学习 C 语言基础是最适合不过的,现在也有很多不同的开发板,这里从基础开始记录一下我学习 51 单片机开发的过程。最开始就是控制LED了xkZ办公区 - 实用经验教程分享!

51单片机基本小灯控制xkZ办公区 - 实用经验教程分享!

工具/原料

  • 51单片机开发板

方法/步骤

  • 1

    点亮一个 LED 代码:xkZ办公区 - 实用经验教程分享!

    #include "reg52.h" xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    sbit led=P0^0;xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void main()xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    while(1)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    led=1;//P0.0端口设置为低电平xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    上传到开发板中xkZ办公区 - 实用经验教程分享!

  • 2

    实验现象如下:xkZ办公区 - 实用经验教程分享!

    51单片机基本小灯控制xkZ办公区 - 实用经验教程分享!

  • 3

    1 个 发光二极管闪烁实验代码:xkZ办公区 - 实用经验教程分享!

    #include reg52.h>xkZ办公区 - 实用经验教程分享!

    #define uchar unsigned charxkZ办公区 - 实用经验教程分享!

    #define uint unsigned intxkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    sbit LED = P1^0;xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void DelayMS(uint xms)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    uint i,j;xkZ办公区 - 实用经验教程分享!

    for(i=xms;i>0;i--)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    for(j=110;j>0;j--);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void main()xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    while(1)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    LED = ~LED;xkZ办公区 - 实用经验教程分享!

    DelayMS(500);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    上传到开发板中xkZ办公区 - 实用经验教程分享!

  • 4

    实验现象如下:xkZ办公区 - 实用经验教程分享!

  • 4此文章未经许可获取自百度经验
  • 5

    流水点亮 LED 代码编辑:xkZ办公区 - 实用经验教程分享!

    #include reg52.h>xkZ办公区 - 实用经验教程分享!

    #include intrins.h>xkZ办公区 - 实用经验教程分享!

    #define uchar unsigned charxkZ办公区 - 实用经验教程分享!

    #define uint unsigned intxkZ办公区 - 实用经验教程分享!

    uint x;xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void delayms(uint xms)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    uint i,j;xkZ办公区 - 实用经验教程分享!

    for(i=xms;i>0;i--)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    for(j=110;j>0;j--);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void main()xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    x = 0x01;xkZ办公区 - 实用经验教程分享!

    while(1)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    P0 = x;xkZ办公区 - 实用经验教程分享!

    delayms(500);xkZ办公区 - 实用经验教程分享!

    x = _crol_(x,1);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    上传到51开发板中xkZ办公区 - 实用经验教程分享!

  • 6

    左右循环点亮 LED 代码编辑:xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    #include reg52.h>xkZ办公区 - 实用经验教程分享!

    #include intrins.h>xkZ办公区 - 实用经验教程分享!

    #define uchar unsigned charxkZ办公区 - 实用经验教程分享!

    #define uint unsigned intxkZ办公区 - 实用经验教程分享!

    uchar aa;xkZ办公区 - 实用经验教程分享!

    void delayms(uint xms)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    uint i,j;xkZ办公区 - 实用经验教程分享!

    for(i=xms;i>0;i--)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    for(j=110;j>0;j--);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    void main()xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    uint k;xkZ办公区 - 实用经验教程分享!

    P0 = 0x01;xkZ办公区 - 实用经验教程分享!

    delayms(500);xkZ办公区 - 实用经验教程分享!

    xkZ办公区 - 实用经验教程分享!

    while(1)xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    for(k=0;k7;k )xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    delayms(500);xkZ办公区 - 实用经验教程分享!

    P0 = _crol_(P0,1);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    for(k=0;k7;k )xkZ办公区 - 实用经验教程分享!

    {xkZ办公区 - 实用经验教程分享!

    delayms(500);xkZ办公区 - 实用经验教程分享!

    P0 = _cror_(P0,1);xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    }xkZ办公区 - 实用经验教程分享!

    上传到开发板中xkZ办公区 - 实用经验教程分享!

  • 7

    实验效果如下:xkZ办公区 - 实用经验教程分享!

  • 注意事项

    • 简单的 LED 控制,应该还有更多的花样,大家一起做起来吧~
    • 希望经验可以帮到您,也希望您能帮我点个赞,谢谢

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!xkZ办公区 - 实用经验教程分享!


    标签: 硬件基本控制

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号