Em mới học lập trình Assembly mong các anh chị chỉ giáo giúp.Em muốn viết code để điều khiển độ sáng của led ở 2 chế độ: tự động và thông qua nút nhấn.Anh chị nào biết chỉ giúp em với.Có thể dùng timer để điều khiển được không ạ!!!
Thông báo
Collapse
No announcement yet.
Dùng 8051 điều khiển độ sáng của led bằng Assembly
Collapse
X
-
Điều chỉnh tự động theo ý của bạn là như thế nào đây, ít ra cũng phải có cái cảm biến phản hồi về như thay đổi độ sáng theo môi trường,... Còn bằng nút nhấn thì có hai cái nút tăng và giàm độ sáng thì bạn có thể dùng kỹ thuật PWM để điều khiển, bấm 2 cái nút đó sẽ tăng hay giảm duty của sóng pwmNguyên văn bởi sunypower Xem bài viếtEm mới học lập trình Assembly mong các anh chị chỉ giáo giúp.Em muốn viết code để điều khiển độ sáng của led ở 2 chế độ: tự động và thông qua nút nhấn.Anh chị nào biết chỉ giúp em với.Có thể dùng timer để điều khiển được không ạ!!!
Bạn dùng timer và ngắt timer để tạo PWM còn chương trình chính thì kiểm tra nút nhấn.,..
Comment
-
Em không biết phải điều chỉnh PWM như thế nào đây, anh co thể hướng dẫn và viết đoạn code mẫu được không.thanks nhiều!!!Nguyên văn bởi youaremylife Xem bài viếtĐiều chỉnh tự động theo ý của bạn là như thế nào đây, ít ra cũng phải có cái cảm biến phản hồi về như thay đổi độ sáng theo môi trường,... Còn bằng nút nhấn thì có hai cái nút tăng và giàm độ sáng thì bạn có thể dùng kỹ thuật PWM để điều khiển, bấm 2 cái nút đó sẽ tăng hay giảm duty của sóng pwm
Bạn dùng timer và ngắt timer để tạo PWM còn chương trình chính thì kiểm tra nút nhấn.,..
Comment
-
Phần PWM phải tìm hiểu lâu lâu mới hiểu . K thể 1 sớm 1 chiều được . Vì tài liệu ASM cho PWM cũng khá ítNguyên văn bởi sunypower Xem bài viếtEm không biết phải điều chỉnh PWM như thế nào đây, anh co thể hướng dẫn và viết đoạn code mẫu được không.thanks nhiều!!!
Comment
-
đây là phần cứng em thiết kế và phần code em viết, chỉ mới cho xuất ra chuỗi xung có độ rộng cố định, chưa biết làm sao để thay đổi độ rộng xung khi nhấn Up hoac Down, bác nào có kinh nghiệm mong chỉ giáo giúp, em đang làm đề tài này, mà chỉ mới học asly mới có nửa tháng ah.cảm on nhiều!!!
DIEU KHIEN DO SANG LED.rar
Comment
-
Muốn cải tiến cái chương trình của bạn mình góp vài ý như sau:
Hàm delay của bạn nó theo kiểu thủ tục (procedure) hơn là hàm (function). Muốn có thể điều xung thì thời gian chân ra ở mức cao và ở mức thấp có thể thay đổi được, nghĩa là cái hàm delay của bạn cần phải có đối số truyền vào.
Trong đoạn BAT......SJMP BAT của bạn thêm đoạn kiểm tra nút nhấn LIGH UP/DOWN vào.
Chương trình của bạn thiếu đi phần chống nảy cho nút nhấn, bạn có thể khắc phục bằng chống nảy bằng phần cứng,...
ví dụ hàm delay như bạn có thể thay
DELAY50uS:
MOV TH1,#HIGH(value) ; CHUONG TRINH CON TRE 50MS GIAY
MOV TL1,#LOW(value)
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
RET
bằng
// đối số vào hàm
MOV TH1, duty ; CHUONG TRINH CON TRE 50MS GIAY
MOV TL1, duty+1 ;
// hàm tạo trễ
DELAYuS:
SETB TR1
JNB TF1,$
CLR TR1
CLR TF1
RET
cái này chỉ mang tính tham khảo phần còn lại tự bạn nghĩ
Khi bạn nhấn nút LIGH UP thì duty tăng ngược lại thì duty giảm
duty là số 16 bit nên bạn xem cách viết hàm cộng số 16bit
tính khoảng thời gian mức thấp nduty = PERIOD - duty
BAT
// phần tạo PWM
Cho PWM PIN mức cao
Truyền tham số duty vào hàm delay
Gọi hàm delay
Cho PWM PIN mức thấp
Truyền tham số nduty vào hàm delay
Gọi hàm delay
//////////////
kiem tra nut LIGH UP duoc nhan
đúng gọi hàm tăng
Gọi hàm tình tham số PWM
kiem tra nut LIGH DOWN duoc nhan
Đúng gọi hàm giảm
Gọi hàm tình tham số PWM
....
Comment
-
Tình hình là em đã viết xong code, nhưng giờ chon linh kiện thì có trục trặc, có bác nào biết nên sử dụng loại tranisistor công suất nào để thiên áp cho led công suất tầm 80W, tần số 2kHz ko, liệt kê giúp em một số tên với, loại nghịch (NPN) nha, cảm ơn nhiều
Comment
Bài viết mới nhất
Collapse
-
bởi afrendlyCảm ơn bạn. Mình hỏi để thợ có thể tham khảo thôi chứ không đủ kiển thức để sửa, mà cũng không có đồ nghề, mua đồ nghề quá tiền máy. Gọi nhiều lần mà thợ hẹn mãi chưa có tới ấy bạn. Mình muốn sửa được chứ bỏ thì uống, nhưng sợ là được mỗi người thợ mà lại không sửa nổi....
-
Channel: Điện tử gia dụng
Hôm qua, 00:34 -
-
bởi mèomướpDạ nó bị tắc ẩm hoặc rò thiếu gas hoặc lốc yếu hoặc van tiết lưu có vấn đề hoặc tất cả những nguyên nhân trên ạ. Chú ko chuyên về mảng này thì bán đi, giành thời gian trồng rau sạch đem ra chợ bán lấy tiền mua tủ mới ạ. Còn...
-
Channel: Điện tử gia dụng
10-05-2026, 17:01 -
-
bởi afrendlyXin chào mọi người. Mình lại có vấn đề về đồ điện cần nhờ mọi người hỗ trợ giúp. Mình có tủ lạnh Sharp dùng cũng lâu rồi. Trước có bị kém lạnh, không đông đá thì có thợ họ mang về, sục đường ga gì đó hết 900k và đã dùng...
-
Channel: Điện tử gia dụng
10-05-2026, 16:53 -
-
bởi dinhthuong92Đấy, cái tôi thắc mắc là chỗ màu hồng ấy bạn, để áp vào cao chứ không bị sụt gần bằng áp pin thì rất cần cuộc cảm để làm điều đó. Tuy nhiên, trong công thức bác thớt dẫn không thấy mặt L, và một vài mạch MPPT tôi đã kiểm...
-
Channel: Nguồn!
09-05-2026, 10:01 -
-
bởi mèomướpDạ mạch sạc là 1 cục nguồn, nó sẽ điều chỉnh công suất đầu ra để có tổng trở bằng nội trở của pin ạ. Và cái cách nó chỉnh công suất đầu ra sẽ là dạng buck, boot. Đều cần đến cuộn cảm ạ. Tất nhiên chú thích thì có thể dùng dạng tuyến tính transistor để bù trừ nhưng mà nó đốt năng lượng vô ích ạ...
-
Channel: Nguồn!
08-05-2026, 16:26 -
-
bởi dinhthuong92Tng trở R của tải (gồm pin và mạch sạc) trong công thức đó rõ ràng khống có L xuất hiện. Nếu tính các dây dẫn thì rất nhỏ, bỏ qua. Vì nội trở pin là rất nhỏ, có thể nói luôn lớn hơn nội trở solar, nên mạch MPPT sẽ hầu như luôn tính...
-
Channel: Nguồn!
08-05-2026, 11:00 -
-
bởi dinhthuong92Chào bác. Đã là công thức phải tổng quát chứ, nó phải thể hiện cả quá trình, rối thì quá độ hay xác lập tính sau vì tùy điều kiện. Cũng như công thức tính diện tích chả hạn, phải là tích phân....
-
Channel: Nguồn!
08-05-2026, 10:49 -

Comment