摘要:否則可能會導(dǎo)致電平顛倒完美的計數(shù)糟糕的線條再來一個測試組我們來實現(xiàn)一個呼吸燈的效果呼吸燈波形為了賢淑妻子,咳咳,賢淑才女,小碼農(nóng)必定讓控制時間什么是脈寬調(diào)制中間動的線是電流線,電流通斷,電流小就暗,電流大就亮。
中間動的線是電流線,電流通斷,電流小就暗,電流大就亮。實際上準(zhǔn)確的說是應(yīng)該是功率線,因為導(dǎo)通電壓不變 電流減少一半 功率自然就是一半
PWM 脈寬調(diào)制,實質(zhì)上就是電路的“導(dǎo)通”和“關(guān)斷”的時間比改變, 調(diào)整電壓或者電流的大小。專業(yè)術(shù)語叫“占空比”。一般來說,導(dǎo)通和關(guān)斷的速度要求很高。比如我們有些開關(guān)電源的工作模式,就是脈寬調(diào)制。通過調(diào)整變壓器的變壓時間,來保證輸出電流功率足夠。實現(xiàn)電壓穩(wěn)定。
PWM影響
開關(guān)電路 影響的是電流通斷 電壓要么是0 要么最大
積分微分 運放電路 輸出結(jié)果就是影響電壓
SPWM 是基于 PWM 規(guī)則,使輸出波形成正弦波。在 PWM 周期固定的情況下,通過調(diào)整不同的脈寬,可以輸出不同電壓,最后看起來就是一個正弦波波形。
這個自己建
void Timer0_Init(){// AUXR &= 0x7f;// TMOD &= 0xf0;// TMOD |= 0x01;// TR0 = 1;// TH0 = 0xf8;// TL0 = 0x30;//定時1ms AUXR &= 0x7F; //定時器時鐘12T模式 TMOD &= 0xF0; //設(shè)置定時器模式 TMOD |= 0x02; //設(shè)置定時器模式 TL0 = 0xEC; //設(shè)置定時初值 TH0 = 0xEC; //設(shè)置定時重載值 TF0 = 0; //清除TF0標(biāo)志 TR0 = 1; //定時器0開始計時 ET0 = 1;}
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++;}
void PWM_Init()//PWM初始化{ P2M1 = 0; P2M0 = 0x02; //強推挽 P_SW2 |= 0x80; //允許訪問XSFR PWMCFG = 0; //配置PWM的輸出初始電平為低電平 PWMCKS = 0; //選擇PWM的時鐘為Fosc PWMCH = 0x03; //設(shè)置PWM周期 PWMCL = 0xff; //設(shè)置PWM周期 PWM3CR = 0x00; //選擇PWM3輸出到P2.1,不能使能PWM2中斷 PWMCR &= ~0x82; //使能PWM信號輸出 PWMCR |= 0x82; //使能PWM信號輸出 P_SW2 &= ~0x80; //關(guān)閉訪問XSFR}
//PWM修改驅(qū)動void PWM_Modify_Drive(u16 data1,u16 data2){ P_SW2 |= 0x80; //修改PWM之前需要使能P_SW2 PWMCR &= 0x7f; //修改之前必須先關(guān)閉PWM使能 PWMCFG = 0; //配置PWM的輸出初始電平為低電平 PWM3T1 = data1; //設(shè)置PWM3第一次反轉(zhuǎn)的PWM計數(shù) PWM3T2 = data2; //設(shè)置PWM3第二次反轉(zhuǎn)的PWM計數(shù) PWMCR |= 0x80; //修改之后重新允許PWM功能 P_SW2 &= ~0x80; //寫入之后關(guān)閉P_SW2}
PWM呼吸燈波形
))
//PWM數(shù)據(jù)分配void PWM_Allot(){ //設(shè)置一個PWM變量 static xdata u16 PWM = 0; static xdata u8 count = 0; //呼吸燈是從零到最大,從最大到零,所以來個標(biāo)志變量 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); }}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/125322.html
摘要:行列總共使用個口,可以掃描個按鍵的開關(guān)狀態(tài),這就是矩陣鍵盤的優(yōu)勢??谥g必須串聯(lián)電阻。 文章目錄 小碼農(nóng)為了總裁,咳咳,為了知識敢說按鍵不會嗎?==**帝都富豪與...
摘要:復(fù)位后初值是子函數(shù)調(diào)用,中斷響應(yīng)過程調(diào)用子函數(shù)處理中斷響應(yīng)的時候,程序計數(shù)器的值以及相關(guān)數(shù)據(jù)會先壓入堆棧,然后去處理子函數(shù)中斷服務(wù)。聯(lián)動文章身家過億的帝都富豪對小碼農(nóng)說你時空復(fù)雜度會了嗎 ...
摘要:對于電壓或者電流連續(xù)變化的信號,就需要通過模數(shù)轉(zhuǎn)換電路,變成單片機可以識別的數(shù)字電平信號。目前來說,常見的有兩種方式,一種是并行比較,一種是逐次比較。具有成本低元件簡單等優(yōu)勢,而且容易做出高精度的轉(zhuǎn)換器,所以被廣泛使用。 ...
摘要:目前,所有型號串口的輸入是輸出是。串口全雙工通信是沒有時鐘脈沖的,只能依靠晶振脈沖定時器的溢出脈沖。中斷中讀取,清標(biāo)志,然后返回給計算機,等待發(fā)送完畢防重疊最少時間次位定時器時間。實現(xiàn)燒錄程序的目的。 ...
摘要:前言今天下班突然看到一篇刷屏朋友圈的文章為什么甲骨文被裁員工不值得同情來自一個財經(jīng)的微信公眾號剛看題目我以為文章是會分析甲骨文公司內(nèi)部的財經(jīng)類問題所以就戳開看了畢竟本人不喜歡看打雞血的文章。 為工薪層能合理取得報酬而發(fā)聲,為大眾選擇不同生活狀態(tài)都能獲得尊重而發(fā)聲,為不同職場層次的職場人都能有健康的工作環(huán)境而發(fā)聲。 前言 今天下班突然看到一篇刷屏朋友圈的文章來自一個XX財經(jīng)的微信公眾號,...
閱讀 3805·2023-01-11 11:02
閱讀 4308·2023-01-11 11:02
閱讀 3132·2023-01-11 11:02
閱讀 5239·2023-01-11 11:02
閱讀 4804·2023-01-11 11:02
閱讀 5578·2023-01-11 11:02
閱讀 5384·2023-01-11 11:02
閱讀 4084·2023-01-11 11:02