单片机-c语言LED灯循环闪烁

这篇具有很好参考价值的文章主要介绍了单片机-c语言LED灯循环闪烁。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.keil写代码


1.1一灯循环

#include "reg52.h"  //连接库
​
//相当于给unsigned char重命名0-255
typedef unsigned charu8;   
typedef unsigned intu16;//0-65535
​
sbit LED1 = P2^0;   //相当于给p2.0重命名成LED1
​
//void无返回值函数 delay_10us函数名 u16数据类型 ten_us形参
void delay_10us(u16 ten_us) 
{
    while(ten_us--);    //当括号内值为0时截止
}
​
void main() //函数运行入口
{
    while(1)    //一直为真,必循环
    {
        LED1=0;   //低电平点亮
        delay_10us(50000);//调用函数进行拖延时间450ms
        LED1=1;   //高电平不亮
        delay_10us(50000);
    }
}

1.2for循环实现八个依次亮

#include "reg52.h"
​
typedef unsigned charu8;
typedef unsigned intu16;
​
#define LED_PORT    P2  //使用宏定义将P2端口定义(重命名)
​
void delay_10us(u16ten_us)
{
    while(ten_us--);
}
​
void main()
{
    u8i=0;
    
    while(1)
    {
        for(i=0;i<8;i++)
        {
            //i=0,D1亮(0000 0001);i=1,D2亮(0000 0010)
            LED_PORT=~(0x01<<i);    //~为0、1取反 0x为16进制+高四位+第四位 <<代表向左移i位
            //LED_PORT=~(0xfe<<i);不对,因为 1111 1110->1111 1100低位补0???
            delay_10us(50000); 
        }
    }
}
单片机led灯闪烁编程,51单片机,c语言,51单片机,proteus,Powered by 金山文档

1.3使用intrins.h库函数实现

#include "reg52.h"
#include "intrins.h"    //导入库函数
​
typedef unsigned charu8;
typedef unsigned intu16;
​
#define LED_PORT    P2  //
​
void delay_10us(u16ten_us)
{
    while(ten_us--);
}
​
void main()
{
    u8i=0;
    LED_PORT=~0x01;   //使LED低电平有效
    
    while(1)
    {
        
        for(i=0;i<7;i++)
        {
            LED_PORT=_crol_(LED_PORT,1);    //_crol_左移函数
            delay_10us(50000); 
            
        }
        for(i=0;i<7;i++)
        {
            LED_PORT=_cror_(LED_PORT,1);    //_cror_右移动一位
            delay_10us(50000); 
            
        }
    }
}

2.proteus画成果图


单片机led灯闪烁编程,51单片机,c语言,51单片机,proteus,Powered by 金山文档

(连接完电路后,双击单片机,在programfiles中导入keil代码生成的 .HEX文件即可)文章来源地址https://www.toymoban.com/news/detail-740217.html

我的自学笔记,如有不妥请指正

到了这里,关于单片机-c语言LED灯循环闪烁的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机点亮LED灯以及实现2盏LED灯的交替闪烁

    点亮LED灯,根据单片机原理图 将LED灯1和LED灯2介入单片机的口设为低电平即可 代码如下: #include “reg52.h” sbit led1= P3^7; void main() { led1 = 0;//给led1一个低电平,点亮 } 结果图: 图中有一盏LED灯为我这个51单片机自带的电源接通灯,被代码点亮的只有一盏 实现2盏LED灯的交替闪烁

    2024年02月07日
    浏览(38)
  • 51单片机——一个独立按键控制LED的闪烁和熄灭

    目录 一、要求 二、实现 三、总结 消除按键的机械抖动         当按下按键,LED灯闪烁,再按下,LED熄灭。。。。循环操作。         编译环境:keil4         单片机:STC89c516RD 消除按键的机械抖动         按键的机械抖动会影响单片机对按键按下次数的判断。消除抖动的

    2024年02月07日
    浏览(44)
  • STM32/51单片机编程入门(点亮LED)

    目录 一、Proteus电路仿真软件上的C51程序设计及仿真 1.原理图绘制 2.Keil5上的51程序编写 3.仿真 二、安装mdk5软件和stm32包,完成一个stm32的简单程序 1.mdk5软件中编写程序 2.stm32仿真程序调试 三、STM32F103系列芯片的地址映射和寄存器映射原理,GPIO端口的初始化设置的一般步骤

    2024年02月02日
    浏览(56)
  • 单片机C语言实例:1、点亮LED的多种方法

    不管学习什么单片机,通常点灯是迈入编程的第一步,点灯虽然简单,但是玩出花样来,需要的知识点还是不少的,本文归纳了15种点灯方式,看看自己会几种,看看是否能帮到努力点灯的工程师们。 程序实例1: 程序实例2: 程序实例3: 程序实例4: 程序实例5: 程序实例

    2024年02月09日
    浏览(35)
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯

      前言:感谢您的关注哦,我会持续更新编程相关知识,愿您在这里有所收获。如果有任何问题,欢迎沟通交流!期待与您在学习编程的道路上共同进步。       目录 一.  延时函数的生成  1.通过延时计算器得到延时函数  2.可赋值改变的延时函数  二.  LED模块编写原理 

    2024年02月19日
    浏览(43)
  • 51单片机 82C55扩展控制8个LED,单片机扩展一片82C55可编程并行I/O芯片,实现数字量的输入/输出:8个输入开关分别控制8个输出LED。

    目录 题目: 分析题目: Proteus仿真:  代码: 82c55工作方式: 代码解析: 单片机扩展一片82C55可编程并行I/O芯片,实现数字量的输入/输出:8个输入开关分别控制8个输出LED。                  82C55—可编程的通用并行接口电路(3个8位I/O口) 由题可知,我们可以将82c55的

    2024年02月09日
    浏览(45)
  • 单片机-LED介绍

    LED 即发光二极管。它具有单向导电性,通过 5mA 左右电流即可发光 电流 越大,其亮度越强,但若电流过大,会烧毁二极管,一般我们控制在 3 mA-20mA 之间,通常我们会在 LED 管脚上串联一个电阻,目的就是为了限制通过发光二极 管的电流不要太大,因此这些电阻又可以称为“

    2024年02月09日
    浏览(53)
  • 【51单片机】LED 点阵

    参考:普中 51 单片机开发攻略 第13章 mian.c

    2024年01月22日
    浏览(41)
  • 51单片机点亮LED灯

    目录 前言 一、点亮一个LED 二、LED闪烁 三、LED流水灯 四、独立按键控制LED 独立按键控制LED亮灭 独立按键控制LED状态 独立按键控制LED以二进制形式显示 独立按键控制LED状态循环移位 总结           嵌入式学习的入门就是点亮LED灯,就好比学习编程语言敲 “Hello world”

    2024年02月06日
    浏览(40)
  • 51单片机LED点阵屏

    LED点阵屏是一种由许多小型LED灯组成的矩阵式显示屏。这些LED灯可以是单色、双色或全彩的,它们排列成行和列的网格,可以根据需要点亮来显示图像、文字或动画等内容。LED点阵屏广泛应用于户外广告牌、室内显示、交通信号灯、电子价格标签和其他需要显示信息的场合。

    2024年01月23日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包