用单片机控制LED灯(项目)

发布者:HeavenlyWonder最新更新时间:2024-08-14 来源: cnblogs关键字:单片机控制  LED灯 手机看文章 扫描二维码
随时随地手机看文章

#include

#define uchar unsigned char

sbit LED_RED = P2^0;

sbit LED_GREEN = P2^1;

sbit LED_BLUE = P2^2;


//要显示的颜色值

uchar COLOR_RED = 0xff;

uchar COLOR_GREEN = 0xcc;

uchar COLOR_BLUE = 0x33;


uchar i = 0;


//初始化定时器,用于控制PWM

void Init_INT0(){

    TMOD = 0x02;//工作方式2,8位自动装置定时器

    TH0 = 0xf0;

    TL0 = TH0;

    ET0 = 1;

    EA = 1;

    TR0 = 1;

}


void main(){

    Init_INT0();

    while(1);

}


void INT0_Resolve() interrupt 1{

    //i的值从0-255循环,当i到达255时,i++的结果为0

    i++;


    //红色LED的PWM波形

    if(i < COLOR_RED){

        LED_RED = 1;

    }else{

        LED_RED = 0;

    }

    //绿色LED的PWM波形

    if(i < COLOR_GREEN){

        LED_GREEN = 1;

    }else{

        LED_GREEN = 0;

    }

    //蓝色LED的PWM波形

    if(i < COLOR_BLUE){

        LED_BLUE = 1;

    }else{

        LED_BLUE = 0;

    }

}


关键字:单片机控制  LED灯 引用地址:用单片机控制LED灯(项目)

上一篇:基于AT89C51单片机烟雾传感器
下一篇:单片机中断寄存器知识点总结

推荐阅读最新更新时间:2026-03-25 10:34

MSP430单片机控制IO口操作-LED灯闪烁
//******************************************************************************* // D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率 // // 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或 来取反 P1.5;软件循环延时 // ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k // // MSP430F13x // ----------------- // /|| XIN|- // | | | // --|RST XOUT|- // | | // | P1.5|-- LE
[单片机]
MSP430单片机控制IO口操作-LED灯闪烁
//******************************************************************************* // D13x Demo - 在上一节基础上改变系统时钟,观察LED灯的闪烁频率 // // 描述:通过改变系统时钟,来改变闪烁频率;通过 P1 异或 来取反 P1.5;软件循环延时 // ACLK= n/a, MCLK= SMCLK= default DCO ~ 800k // // MSP430F13x // ----------------- // /|\| XIN|- // | | | // --|RST XOUT|- // | | // | P1.5|-- L
[单片机]
单片机控制三盏LED灯亮灭的程序
**************************控制要求***************************** 按下p1.0一次 LED1 亮 ,再按一次 LED1 LED2 亮 , 再按一次 LED1 LED2 LED3 亮 ,再按一次 三盏全部熄灭。 #include reg52.h #define uchar unsigned char #define uint unsigned int uchar num; sbit p10=P1^0; /*按键*/ sbit p01=P0^1; /*LED1*/ sbit p02=P0^2; /*LED2*/ sbit p03=P0^3; /*LED3*/ void
[单片机]
51单片机day4——外部中断控制LED灯亮灭
/*** *外部中断——外部中断0和外部中断1控制LED小灯 *接口: * LED1-2接单片机P2^0-P2^2管脚 * 独立按键K1接单片机P3^2口(单片机外部中断0在P3^2口) * 独立按键K2接单片机P3^3口(单片机外部中断1在P3^3口) *原理: * 1.在设置好TCON(IT0/1=0/1)寄存器,IE寄存器后当设定的外部中断电平被拉低时会执行中断程序,中断程序执行完毕后回到原程序执行处继续执行 * 2.外部中断TCON设置:IT0/1=0(低电平触发:持续低电平则一直持续触发中断)/1(负跳沿触发:电平被拉低后执行中断程序,中断程序执行完毕后返回之前程序运行到的位置) *思路: * 1.LED2和
[单片机]
基于STM32F103精灵开发板点亮LED灯实战教程:以PA0为例
一、引言 在嵌入式开发领域,STM32系列单片机凭借其强大的性能和丰富的外设深受开发者喜爱。普中STM32 – F103 – 精灵开发板是初学者入门STM32开发的优质选择。点亮LED是STM32开发中最基础的实验之一,通过这个实验,我们可以熟悉开发板的GPIO(通用输入输出)功能,为后续更复杂的项目开发奠定基础。本文将详细介绍如何在上电后点亮连接在PA0引脚上的LED。 二、硬件连接原理 在普中STM32 – F103 – 精灵开发板上,LED的点亮原理基于GPIO端口的电平控制。一般来说,LED的阳极连接到开发板的电源(如3.3V),阴极通过限流电阻连接到STM32的GPIO引脚(这里是PA0) 。当PA0引脚输出低电平时
[单片机]
基于STM32F103精灵开发板点亮<font color='red'>LED灯</font>实战教程:以PA0为例
51单片机矩形按键控制16个LED灯亮灭和数码管显示?
电路原理图 程序 #include reg51.h #define uint unsigned int #define uchar unsigned char //函数声明 void delay(uint time); //延时函数 void display(uchar k); //数码管显示0-F以及LED灯的亮灭 uchar getKey(); //读取键盘的数值 //主程序 void main(){ uchar keyValue; while(1){ keyValue = getKey(); //读取键盘值 display(keyValue); //数码管显示 LED亮灭 } } void d
[单片机]
51单片机学习(1)-led灯
第一次实验目的:将八个led灯按照1 3 5 7 2 4 6 8 的顺序间隔一定时间循环跑起来 实验材料:天祥电子的TX-1C单片机 开发软件:keil4 烧录软件:STC-ISP 关键点: 1 发光二极管。具有单向导电性,一般通过3-20mA的电流就可以使得其发光,为了防止被烧毁,通常会串联一个电阻来控制电流; 2 74HC573锁存器。发光二极管通过74HC573锁存器与单片机的P1口相连;通过引脚图和真值表可以掌握74HC573锁存器使用方法;(通常是将三态允许控制端置低电平,使之起作用;对LE锁存允许端施加高电平,输出端Q会跟随输入端D,而对LE锁存允许端施加低电平,输出端Q会保持上一次的状态不变。)
[单片机]
51单片机点亮8个LED灯
一、野生技能的问题????❓ ✨51单片机点亮8个LED灯 00:13 51单片机点亮8个LED灯 二、野生技能的看法???? ✨AT89C51 ✨BUTTON ✨CAP ✨CAP-ELEC ✨CRYSTAL ✨LED-YELLOw ✨RES ✨PESPACK-7 ✨Rx8 00:44 野生技能的看法 三、野生技能的结论???? ✨学习以上技能
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved