LED 一般是恒流操作的,如何改變 LED 的亮度呢?答案就是 PWM 控制。在一定的 頻率的方波中,調整高電平和低電平的占空比,即可實現。比如我們用低電平點亮一個 LED 燈,我們假設把一個頻率周期分為 10 個時間等份,如果方波中的高低電平占空比是 9:1, 這是就是一個比較暗的亮度,如果方波中高低電平占空比是 10:0,這時,全部是高電平, 燈是滅的。如果占空比是 5:5,就是一個中間亮度,如果高低比是 1:9,是一個比較亮的 亮度,如果高低是 0:10,這時全部是低電平,就是最亮的。 實際上應用中,電視屏幕墻中的幾十百萬 LED 象素都是這樣控制的,而且每一個象素 都有紅綠藍 3 個 LED,每個 LED 可以變化的亮度是幾百到幾萬或者更多的級別,以實現真 彩色的顯示。還有在您的手機中,背光燈的亮度如果是可以變化的,也應該是這種工作方式。 目前的城市彩燈也有很多都使用了 LED,需要控制亮度是也是 PWM 控制。 下面來分析我們的例程,在這個例程中,我們將定時器 2 溢出定為 1/1200 秒。每 10 次脈沖輸出一個 120HZ 頻率。這每 10 次脈沖再用來控制高低電平的 10 個比值。這樣,在 每個 1/120 秒的方波周期中,我們都可以改變方波的輸出占空比,從而控制 LED 燈的 10 個 級別的亮度。 為什么輸出方波的頻率要 120HZ 這么高?因為如果頻率太低,人眼就會看到閃爍感 覺。一般起碼要在 60HZ 以上才感覺好點,120HZ 就基本上看不到閃爍,只能看到亮度的變 化了。 下面請看程序,程序中有比較多的注釋: ――――――――――――――――――――――― #define uchar unsigned char //定義一下方便使用 #define uint unsigned int #define ulong unsigned long #include <reg52.h> //包括一個 52 標準內核的頭文件 sbit P10 = P1^0; //要控制的 LED 燈 sbit K1= P3^2; //按鍵 K1 uchar scale;//用于保存占空比的輸出 0 的時間份額,總共 10 份 char code dx516[3] _at_ 0x003b;//這是為了仿真設置的 //模擬 PWM 輸出控制燈的 10 個亮度級別 void main(void) // 主程序 { uint n; RCAP2H =0xF3; //賦 T2 的預置值,溢出 1 次是 1/1200 秒鐘 RCAP2L =0x98; TR2=1; //啟動定時器 ET2=1; //打開定時器 2 中斷 EA=1; //打開總中斷 while(1) //程序循環 { ;//主程序在這里就不斷自循環,實際應用中,這里是做主要工作 for(n=0;n<50000;n++); //每過一會兒就自動加一個檔次的亮度 scale++; if(scale==10)scale=0; } } //1/1200 秒定時器 2 中斷 timer2() interrupt 5 { static uchar tt; //tt 用來保存當前時間在一秒中的比例位置 TF2=0; tt++; if(tt==10) //每 1/120 秒整開始輸出低電平 { tt=0; if(scale!=0) //這里加這一句是為了消除滅燈狀態產生的鬼影 P10=0; } if(scale==tt) //按照當前占空比切換輸出高電平 P10=1; } ―――――――――――――――――― 在主程序中,每延時一段時間,就自動換一個占空比,以使亮度自動變化,方便觀察。 編譯,運行,看結果。 可以看到,LED 的亮度以每種亮度 1 秒左右不斷變化,共有 10 個級別。
上傳時間: 2017-11-06
上傳用戶:szcyclone
本代碼采用高級定時器TIM8進行PWM波的輸出,高級定時器的使用與通用定時器有一些區別
標簽: F103 STM 103 32F PWM 32 輸出 程序
上傳時間: 2018-02-06
上傳用戶:wooten
系統闡述PWMDC/DC全橋變換器的軟開關技術。系統提出DC/DC全橋變換器的九種PWM控制方式,并引入超前橋臂和滯后橋臂的概念,以實現全橋變換器的軟開關;提出超前橋臂和滯后橋臂實現軟開關的原則及策略,將PWMDC/DC全橋變換器歸納為ZVSPWMDC/DC全橋變換器和ZVZCSPWMDC/DC全橋變換器兩種類型。
上傳時間: 2019-07-27
上傳用戶:ysy_curry
STM32f103vct6單片機6個定時器輸出24通道定時器輸出不同頻率和強度的PWM波
上傳時間: 2019-08-26
上傳用戶:a457064589
基于stc89C52的方波發生器 /*2018.08月制作完成;STC89C51,貼片,共陽LED *T0-計時25 微秒溢出中斷一次;P1.0 P1.1為增加、減少鍵P0.7 輸出方波 變量的定義: pwm 設定的頻率數 connter_1 根據設定頻率計算后的,定時器溢出的次數值 connter : 定時器0計數溢出數 led_seg_code: 數碼管7 段碼 晶振:12M ,共陰數碼管或三極管驅動共陽數碼管 */ /*用單片機產生頻率可調的方波信號。輸出方波的頻率范圍為1Hz-200Hz,頻率誤差比小于0.5%。 要求用"增加"、"減小"2 個按鈕改變方波給定頻率,按鈕每按下一次,給定頻率改變的步進步長為1Hz, 當按鈕持續按下的時間超過2 秒后,給定頻率以10 次/秒的速度連續增加(減少),輸出方波的頻率要求在數碼管上顯示。 P1.0,P1.1分別為增加和減小按鍵*/
上傳時間: 2020-02-09
上傳用戶:jmkl128
該三相逆變器采用內部pwm產生脈沖信號,控制逆變器的開斷。 由于脈寬調制和輸出阻抗的存在,會導致輸出電壓存在諧波。 需要對逆變器輸出的方波信號進行濾波后,得到正弦基波。 從模型運行結果電壓電流波形前后對比,LC濾波器濾波效果明顯。
上傳時間: 2020-05-13
上傳用戶:CCTV
該三相逆變器采用內部pwm產生脈沖信號,控制逆變器的開斷。 由于脈寬調制和輸出阻抗的存在,會導致輸出電壓存在諧波。 需要對逆變器輸出的方波信號進行濾波后,得到正弦基波。 從模型運行結果電壓電流波形前后對比,LC濾波器濾波效果明顯。
上傳時間: 2020-05-13
上傳用戶:CCTV
該參考設計使用隔離的IGBT柵極驅動器和隔離的電流/電壓傳感器實現了增強的隔離式三相逆變器子系統。所使用的UCC23513柵極驅動器具有6引腳寬體封裝,帶有光學LED模擬輸入,因此可以用作現有光電隔離柵極驅動器的引腳到引腳替換。該設計表明,可以使用用于驅動光隔離柵極驅動器的所有現有配置來驅動UCC23513輸入級。使用AMC1300B隔離放大器和直流母線電壓進行基于同相分流電阻器的電機電流檢測,使用AMC1311隔離放大器進行IGBT模塊溫度檢測。該設計使用C2000?LaunchPad?進行逆變器控制。 特征 三相逆變器功率級,適用于200-480 VAC供電的驅動器,額定輸出電流高達14 Arms 具有光電模擬輸入和6引腳寬體封裝的增強型隔離式柵極驅動器,可用作光電隔離式柵極驅動器的引腳到引腳替換 柵極驅動器具有高達125°C的寬工作環境溫度,低參數變化,高CMTI和1500 Vdc的額定工作隔離電壓,從而提高了系統的魯棒性 基于增強的隔離式同相分流電阻器的所有三相電流檢測高達25 Apk,過流保護響應<5μs 使用集成放大器的IGBT模塊內部集成的NTC,增強型隔離式DC鏈路電壓感應高達800 V,溫度感應高達120°C 使用C2000 LaunchPad進行逆變器控制
上傳時間: 2020-09-15
上傳用戶:
300個C51單片機設計proteus仿真源碼軟件源碼:100000秒以內的計時程序10秒的秒表12864LCD圖形滾動演示128X64LED160128LCD圖文演示1602字符液晶滾動演示程序1602液晶顯示的DS1302實時時鐘16×16點陣(滾動顯示)16×16點陣2(滾動顯示)2io5鍵盤模擬音量數碼管顯示2×20串行字符液晶演示32x16漢字44行列鍵盤485全雙工通信4×4鍵盤矩陣控制條形LED顯示4個獨立式按鍵控制LED開關4個獨立式按鍵控制LED移位4只數碼管滾動顯示0~3555可調PWM發生器555的應用6264擴展內存6個16×16點陣74HC154譯碼器應用74HC59574HC595串入并出芯片應用74LS138譯碼器應用74LS148擴展中斷8051雙機通信簡例8255并行口擴展實例89C51PWM8x8LED漢字顯示8x8點陣做的貪吃蛇游戲8×8LED點陣屏顯示數字8只數碼管同時顯示不同字符8只數碼管顯示多個不同字符8只數碼管滾動顯示8~F8只數碼管滾動顯示單個數字8只數碼管滾動顯示數字串8只數碼管閃爍顯示8通道自動溫度檢測系統仿真(含原程序)ADC0808 PWM實驗ADC0809模數轉換與顯示ADC0832模數轉換與顯示AT89C51對直流電動機的驅動AVR_UartBCD譯碼數碼管顯示數字c51 可預設電壓的數控電源(功能強大)clockConterCPU控制的獨立式鍵盤掃描實驗da、ad。液晶,傳遞函數模型綜合應用的實例DIY51式數控電源DS1621溫度傳感器實驗ds18b20DS18B20溫度傳感器實驗DS18B20溫度檢測及其液晶顯示HorseLightI2CIIC-24C04與數碼管IIC-24C04與蜂鳴器INT0與INT1中斷計數INT0中斷3位計數INT0及INT1中斷計數INT0和INT1控制條形LEDINT1中斷5位計數IO并行口直接驅動單個數碼管K1-K4 分組控制LEDK1-K4 控制LED移位K1-K4 控制數碼管加減演示K1-K4 控制數碼管移位顯示K1-K4 鍵狀態顯示key_lcdks0108 液晶12864LCD頻率計仿真LED代碼查詢V1[1].1LED模擬交通燈LED閃爍M16_AN_CompareM16_EEPROMM16_HorseMAX7221控制數碼管動態顯示my16key_cNT0中斷控制LEDNT0中斷計數NumberDisplayP3口流水燈PCF8574PCF8583+LCD1602PCF8591模數與數模轉換實驗proteus ADDC的練習程序PWMPWMLEDPWM控制LED的亮度仿真程序PWM控制馬達的方法PWM波輸出(可調)PWM電機正反轉pwm程序實例PWM調溫RAM擴展練習sscom32串口調試TIMER0與TIMER1控制條形LEDTIMER0控制LED二進制計數TIMER0控制單只LED閃爍TIMER0控制四只LED滾動閃爍TIMER0控制流水燈ULN2803usart_t《lcd1602仿真實例》一個數控直流穩壓電源一個步進電機的仿真一步一步教你51_PC串口通信萬能邏輯電路實驗三機通訊串口仿真mcu_pc串口方式1串行數據轉換為并行數據交通燈從左到右的流水燈光藕隔離驅動電機內部函數intrins.h應用舉例凈水控制器仿真電路剛做好的十個字的led屏模擬有程序包含單片機寄存器的頭文件單只按鍵控制單只數碼管滾動顯示單只數碼管循環顯示0-9單只數碼管循環顯示0~F單片機與PC機串口通訊仿真單片機之間雙向通信單片機向PC發送數據單片機向主機發送字符串單片機接收PC發出的數據單片機控制的電動自行車驅動系統單片機數據發送程序發一個用定時器做的PWM基于1602+ds12b80+ds1302+音樂+電子書+流水燈的多功能電子表基于ADC0832的數字電壓表基于AT24C02的多機通信基于AT89C51+MAX7219的頻率計 附帶proteus仿真電路圖 實際硬件電路測試通過基于DS1302的日歷時鐘基于yjwpm測試過的DS18B20仿真實例多功能電子鐘多點溫度測量多路開關狀態指示大屏幕仿真子電路做的一個H型電機驅動電路字符串函數string.h應用舉例字符函數ctype.h應用舉例宏定義應用舉例定時器中斷控制的獨立式鍵盤掃描實驗定時器控制交通指示燈定時器控制數碼動態顯示定時器控制數碼管動管顯示對I2C總線上掛接多個AT24C0
上傳時間: 2021-10-27
上傳用戶:wangshoupeng199
電路主要包括以下七個單元電路:正弦波產生電路、正弦波放大及電平變換電路、峰值檢測電路、增益控制電路、三角波產生電路、比較電路、低通濾波電路。正弦波產生電路采用文氏橋正弦波振蕩電路,由放大電路、反饋電路(正反饋)、選頻網絡(和反饋電路一起)、穩幅電路構成,它的振蕩頻率為:f=1/(2Π*RC),由R4和C1構成RC并聯振蕩,產生正弦波,與R5和C2構成選頻網絡,同時R5和C2又構成該電路的正反饋;穩幅電路是由該電路的負反饋構成,當振幅過大時,二極管導通,R3短路,Av=1+(R2+R3)/R1減小,振幅減小,反之Av=1+(R2+R3)/R1增大,振幅增大,達到穩幅效果,從而保證正弦波的正常產生。正弦波放大及電平變換電路由R10,R7分別與R15滑動電阻部分相連,通過滑動R15來分VCC和VEE的電壓,通過放大器正相來抬高或降低正弦波來達到特定范圍內的幅值,滑動電阻R6與地相連,又與放大器反相端相連,滑動R6分壓來改變振幅,后又由R9和R8構成反饋來達到放大的效果,從而達到正弦波放大及電平變化的目的。峰值檢測電路是由正弦波放大及電平變換電路產生的正弦波送入電壓跟隨器的正相端,通過兩個反向二極管后再連電容,快速充放電達到峰值,然后再送回正弦波放大及電平變換電路的反相端,構成負反饋,達到增益穩幅控制效果三角波產生電路主要由兩個NPN型三極管Q3Q4,一個PNP型三極管Q2,兩個電容C3C4,兩個非門,一個滑動電阻R16組成,通過充放電后經過非門產生三角波。比較電路產生的正弦波送入放大器的正相端,產生的三角波送入放大器的反相端,通過作差比較產SPWM波,后又經過由R22和C8組成的低通濾波電路,還原正弦波。
上傳時間: 2021-10-30
上傳用戶: