51单片机——LED模块

server/2025/1/7 15:08:31/

LED模块中有8盏灯,从左到右为D1,D2,...,D8

8盏灯以二进制存储在单片机中,它们共同组成一个二进制

0     0     0    0    0     0     0    0

---------------------------------------------- 

D8  D7  D6  D5  D4  D3  D2  D1

即0位表示D1,1位表示D2,...,7位表示D8

P2端口控制LED模块

1、点亮第一个LED

#include "reg52.h"  //"reg52.h"单片机>51单片机的头文件
sbit LED1=P2^0;  //sbit:数据类型
                             //P一定为大写,将P2.0管脚定义为LED1
                             //P2.0管脚默认是高电平(逻辑1)
void main(){
    LED1=0;  //LED1端口设置为低电平(逻辑0)
    while(1){  //在单片机>51单片机程序开发中,main函数内通常都会有一个while循环,
                    //在循环体内不断执行我们所要实现的功能
        
    }
}

2、LED 闪烁实验 

 #include "reg52.h"
sbit LED1=P2^0;
typedef unsigned char u8;  //0-255
typedef unsigned int u16;  //0-65535
//当传入ten_us=1时,大约延时10us
void delay_10us(u16 ten_us){
    while(ten_us--);
}
//D1指示灯先亮一会后熄灭
void main(){
    while(1){
        LED1=0;  //亮
        delay_10us(50000);  //大约500ms
        LED1=1;  //熄灭
        delay_10us(50000);
    }
}

        在单片机>51单片机中最常使用unsigned int和unsigned char,其他数据类型不常使用

 3、流水灯实验

        使用移位和循环实现

 #include "reg51.h"
#include "intrins.h"
#define LED_PORT P2  //使用宏定义P2端口
typedef unsigned char u8;
typedef unsigned int u16;
void delay_10us(u16 ten_us){
    while(ten_us--);
}
/*
使用前引入"intrins.h"头文件
    左移函数:_crol_(LED_PORT,1) 
    右移函数:_cror_(LED_PORT,1)
*/
void main(){
    u16 i=0;
    while(1){
        LED_PORT=0XFE;  //1111 1110
        delay_10us(50000);
        //8盏灯
        for(i=0;i<7;i++){
            //左移
            LED_PORT=_crol_(LED_PORT,1);
            delay_10us(50000);
        }
        for(i=0;i<7;i++){
            //右移
            LED_PORT=_cror_(LED_PORT,1);
            delay_10us(50000);
        }
    }
}


http://www.ppmy.cn/server/155779.html

相关文章

python的urllib模块和http模块

1.python的urllib库用于操作网页&#xff0c;并对网页内容进行处理 urllib包有如下模块&#xff1a; urllib.request&#xff1a;打开和读取URL urllib.error&#xff1a; 包含urllib.request抛出的异常 urllib.parse&#xff1a; 解析URL urllib.robotparser&#xff1…

TT100K数据集, YOLO格式, COCO格式

TT100K交通标志数据集, 标签txt&#xff0c;图像已经分好了测试集&#xff0c;验证集&#xff0c;训练集 1️⃣可以直接导入YOLO进行训练&#xff0c;没有细分类&#xff0c;里面有的类&#xff0c; 闲鱼9.9 解君愁 &#xff0c;明人不说暗话 https://m.tb.cn/h.T7Ossey?tk…

fastadmin 表格数据导入

记录&#xff1a;fastadmin 表格数据导入 php代码 在Backend.php文件中增加读取文件数据并返回代码 /*** 读取文件数据并返回* return array*/protected function readFile($file){ if (!$file) {$this->error(__(Parameter %s can not be empty, file));}$filePath …

windows remote desktop service 远程桌面RDS授权激活

windows remote desktop service 远程桌面RDS授权激活 功能介绍&#xff1a;操作步骤&#xff1a;1、添加远程桌面授权服务2、添加远程桌面授权许可 功能介绍&#xff1a; 本文以 windows Server 2016为例&#xff0c;系统默认远程桌面连接数是2个用户&#xff0c;如果多余两个…

智能边缘计算×软硬件一体化:开启全场景效能革命新征程(独立开发者作品)

边缘智能技术快速迭代&#xff0c;并与行业深度融合。它正重塑产业格局&#xff0c;催生新产品、新体验&#xff0c;带动终端需求增长。为促进边缘智能技术的进步与发展&#xff0c;拓展开发者的思路与能力&#xff0c;挖掘边缘智能应用的创新与潜能&#xff0c;高通技术公司联…

深入浅出:Java 抽象类与接口

前言 Java 是一种面向对象的编程语言&#xff0c;其中 抽象类 和 接口 是实现多态和设计模式中的重要工具。它们在编程中具有重要的地位&#xff0c;能够有效提高代码的灵活性和可维护性。尽管它们有一些相似之处&#xff0c;但在语法和应用场景上存在许多不同点。本博客将深入…

Spring源码分析之事件机制——观察者模式(三)

目录 自定义事件 事件监听器 事件发布者&#xff08;服务层&#xff09; 使用示例controller层 Spring源码分析之事件机制——观察者模式&#xff08;一&#xff09;-CSDN博客 Spring源码分析之事件机制——观察者模式&#xff08;二&#xff09;-CSDN博客 这两篇文章是这…

啤酒风味塑造的关键因素——麦汁煮沸

在探索啤酒酿造的工艺过程中&#xff0c;我们发现每一个细微的步骤都对最终的口感和风味产生着不可忽视的影响。今天&#xff0c;让我们深入探讨一个关键环节——麦汁煮沸&#xff0c;以及其中至关重要的概念“煮沸强度”。 何谓煮沸强度&#xff1f;它又如何左右麦汁的品质&a…