|
呼吸灯只有是线性变化才可以保证能够取到各个阶段有效电压值,亮度主要是由有效电压确定的,都的原因是有些有效电压之没有取到,可以减少占空比步幅实现 |
JYLI 发表于 2018-7-15 22:30 那如何在程序是线性的情况下,使它不抖 |
imxuheng 发表于 2018-7-17 11:54 已上传 |
| 驱动电路是怎样的 |
HC6800-ES-V2.0 发表于 2018-7-16 08:14 有平方根的倒数关系?能详细说一下吗?不太理解 |
437374033 发表于 2018-7-15 17:10 我这个是有由暗到亮的程序的,但是不知道为什么没显示 |
| 建议你拿示波器看一下波形,是不是正弦波或者三角波 |
|
我的这个程序,可以从这到暗,再从暗到亮。 #include<reg51.h> #define LED P2 unsigned int T=0,Tt=500,i=0,Ii=100,j=0; bit A=1; void TimeConfig(); void main(void) { TimeConfig(); while(1) { if (T>=Tt) { T=0; } if (i>=Ii) { i=0; if (A==1) { j++; } else { j--; } } if (j==Tt) { A=0; } if (j==0) { A=1; } if (T<=j) { LED=0x00;//LED灯亮 } else { LED=0xff; } } } void TimeConfig() { TMOD = 0x01; TH0 = 0xff; TL0 = 0xff; EA = 1; ET0 = 1; TR0 = 1; } void Time0() interrupt 1 { TH0 = 0xff; TL0 = 0xff; T++; i++; } /* 此占空比的变化,数据是线性关系,但显示出来的视觉不是线性关系。因为占空比是功率换算, 有平方根的倒数关系,所以这要进步算法才行。 */ |
| 你写一个从亮到暗的不就好了 |