女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 單片機 > 單片機
[導讀]新建一個工程,結(jié)構(gòu)如下圖所示:timer.h文件和timer.c文件用上一節(jié)的。在timer.h中增加兩個變量和兩個函數(shù)的聲明,如下所示:#ifndef __NXPLPC11xx_TIME_H__#define __NXPLPC11xx_TIME_H__extern uint16_t cycle;ext

新建一個工程,結(jié)構(gòu)如下圖所示:

timer.h文件和timer.c文件用上一節(jié)的。

在timer.h中增加兩個變量和兩個函數(shù)的聲明,如下所示:

#ifndef __NXPLPC11xx_TIME_H__

#define __NXPLPC11xx_TIME_H__

extern uint16_t cycle;

extern uint8_t duty;

extern void T16B0_init(void);

extern void T16B0_delay_ms(uint16_t ms);

extern void T16B0_delay_us(uint16_t us);

extern void T16B0_cnt_init(void);

extern void T16B0_CAP_Init(void);

extern void T16B0M0_PWM_Init(void);

extern void T16B0M0_PWM_SET(void);

#endif

在timer.c文件中,加入兩個變量和兩個函數(shù):

uint16_t cycle; // 周期,單位微秒

uint8_t duty; // 占空比,范圍1~99

void T16B0M0_PWM_Init(void)

{

if((duty>=100)&&(duty<=0))return;//如果占空比值不是1~99中的數(shù),退出函數(shù)

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7); //使能TIM16B0時鐘

LPC_SYSCON->SYSAHBCLKCTRL |= (1<<16); // 使能IOCON時鐘

LPC_IOCON->PIO0.8 &= ~0x07;

LPC_IOCON->PIO0_8 |= 0x02; //把P0.8腳設(shè)置為MAT0

LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<<16); // 禁能IOCON時鐘

LPC_TMR16B0->TCR = 0x02; //復(fù)位定時器(bit1:寫1復(fù)位)

LPC_TMR16B0->PR = SystemCoreClock/1000000-1; //1微秒TC+1

LPC_TMR16B0->PWMC= 0x01; //設(shè)置MAT0為PWM輸出引腳

LPC_TMR16B0->MCR = 0x02<<9; //設(shè)置MR3匹配時復(fù)位TC,也就是把MR3當做周期寄存器

LPC_TMR16B0->MR3 = cycle; //設(shè)置周期

LPC_TMR16B0->MR0 = cycle/100*(100-duty); //設(shè)置占空比

LPC_TMR16B0->TCR = 0x01; //啟動定時器

}

void T16B0M0_PWM_SET(void)

{

if((duty>=100)&&(duty<=0))return;//如果占空比值不是1~99中的數(shù),退出函數(shù)

LPC_TMR16B0->MR0 = cycle/100*(100-duty); //設(shè)置占空比

}

第1~2行,定義兩個變量,分別是周期和占空比,周期單位是微秒,因為在接下來的PWM初始化函數(shù)里面,將要設(shè)置TC遞增的時間為1微秒。

第3~18行,定義了一個PWM初始化函數(shù),設(shè)置PWM輸出引腳為P0.8腳。

第14行,設(shè)置MR3為周期寄存器。

第15行,寫入周期

第16行,寫入占空比值。

第19~23行是PWM占空比設(shè)置函數(shù)

第22行,輸入占空比值

在main.c文件中,輸入以下代碼:

#include “l(fā)pc11xx.h”

#include “timer.h”

void delay_ms(uint16_t ms)

{

uint16_t i,j;

for(i=0;i<5000;i++)

for(j=0;j

}

int main()

{

cycle = 10000;

duty = 99;

T16B0M0_PWM_Init();

while(1)

{

delay_ms(50);

if(duty<50)duty=99;

T16B0M0_PWM_SET();

duty–;

}

}

主函數(shù),定義了周期10000微秒,即100Hz,初始占空比99,然后,在while循環(huán)里面,間隔50毫秒改一次占空比,占空比從99~50循環(huán)變化。

拿示波器,在P0.8引腳上,可以看到100Hz的信號,占空比從99到50不斷循環(huán)變化。

沒有示波器,可以把P0.8引腳與連接LED的引腳相連,就可以看到LED燈亮度的變化。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

pwm控制的基本原理隨著電力需求的不斷增加,電源管理技術(shù)愈加重要。開關(guān)電源作為一種高效能、可靠性高的電源,找到廣泛的應(yīng)用。

關(guān)鍵字: pwm 控制 電源

在這篇文章中,小編將對pwm的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: pwm 脈沖寬度調(diào)制

在下述的內(nèi)容中,小編將會對PWM控制器的相關(guān)消息予以報道,如果PWM控制器是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: pwm 控制器 pwm控制器

在下述的內(nèi)容中,小編將會對PWM的相關(guān)消息予以報道,如果PWM是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: pwm 變換器

在這篇文章中,小編將為大家?guī)鞵WM變換器的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: pwm 變換器 pwm變換器

pwm控制器將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對pwm控制器的相關(guān)情況以及信息有所認識和了解,詳細內(nèi)容如下。

關(guān)鍵字: pwm 控制器 mppt

今天,小編將在這篇文章中為大家?guī)韕wm控制器的有關(guān)報道,通過閱讀這篇文章,大家可以對pwm控制器具備清晰的認識,主要內(nèi)容如下。

關(guān)鍵字: pwm 控制器 mppt

CPU風扇轉(zhuǎn)速調(diào)節(jié)很很多方法,其中有一種就是設(shè)置PWM斜率值,這是一種脈沖寬度調(diào)制方法,該操作需要在UEFI BIOS中設(shè)置,若是用戶并未使用過PWM值,可以看看下文了解主板風扇PWM調(diào)速設(shè)置過程。

關(guān)鍵字: pwm 調(diào)節(jié)

隨著電子技術(shù)的發(fā)展,出現(xiàn)了多種PWM技術(shù),其中包括:相電壓控制PWM、脈寬PWM法、隨機PWM、SPWM法、線電壓控制PWM等,而在鎳氫電池智能充電器中采用的脈寬PWM法,它是把每一脈沖寬度均相等的脈沖列作為PWM波形,...

關(guān)鍵字: pwm 解析

PWM調(diào)光是什么

關(guān)鍵字: pwm 正弦半波
關(guān)閉