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
-
Nguyê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
-
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
-
Nguyê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
-
Trả lời cho Help ! Xin giúp đỡ về loa và amply C5200bởi thetungBạn này còn lẫn lộn nhiều thứ quá !
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 21:38 -
-
Trả lời cho Sự lạc hậu, rồi ai cũng sẽ nếm phải.bởi nguyendinhvanÀ hà nà !
Thì da nà như thế.
Ngày xưa học Điện, thày dạy kiểm cha từ ... dưới lên chên. Từ phụ tải trước, lên công suất, lên driver, lên xử lý điều khiển .Bi giờ, sau máy chục năm áp rụng, tôi đỏi ngược cách dạy của thày....-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 19:49 -
-
Trả lời cho Lcd1602-fpgabởi bqvietLCD1602 đó là loại 3v3 hay 5v ? Nếu dùng LCD1602 5V thông thường thì không chạy là phải rồi.
-
Channel: GAL - PAL - CPLD - FPGA
Hôm qua, 15:23 -
-
bởi vantien2004mấy bác cho em hỏi, con fpga của em nó dùng đầu ra 3v3 mà test code oke nhưng mà ra chân với thử board thì hông được là sao vậy ạ. em dùng fpga onekiwi nano 4k. em newbie mới mò thôi ạ
-
Channel: GAL - PAL - CPLD - FPGA
Hôm qua, 08:56 -
-
Trả lời cho Sự lạc hậu, rồi ai cũng sẽ nếm phải.bởi nhathung1101Từ thời bà hoàng hậu đói quá phải ăn lạc trừ bữa.
Thời đó đọc chữ từ phải sang, cũng giống như bọn trẻ bi giờ nhìn gái từ dưới lên trên, còn học kiến thức thì từ ngọn xuống......-
Channel: Tâm tình dân kỹ thuật
19-09-2025, 22:54 -
-
Trả lời cho Help ! Xin giúp đỡ về loa và amply C5200bởi nhathung1101Những kiến thức cơ bản này xưa lắm rồi mà vẫn mơ hồ như vậy thì tốt nhất là học lại từ đầu.
Giải thích chẳng giải quyết gì.-
Channel: Điện tử dành cho người mới bắt đầu
19-09-2025, 22:51 -
-
Trả lời cho Sự lạc hậu, rồi ai cũng sẽ nếm phải.bởi nguyendinhvanThế ... lạc hậu có từ bao giờ ?
Ai phát minh ra ?-
Channel: Tâm tình dân kỹ thuật
19-09-2025, 21:21 -
-
bởi trung30000Em có một số điều chưa biết về loa và amply xin được chỉ giáo:
1- amply chạy 12 sò Toshiba c5200 dùng nguồn +/-60vac , DC +/- 85v ( biến áp 20a có đủ sử dụng không các bác ?) . Vậy công thức tính dòng điện A ra loa là 85/8ohm = 10,6a . Công...-
Channel: Điện tử dành cho người mới bắt đầu
19-09-2025, 19:11 -
-
bởi davidcopybạn tham khảo thêm
https://lcd-television-repair.com/ne...V_Monitor.html...-
Channel: Hướng dẫn tìm thông tin linh kiện
13-09-2025, 22:29 -
-
Trả lời cho chân sạc micro USBbởi quang4789
-
Channel: Điện tử dành cho người mới bắt đầu
13-09-2025, 11:37 -
Comment