女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

PWM驅(qū)動LED實(shí)現(xiàn)呼吸燈效果

華仔的編程隨筆 ? 來源:華仔stm32 ? 作者:華仔stm32 ? 2023-04-24 15:29 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目的

利用pwm實(shí)現(xiàn)呼吸為燈效果

實(shí)驗(yàn)環(huán)境

TBK-RD8T3x開發(fā)板

TBK-RD8T3x開發(fā)板.png

實(shí)現(xiàn)原理

RD8T37單片機(jī)最多提供 14 路 PWM,這 14路 PWM 分為兩類:多功能 PWM:共8路,只有一組,即 PWM0,輸出信號口為: PWM0 0~07。

我們只需要修改PWM0的占空比就可以實(shí)現(xiàn)LED燈的亮度。

實(shí)現(xiàn)步驟

1、在keil工程加入rd8_pwm.c

image.png

2、根據(jù)數(shù)據(jù)手冊與原理圖,我這里選用P42為PWM輸出:

image.png

image.png

3、初始化PWM0通道5

/*****************************************************
*函數(shù)名稱: SC_PWM0_Init
*函數(shù)功能: PWM0初始化函數(shù)
*入口參數(shù):void
*出口參數(shù):void 
*****************************************************/
void SC_PWM0_Init(void)
{
	/*PWM0獨(dú)立模式*/PWM_Init(PWM0_PRESSEL_FHRC_D1,255);
	/*PWM00 獨(dú)立模式*/PWM_IndependentModeConfigEX(PWM05,0, PWM_OUTPUTSTATE_ENABLE);
	/*PWM0*/PWM_Aligned_Mode_Select(PWM0_Edge_Aligned_Mode);
	/*PWM0*/PWM_FaultDetectionConfigEX(PWM0_Type,DISABLE);
	/*PWM0*/PWM_FaultDetectionModeConfigEX(PWM0_Type,PWM0_Immediate_Mode,PWM0_FaultDetectionVoltage_Low,PWM0_WaveFilteringTime_0us);
	/*PWM0中斷使能*/PWM_ITConfigEX(PWM0_Type,DISABLE,LOW);
	/*PWM0開關(guān)*/PWM_CmdEX(PWM0_Type,ENABLE);
	/*PWM0_Init write here*/	
}

4、動態(tài)修改占空比的函數(shù)為:

PWM_IndependentModeConfig(PWM05,pwm_num);

5、為了達(dá)到非阻塞式的動態(tài)修改占空比,以達(dá)到實(shí)現(xiàn)呼吸燈的效果,我附了main.c的代碼如下:

#include "rd8.h"
#include "rd8_pwm.h"

uint8_t sta;

uint32_t count = 0;


void LED_Init(void)
{
	P3CON |= 0x1E; //P3 0b0001 1110 輸出
	P4CON |= 0x0F; //P4 0b0000 1111
}

void Timer0Iint(void)
{
	TMOD |= 0x01;  // 配置定時器0為 16位定時器,  TH0、TL0全用 
	TH0 =(65536-1000)/256;   //1000us定時,即1毫秒溢出產(chǎn)生中斷
	TL0 =(65536-1000)%256;  //1000us定時,即1毫秒溢出產(chǎn)生中斷
	ET0 = 1;									//開啟定時器0中斷
	EA = 1;										//開啟全局中斷
	TR0 = 1;									//定時器0開始計(jì)數(shù);
}

/*****************************************************
*函數(shù)名稱: SC_PWM0_Init
*函數(shù)功能: PWM0初始化函數(shù)
*入口參數(shù):void
*出口參數(shù):void 
*****************************************************/
void SC_PWM0_Init(void)
{
	/*PWM0獨(dú)立模式*/PWM_Init(PWM0_PRESSEL_FHRC_D1,255);
	/*PWM00 獨(dú)立模式*/PWM_IndependentModeConfigEX(PWM05,0, PWM_OUTPUTSTATE_ENABLE);
	/*PWM0*/PWM_Aligned_Mode_Select(PWM0_Edge_Aligned_Mode);
	/*PWM0*/PWM_FaultDetectionConfigEX(PWM0_Type,DISABLE);
	/*PWM0*/PWM_FaultDetectionModeConfigEX(PWM0_Type,PWM0_Immediate_Mode,PWM0_FaultDetectionVoltage_Low,PWM0_WaveFilteringTime_0us);
	/*PWM0中斷使能*/PWM_ITConfigEX(PWM0_Type,DISABLE,LOW);
	/*PWM0開關(guān)*/PWM_CmdEX(PWM0_Type,ENABLE);
	/*PWM0_Init write here*/	
}


void main(void)
{
	//LED_Init();
	uint8_t pwm_num;
	uint8_t f;
	SC_PWM0_Init();
	Timer0Iint();
	
	f=0;
	pwm_num = 0;
	while(1)
	{
		if(sta ==1)
		{
			sta = 0;
			if(f ==0)
			{
				pwm_num++;
				PWM_IndependentModeConfig(PWM05,pwm_num);
			}
			else if (f ==1)
			{
				pwm_num--;
				PWM_IndependentModeConfig(PWM05,pwm_num);
			}
			
			if(pwm_num == 255)
			{
				f = 1;
			}
			else if(pwm_num == 0)
			{
				f = 0;
			}
				
		}
		
	}
}

