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 cách điều chế xungbởi thetungBạn cho qua cái Tờ ri gơ Sờ mít ấy ......
-
Channel: Kỹ thuật điện tử tương tự
16-12-2024, 11:26 -
-
Trả lời cho Hỏi cách điều chế xungbởi nguyendinhvanCó gì mà khó ?
Răn cưa vuông đây
...-
Channel: Kỹ thuật điện tử tương tự
15-12-2024, 23:36 -
-
Trả lời cho hỏi về tụ điệnbởi ndp62Chữ " VENT" không phải là tên hãng sx tụ đâu ,vó thế là 1 ký hiệu liên quan tụ lowesr ?
-
Channel: Điện thanh
15-12-2024, 18:24 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi bqvietTrừ trường hợp công suất (rất) thấp, hầu như tất cả các loại nguồn xung thông thường đều có tụ nhỏ 1 - 10nF nối giữa sơ cấp và thứ cấp, để thoát nhiễu và để chống hiện tượng tương tự tĩnh điện. Vụ này đã thảo luận vài...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 22:02 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi namlangnhoE thử 3 cái nguồn nó đều giống nhau. Nên e làm tiếp địa luôn.
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 19:58 -
-
Trả lời cho Thắc mắc về nguồn tổ ong 12vbởi mèomướpDạ chú sắm con át chống giật và thay nguồn tổ ong khác cho an toàn ạ. Đa phần nguồn xung đều xả nhiễu của bên thứ cấp về điện lưới qua 1 con tụ nên cảm giác tê sẽ khó xác định rõ ràng là do rò điện hay là nó vốn vậy...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 18:51 -
-
bởi namlangnhoXin chào mọi người. E có sử dụng 1 cục nguồn tổ ong 12v-30A chạy đèn led xe trà sữa. Mà thợ thi công bị rò điện nên điện rò ra khung xe. E dùng đồng hồ đo điện ở khung xe và cả output thì thấy có dòng điện xoay chiều hơn 100v. Nên chạm...
-
Channel: Điện tử dành cho người mới bắt đầu
14-12-2024, 00:12 -
-
bởi Manh.n.trCác bác cho em hỏi cách điều chế xung răng cưa sang xung vuông với ạ. Em đang thấy khó ạ...
-
Channel: Kỹ thuật điện tử tương tự
13-12-2024, 20:46 -
-
Trả lời cho hỏi về thiết kế mạch tuần tự trên proteusbởi Hatruong1309
-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
-
bởi Hatruong1309Cho e hỏi là phần chân X thì nối cái j thì mạch mới chạy được ạ và kiểm tra đúng sai kiểu j ạ
Đề bài thiết kế mạch dãy đồng bộ nhận biết dãy tín hiệu vào ở dạng nhị phân được đưa liên tiếp ở đầu vào X và được đồng...-
Channel: Hỗ trợ học tập
12-12-2024, 00:33 -
Comment