Mình mới nhận yêu cầu của sếp thiết kê mạch điều khiển cường độ sáng tối của led. Cụ thể là điều khiển led sáng từ từ và tắt cũng từ từ. mình định dùng pwm trên atmega 88 thấy bảo có 4 kênh pwm nhưng mình chỉ biết cấu hình hai kênh ở chế độ 14 trên Codevision AVR. Các bác giúp mình với.
Thông báo
Collapse
No announcement yet.
Các bác cao thủ AVR giúp mình PWM 4 kênh với
Collapse
X
-
Ngắt timer sẽ tăng một biến từ 0 đến giá trị nào đó (độ phân giải của PWM) rồi lại reset nó về 0 giả sử gọi biến là Pulse. Giá trị biến này giống như 1 xung răng cưa.
Dùng bao nhiêu kênh PWM thì sẽ lại có tương ứng bấy nhiêu biến Offset. Mỗi lần ngắt timer tăng Pulse xong thì lại so sánh Pulse với các biến Offset. Nếu Pulse < Offset thì xuất 1 ra pin PWM, nếu Pulse >= Offset thì xuất 0.
Như vậy thì bạn muốn bao nhiêu PWM tùy thích miễn là đủ IO và đủ RAM để lưu biến Pulse và Offset.
Ví dụ mình sẽ tạo 10 PWM như sau :
Code:unsigned int NumberOfChannel=10; // 10 kênh PWM unsigned char Offset[NumberOfChannel]; // 10 biến Offset để set độ rộng cho 10 kênh. unsigned char Pulse=0; void NgatTimer() { Pulse++; // 0-> 255->0 - độ phân giải PWM là 8bit (từ 0 đến 255). for(int i=0;i<NumberOfChannel;i++) // so sánh Pulse với 10 Offset để điều khiển 10 PWM { if(Pulse<Offset[i]) PIN_PWM[i]=1; // PIN_PWM là pin output. else PIN_PWM[i]=0; } } // Để set PWM5 có độ rộng 128 và PWM9 có độ rộng 123 sẽ làm như sau : void Set() { Offset[4]=128; Offset[8]=123; }
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Hỏi về bơm màng bldcbởi nhathung1101Thì đây là 4r điên nặng điện mà, nên họ show phần điện thôi. Phần "cốt lõi" có cái tay biên chắc sang Văn Môn rồi....
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:54 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi nhathung1101Điện DC đương nhiên là khác với AC rồi. Chỉ cần biết mặt chữ là thấy khác như gà trống với gà mái mà.
Còn về bản chất, AC là dòng điện hoạt động theo tần số. Tần số càng cao thì dây dẫn càng mỏng, nhẹ, vì hiệu ứng...-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 18:46 -
-
Trả lời cho Công thức điện tửbởi nhathung1101Ăn ít => Nói nhiều.
Nói nhiều => Làm ít.
Làm ít => Vợ mắng.
Vợ mắng => Cáu nhiều.
Cáu nhiều => Ngủ ít.
Ngủ ít => Râu nhiều.
Râu nhiều =>...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 18:39 -
-
Trả lời cho Chọn dây dẫn cho điện DC?bởi mèomướpDạ vài chục mét thì chú tính như vậy được ạ. Chứ chuẩn thì phải tính cả điện trở của toàn bộ chiều dài dây dẫn nhân với dòng điện xem sụt áp có trong khoảng chấp nhận đc hông ạ. Trong mạch điện tử khoảng cách ngắn và mạch...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:49 -
-
bởi vietroadTheo mình biết thì chọn dây dẫn dựa vào dòng tải. Thường thì tiết diện 1mm2 cho dòng 6A. Nhưng trong các mạch điện tử, như mạch nguồn tổ ong chẳng hạn, dòng đến vài chục Ampe mà đường mạch mỏng dính. Phải chăng điện DC nó khác với...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 14:19 -
-
Trả lời cho Hỏi về bơm màng bldcbởi vi van phamPhải xem cơ cấu bơm, chứ xem cơ cấu rotor, thì chỉ làm thầy bói xem voi.
-
Channel: Điện tử dành cho người mới bắt đầu
29-11-2024, 08:19 -
-
Trả lời cho Xin hỏi về màn hình laptopbởi yname11vg, cám ơn bác...........
-
Channel: Thiết bị điện tử cá nhân
28-11-2024, 14:37 -
-
bởi khoine9899
Em chào các anh và mọi người.
Hiện em đang có 1 con bơm màng trong thiết bị y tế đang gặp tình trạng yếu dần hoặc ngừng hoạt động sau thời gian sử dụng
Sau khi tìm hiểu về thông tin của bơm trên mạng thì em được biết...-
Channel: Điện tử dành cho người mới bắt đầu
28-11-2024, 11:22 -
-
Trả lời cho Cần mọi người giúp mạch tạo sóng siêu âm máy rửabởi bqviet
-
Channel: Điện tử công suất
27-11-2024, 20:26 -
-
bởi Minhdai95Em chào mọi người, e đang sửa mạch tạo sóng siêu âm cho máy rửa mà chưa có tài liệu để tham khảo sửa, mọi người cho e xin tài liệu ạ...
-
Channel: Điện tử công suất
27-11-2024, 11:37 -
Comment