View Single Post
Old 29-07-2009, 12:43 AM   #15
nhanh0112
Đệ tử 4 túi
 
Tham gia ngày: May 2007
Bài gửi: 81
:
Theo tui bạn thử sử dụng PWM với duty cycle thay đổi dần với tần số cố định (Một số cái còi "ngân" của ô tô cũng sử dụng phương pháp này... tiếng nhỏ dần).
Còn về nguyên lý hoạt động thì dutycle càng ngắn thì thời gian sáng của led càng ngắn (chớp nhanh) -> tối và ngược lại.
Như vậy khoảng thời gian để đèn từ tắt hẳn đến sáng hoàn toàn thì cũng chính là thời gian để duty cycle chạy từ 0 đến max.
Ví dụ:
Code:
void main()
	{
	setup_ccp1(CCP_PWM);
	setup_timer_2(T2_DIV_BY_1,25,1);
	set_pwm1_duty(0);
        while(true)
        {
	for(i=0;i<25;i++)
		{
		set_pwm1_duty(i);		
		delay_ms(200);
		}
        }
	}
Như vậy để từ tắt hẳn đến sáng nhất là 200x25=5000ms (5s).
Cái này tui chưa làm thử, nhưng đây là ý tưởng của tui... bạn tham khảo xem sao
nhanh0112 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn