国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

身價過億的賢淑才女對小碼農說PWM可以控制時間長短嗎

不知名網友 / 1375人閱讀

摘要:否則可能會導致電平顛倒完美的計數糟糕的線條再來一個測試組我們來實現一個呼吸燈的效果呼吸燈波形為了賢淑妻子,咳咳,賢淑才女,小碼農必定讓控制時間什么是脈寬調制中間動的線是電流線,電流通斷,電流小就暗,電流大就亮。


為了賢淑妻子,咳咳,賢淑才女,小碼農必定讓PWM控制時間

什么是脈寬調制 PWM

中間動的線是電流線,電流通斷,電流小就暗,電流大就亮。實際上準確的說是應該是功率線,因為導通電壓不變 電流減少一半 功率自然就是一半

PWM 脈寬調制,實質上就是電路的“導通”和“關斷”的時間比改變, 調整電壓或者電流的大小。專業術語叫“占空比”。一般來說,導通和關斷的速度要求很高。比如我們有些開關電源的工作模式,就是脈寬調制。通過調整變壓器的變壓時間,來保證輸出電流功率足夠。實現電壓穩定。

PWM影響

開關電路 影響的是電流通斷 電壓要么是0 要么最大

積分微分 運放電路 輸出結果就是影響電壓

SPWM 簡介

SPWM 是基于 PWM 規則,使輸出波形成正弦波。在 PWM 周期固定的情況下,通過調整不同的脈寬,可以輸出不同電壓,最后看起來就是一個正弦波波形。

用定時器和CPU模擬PWM輸出

新建工程

這個自己建

設置一個定時器,定時10us

void Timer0_Init(){//	AUXR &= 0x7f;//	TMOD &= 0xf0;//	TMOD |= 0x01;//	TR0 = 1;//	TH0 = 0xf8;//    TL0 = 0x30;//定時1ms		AUXR &= 0x7F;		//定時器時鐘12T模式	TMOD &= 0xF0;		//設置定時器模式	TMOD |= 0x02;		//設置定時器模式	TL0 = 0xEC;		//設置定時初值	TH0 = 0xEC;		//設置定時重載值	TF0 = 0;		//清除TF0標志	TR0 = 1;        //定時器0開始計時		ET0 = 1;}

定時器中斷服務函數里面,驅動 P2.1 腳輸出 PWM

我們把它占空比設置成百分之40 通過變量來操作

void Timer0_Routine() interrupt 1{//	//重裝初值//	TH0 = 0xf8;//    TL0 = 0x30;//定時1ms	static u8 count = 0;//count在[0,255]之間 	if(count<102)		P21 = 1;	else		P21 = 0;	count++;}

使用STC15W系列的硬件PWM功能

1.P2.1口配置IO模式 (強推挽輸出)(寫法多種看自己) P2M1 &= ~0x02;P2M0 |= 0x02;

2.PWM 寄存器是后來居上的。每次都需要先使能 P_SW2 寄存器才能寫值。寫入之后再關閉 P_SW2 P_SW2 |= 0x80; P_SW2 &= ~0x80;

3.確定 PWM3 口的初始電平狀態。PWMCFG PWMCFG = 0;

4 .設置 PWM3 時鐘來源為系統時鐘,不分頻。PWMCKS PWMCKS = 0;

5.設置 PWM3 周期 1~32767, 為 1023 。 PWMCH(7bit) 、PWMCL(8bit) PWMCH = 0x03; PWMCL = 0xff;

6 .設置 PWM3 輸出管腳選擇 P2.1 ,關閉 PWM3 的中斷申請。(PWM3CR) PWM3CR = 0x00;

7 .最后,啟動 PWM 計數模塊, PWM3 輸出腳為 PWM 信號。(PWMCR) PWMCR &= ~0x82;PWMCR |= 0x82;

void PWM_Init()//PWM初始化{		P2M1 = 0;		P2M0 = 0x02;      //強推挽		P_SW2 |= 0x80;    //允許訪問XSFR				PWMCFG = 0;       //配置PWM的輸出初始電平為低電平		PWMCKS = 0;       //選擇PWM的時鐘為Fosc		PWMCH = 0x03;     //設置PWM周期		PWMCL = 0xff;     //設置PWM周期		PWM3CR = 0x00;    //選擇PWM3輸出到P2.1,不能使能PWM2中斷		PWMCR &= ~0x82;   //使能PWM信號輸出		PWMCR |= 0x82;    //使能PWM信號輸出						P_SW2 &= ~0x80;   //關閉訪問XSFR}

8.主函數可以調用修改 PWM 的兩次 IO 口的跳變時間 T1 和 T2 。來修改占空比。修改 PWM 的參數之前,必須關閉 PWM 的輸出。否則可能會導致 PWM 電平顛倒

//PWM修改驅動void PWM_Modify_Drive(u16 data1,u16 data2){		P_SW2 |= 0x80;         //修改PWM之前需要使能P_SW2		PWMCR &= 0x7f;		   //修改之前必須先關閉PWM使能		PWMCFG = 0;            //配置PWM的輸出初始電平為低電平		PWM3T1 = data1;        //設置PWM3第一次反轉的PWM計數		PWM3T2 = data2;        //設置PWM3第二次反轉的PWM計數		PWMCR |= 0x80;         //修改之后重新允許PWM功能		P_SW2 &= ~0x80;        //寫入之后關閉P_SW2}

完美的計數

糟糕的線條

再來一個測試組

我們來實現一個呼吸燈的效果

PWM呼吸燈波形

PWM呼吸燈波形

))

