找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3680|回复: 1
收起左侧

51单片机做LED呼吸灯效果(含仿真电路和源程序)

[复制链接]
ID:15745 发表于 2021-10-23 17:17 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.png

单片机源程序如下:
/*****************************************
功能:51单片机做LED呼吸灯效果
*****************************************/
#include<reg52.h>

unsigned char PWM_COUNT; //计数
unsigned int HUXI_COUNT;    //占空比更新时间
unsigned char PWM_VLAUE;    //占空比比值
bit direc_flag;             //占空比更新方向标志位
sbit LED=P2^7;

void timer0_init()
{
    TMOD=0x02;          //设置模式为定时器0,工作于模式2
    TH0=0x47;               //设置定时器初值
    TL0=0X47;
    TR0=1;                  //开定时器0
    ET0=1;                  //开定时器0中断
    EA=1;                       //开总中断
    PWM_COUNT =0;
}
void time0() interrupt 1
{   
    PWM_COUNT++;
    HUXI_COUNT++;
    if(PWM_COUNT == PWM_VLAUE)      
        LED = 1;                    //点亮LED
    if(PWM_COUNT == 10)             //当前周期结束
    {
        LED = 0;                    //熄灭LED
        PWM_COUNT = 0;              //重新计时
    }
    if((HUXI_COUNT == 600) && (direc_flag == 0))
    {                               //占空比增加10%
        HUXI_COUNT = 0;
        PWM_VLAUE++;
        if(PWM_VLAUE == 9)          //占空比更改方向
            direc_flag = 1;
    }
    if((HUXI_COUNT == 600) && (direc_flag == 1))
    {                               //占空比减少10%
        HUXI_COUNT = 0;
        PWM_VLAUE--;
        if(PWM_VLAUE == 1)          //占空比更改方向
            direc_flag = 0;
    }   
}

全部资料51hei下载地址:
Proteus8.8版本工程.7z (25.68 KB, 下载次数: 60)

评分

参与人数 1黑币 +10 收起 理由
admin + 10 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:961114 发表于 2024-7-30 11:00 | 显示全部楼层
软件仿真 淘汰了 现在都是硬件USB仿真  一个芯片就完成了 STC8H8K64U
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表