1樓:似曾相識
我習慣用pnp加限流電阻,不知道你的是什麼燈,1w的電流100-300ma,小燈珠10-20ma。燈3.2v左右,管壓降0.7v左右,要什麼電流就自己算了。
我用51微控制器做了個led的pwm調光電路,在0%-100%之間已經分了250級了,可是調光的時候還是感覺到有跳變閃
2樓:淡淡的雅興
大概可以這樣做。
在圖中採用2個隔離二極體將充電迴路和放電迴路的電阻分開,再用調整電位器的方法使充電電阻和放電電阻阻值發生變化來改變脈衝佔空比。
這樣就可以實現寬範圍的佔空比可調pwm電路了。
我所用的555工作在無穩態方式,也就是多諧振盪,請樓主考慮下,希望能提供些參考價值。
將可調電阻選一個阻值10m以上的(越大越好),其他電阻均選擇1k,可以實現佔空比0.01%~99.99%
3樓:匿名使用者
調光按鍵有沒有延時消抖,在延時的時候有沒有讓led保持當前亮度且發光,消抖期間led不能熄滅或達最大亮度,否則必閃,led亮度與工作電壓不是線性關係,脈寬步進不能每級相同。
4樓:修者世界
你確定是0%-100%均勻調光嗎?
我感覺應該不是,可以的話貼上你的程式看看
5樓:匿名使用者
這個問題嘛,就是你選的pwm頻率太低了,比如你兩秒的週期,佔空比是50%,一秒亮,一秒滅,那是不是一樣的意思呢?
51微控制器輸出pwm波控制led燈亮度
6樓:匿名使用者
頻率50hz,週期是20ms
看你調節的精度 如定時器定時1ms,高電平寬度一次變化是5%如果想要調節精度高,定時器定時時間小,就要頻繁地發生中斷,會影響主程式的執行
如 要求佔空比每步調節為1%,則定時器就要定時200us,對於cpu的影響就比較大了
這時自動重灌模式可以縮短中斷程式佔用時間,但如果再提高pwm的頻率,自動重灌模式也十分吃力,因此許多增強型51微控制器有硬體pwm功能
請教51微控制器利用pwm控制燈的亮度的程式
7樓:小灰灰
第一,要理解中斷在這裡的作用是固定的「一小段」時間進入一次。
第二,pwm_on在程式中的作用很大,它會由0------>cycle------>0並且一直迴圈下去。可以把它看成一個有規律的變化的量。
第三,每進入中斷一次count++,滿足條件count==pwm_on或count==cycle時改變led的當前狀態。作用是給小燈亮或滅的時間不同。
第四,led的亮度與其通電時間有關,也可以說成是佔空比。上面的條件要理解成是呈線性增加或減小的頻率。可以理解成三角波,對應的面積就是通電時間。
不知能不能給你講明白!
8樓:做而論道
主函式中,缺少大迴圈 while(1);,是不是有問題呀 ?
參考
9樓:施西貝虎
首先說下整體思路吧:
1)通過定時器的中斷來判斷是否需要切換燈的狀態;
2)通過cycle設定了pwm的頻率,當然這個頻率不能超過定時器的中斷頻率;
3)通過pwm_on來改變燈亮的時間長度(有時候也可以做到,時間的長短來控制燈的亮度)
知道了這些,你就應該明白程式是如何執行了:
兩個while迴圈控制pwm_on的值,而中斷程式來不斷檢視是否需要關掉燈/點亮燈。
若滿意請採納。
微控制器利用pwm對大功率led燈調光是出現閃爍是什麼原因
1 軟體問題,用示波器看看頻率是否足夠高。2 硬體問題,用示波器看看是否led功率太大引起的電源電壓波動導致的mcu工作不穩定。你讓兩個迴圈的值只和等於100再試試.比如一個80,另一個20.我用51微控制器做了個led的pwm調光電路,在0 100 之間已經分了250級了,可是調光的時候還是感覺到...
微控制器實現LED閃光程式,51微控制器實現用按鍵控制led的閃與不閃
感覺要求有些重複 1 每分鐘閃60次,那麼還手動幹嘛?2 一個開關按一下,亮一個,再按一下另一個亮,再按是都滅嗎?還是第一支亮?不能明白你到底想怎麼樣。手動,自動?每分鐘60次 自動閃亮?為什麼又要按?提問題,也要說清楚哦!這種程式設計不難,先會讓一隻led閃。然後不讓led閃,會用按鍵控制兩隻le...
求用c語言程式設計實現51微控制器的led燈移動
include define uchar unsigned char define uint unsigned intuchar a,b,c,d void delay void anjian if p1 1 0 if p1 2 0 if p1 3 0 void main include reg52....