//PWM數據分配void PWM_Allot(){	//設置一個PWM變量	static xdata u16 PWM = 0;	static xdata u8 count = 0;	//呼吸燈是從零到最大,從最大到零,所以來個標志變量	static bit PWM_flag = 0;	count++;	if(count > 250)	{		count = 0;		if(!PWM_flag)		{			PWM++;			if (PWM > 1020) 			{				PWM_flag = 1;								}					}		if(PWM_flag)		{			PWM--;			if(PWM<2)			{				PWM_flag = 0;					}		}		PWM_Modify_Drive(0,PWM);	}}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/125322.html

相關文章

  • 身價億的女總裁對小農說你按鍵會了

    摘要:行列總共使用個口,可以掃描個按鍵的開關狀態,這就是矩陣鍵盤的優勢。口之間必須串聯電阻。 文章目錄 小碼農為了總裁,咳咳,為了知識敢說按鍵不會嗎?==**帝都富豪與...

    Doyle 評論0 收藏0
  • 身價億的女王對小農說中斷會了

    摘要:復位后初值是子函數調用,中斷響應過程調用子函數處理中斷響應的時候,程序計數器的值以及相關數據會先壓入堆棧,然后去處理子函數中斷服務。聯動文章身家過億的帝都富豪對小碼農說你時空復雜度會了嗎 ...

    Leck1e 評論0 收藏0
  • 身價億的溫柔蘿莉對小農說ADC會采集

    摘要:對于電壓或者電流連續變化的信號,就需要通過模數轉換電路,變成單片機可以識別的數字電平信號。目前來說,常見的有兩種方式,一種是并行比較,一種是逐次比較。具有成本低元件簡單等優勢,而且容易做出高精度的轉換器,所以被廣泛使用。 ...

    gnehc 評論0 收藏0
  • 身價億的妖媚子對小農說串口能傳送我的愛?

    摘要:目前,所有型號串口的輸入是輸出是。串口全雙工通信是沒有時鐘脈沖的,只能依靠晶振脈沖定時器的溢出脈沖。中斷中讀取,清標志,然后返回給計算機,等待發送完畢防重疊最少時間次位定時器時間。實現燒錄程序的目的。 ...

    iOS122 評論0 收藏0
  • 回懟文章《為什么甲骨文被裁員工不值得同情》

    摘要:前言今天下班突然看到一篇刷屏朋友圈的文章為什么甲骨文被裁員工不值得同情來自一個財經的微信公眾號剛看題目我以為文章是會分析甲骨文公司內部的財經類問題所以就戳開看了畢竟本人不喜歡看打雞血的文章。 為工薪層能合理取得報酬而發聲,為大眾選擇不同生活狀態都能獲得尊重而發聲,為不同職場層次的職場人都能有健康的工作環境而發聲。 前言 今天下班突然看到一篇刷屏朋友圈的文章來自一個XX財經的微信公眾號,...

    _ivan 評論0 收藏0

發表評論

0條評論

不知名網友

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<