void Timer0() interrupt 1
{
	//每次產(chǎn)生中斷后初始化定時器初值, 1ms秒產(chǎn)生1次中斷
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
	count ++;
	if(count == 10)
	{
		sta =1;
		count = 0;
	}
	
}

實(shí)現(xiàn)效果

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23840

    瀏覽量

    673959
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5507

    瀏覽量

    219355
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    112

    瀏覽量

    43221
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用單片機(jī)驅(qū)動多組LED實(shí)現(xiàn)呼吸效果電路

    各位大佬,請教下,當(dāng)前我需要使用單片機(jī)驅(qū)動控制20路并聯(lián)LED,需要PWM驅(qū)動實(shí)現(xiàn)
    發(fā)表于 04-11 14:24

    單片機(jī)來控制LED實(shí)現(xiàn)呼吸效果

    如題控制LED實(shí)現(xiàn)呼吸效果,是什么原理呢?哪位大神做過。分享下經(jīng)驗(yàn)呀
    發(fā)表于 03-14 17:37

    PWM實(shí)現(xiàn)呼吸效果

    ){ analogWrite(11,a); delay(8);//當(dāng)前亮度的維持的時間,單位毫秒 }delay(800);//完成一個循環(huán)后等待的時間,單位毫秒}很簡單很簡單的幾句代碼就能實(shí)現(xiàn)呼吸~然后,我們將程序下載到Ard
    發(fā)表于 07-20 15:03

    基于CPLD/FPGA的呼吸效果實(shí)現(xiàn)_呼吸源碼_明德?lián)P資料

    特效呼吸1功能概述顧名思義,特效呼吸是指在電路控制之下,LED燈光完成由滅到亮、由亮到滅的逐漸變化,感覺像是在
    發(fā)表于 08-02 18:03

    使用PWM控制LED實(shí)現(xiàn)呼吸效果

    , then set pwm value to highpwm_r elsepwm_r endend那么如何實(shí)現(xiàn)呼吸效果呢?我們知道
    發(fā)表于 01-06 17:43

    使用PWM控制LED實(shí)現(xiàn)呼吸效果

    本文主要講解使用PWM控制LED實(shí)現(xiàn)呼吸效果
    發(fā)表于 01-26 07:36

    用漸變的PWM信號實(shí)現(xiàn)LED呼吸的方法

    項(xiàng)目描述:用漸變的PWM信號實(shí)現(xiàn)LED呼吸LED由暗逐漸變亮,再由亮逐漸變暗循環(huán)。C語言代
    發(fā)表于 11-18 07:21

    如何用LED實(shí)現(xiàn)呼吸的功能

    一、概述玩過單片機(jī)的基本都做過用LED實(shí)現(xiàn)呼吸的功能,但是只要認(rèn)真觀察,會發(fā)現(xiàn)LED的亮度變
    發(fā)表于 01-21 08:09

    如何通過定時器產(chǎn)生PWM波控制LED實(shí)現(xiàn)呼吸效果

    如何通過定時器產(chǎn)生PWM波控制LED實(shí)現(xiàn)呼吸效果
    發(fā)表于 01-25 07:22

    請問一下STM32 PWM是如何去實(shí)現(xiàn)呼吸設(shè)計(jì)的

    STM32 PWM實(shí)現(xiàn)呼吸使用STM32F103ZET6 定時器4 CH2通道產(chǎn)生PWM波,在GPIOD,GPIO_PIN13引腳
    發(fā)表于 02-21 07:30

    【Banana PI Leaf S3開發(fā)板試用體驗(yàn)】PWM 調(diào)節(jié)LED呼吸效果

    在BPI-Leaf-S3開發(fā)板上要實(shí)現(xiàn)呼吸效果非常容易,只需幾個簡單的函數(shù)調(diào)用即可。由于開發(fā)板上配置的是全彩LED
    發(fā)表于 10-19 12:28

    使用PWM控制LED實(shí)現(xiàn)呼吸效果

    本文主要講解使用PWM控制LED實(shí)現(xiàn)呼吸效果
    的頭像 發(fā)表于 02-08 17:50 ?1.5w次閱讀
    使用<b class='flag-5'>PWM</b>控制<b class='flag-5'>LED</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的<b class='flag-5'>效果</b>

    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十章 PWM呼吸實(shí)驗(yàn)

    本文主要講解使用PWM控制LED實(shí)現(xiàn)呼吸效果
    發(fā)表于 01-26 08:27 ?1次下載
    【ZYNQ Ultrascale+ MPSOC FPGA教程】第十章 <b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)驗(yàn)

    STM32 使用PWM實(shí)現(xiàn)呼吸

    STM32 PWM實(shí)現(xiàn)呼吸使用STM32F103ZET6 定時器4 CH2通道產(chǎn)生PWM波,在GPIOD,GPIO_PIN13引腳
    發(fā)表于 12-24 19:41 ?55次下載
    STM32 使用<b class='flag-5'>PWM</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32G0開發(fā)筆記:用PWM實(shí)現(xiàn)LED呼吸效果

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面使用PWM實(shí)現(xiàn)LED呼吸
    的頭像 發(fā)表于 01-16 15:15 ?2778次閱讀
    STM32G0開發(fā)筆記:用<b class='flag-5'>PWM</b>來<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>LED</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b><b class='flag-5'>效果</b>