Thay đổi led 7 đoạn 8051 asm
Collapse
X
-
Dưới đây là đoạn code Assembly cho vi điều khiển AT89C51, thực hiện chức năng như bạn yêu cầu:Nguyên văn bởi hei9029 Xem bài viết
Nhấn nút lần 1, LED 7 đoạn hiển thị số 05.
Nhấn nút lần 2, LED 7 đoạn hiển thị số 08.
Nhấn nút lần 3, LED 7 đoạn hiển thị số 06.
Tiếp tục lặp lại theo vòng tròn.
---
Sơ đồ kết nối
Chân 39 (P0.7): Kết nối nút nhấn (có điện trở kéo lên).
Port 1 (P1.0 → P1.7): Điều khiển LED 7 đoạn loại anode chung.
---
Bảng mã 7 đoạn (Anode chung):
---
Code Assembly
ORG 0000H ; Điểm bắt đầu chương trình
MOV P1, #0FFH ; Xóa LED 7 đoạn (Anode chung: Tắt khi = 1)
MOV P3, #0FFH ; Kéo cao các chân của P3 (nút nhấn ở P3.7)
MOV R0, #00H ; Biến đếm số lần nhấn
MAIN:
JB P3.7, MAIN ; Chờ nhấn nút (P3.7 = 0 khi nhấn)
ACALL DELAY ; Chống dội phím
INC R0 ; Tăng biến đếm R0
CJNE R0, #03, CHECK ; Nếu chưa đến lần thứ 3, kiểm tra tiếp
MOV R0, #00H ; Reset về 0 sau lần thứ 3
CHECK:
MOV A, R0 ; Kiểm tra giá trị R0
CJNE A, #01, CHECK2
MOV P1, #0C8H ; Hiển thị "05" nếu lần nhấn 1
SJMP WAIT
CHECK2:
CJNE A, #02, CHECK3
MOV P1, #080H ; Hiển thị "08" nếu lần nhấn 2
SJMP WAIT
CHECK3:
MOV P1, #088H ; Hiển thị "06" nếu lần nhấn 3
WAIT:
JB P3.7, WAIT ; Đợi nút thả ra
ACALL DELAY ; Chống dội phím
SJMP MAIN ; Quay lại vòng lặp chính
; Chương trình delay chống dội phím (~20ms)
DELAY:
MOV R2, #255
L1: MOV R3, #255
L2: DJNZ R3, L2
DJNZ R2, L1
RET
END
---
Giải thích code:
1. Khởi tạo:
P1 = 0FFH: Xóa LED 7 đoạn.
P3 = 0FFH: Kéo cao các chân P3 (nút nhấn kết nối P3.7).
R0 = 0: Biến đếm số lần nhấn.
2. Vòng lặp chính (MAIN):
Chờ nút nhấn (P3.7 = 0).
Gọi hàm chống dội phím.
Tăng biến đếm R0.
So sánh R0 với 3, nếu bằng 3 thì reset về 0.
3. Kiểm tra R0 để hiển thị số:
R0 = 1 → Hiển thị 05 (0xC8).
R0 = 2 → Hiển thị 08 (0x80).
R0 = 3 → Hiển thị 06 (0x88).
4. Chờ nút thả ra (WAIT):
Chờ P3.7 = 1 (nút nhả).
Gọi hàm chống dội phím.
Quay lại vòng lặp.
---
Tóm tắt hoạt động:
1. Lần 1 nhấn → LED hiển thị 05.
2. Lần 2 nhấn → LED hiển thị 08.
3. Lần 3 nhấn → LED hiển thị 06.
4. Lần 4 nhấn → Quay về 05 và tiếp tục lặp.
---
Lưu ý:
Mạch LED 7 đoạn phải được kết nối với P1 theo chuẩn anode chung.
Nút nhấn cần có điện trở kéo lên (pull-up resistor) để hoạt động đúng.
Thời gian chống dội phím có thể điều chỉnh trong hàm DELAY nếu cần.
-
Bài này giờ quẳng vào ChatGPT thì viết trong vòng 1 phútNguyên văn bởi hei9029 Xem bài viết
Comment
dự án của bạn Tra theo mã, xem datasheet và đặt hàng trực tuyến. MicrochipROHMEpsonTaejin
Đặt hàng & tư vấn
Hà Nội024.3640 8561
TP.HCM028.3811 9870
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Quét mã hoặc bấm để chat Zalo với R&PChat Zalo
Bài viết mới nhất
Collapse
-
Trả lời cho Tìm bạn thân quen cũ.bởi thuaimiVẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....-
Channel: Tâm tình dân kỹ thuật
26-10-2026, 16:33 -
-
Trả lời cho Tìm bạn thân quen cũ.bởi nhathung1101Còn sống không lão??? Mất một thời gian chữa bệnh nên quên hỏi thăm.......
-
Channel: Tâm tình dân kỹ thuật
25-10-2026, 03:09 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi nhathung1101Thời buổi năng lượng xanh, nhất là xanh cả mặt... Thì Điện mặt giời, điện gió, sẽ lên ngôi.
Nếu không nắm bắt được cái cơ bản đó thì đi làm coder à? Mà coder giờ thất nghiệp cả lũ vì AI rồi!!!









...
-
Channel: Điện tử công suất
25-10-2026, 03:03 -
-
Trả lời cho Công suất truyền qua lõi máy biến ápbởi quangdonguehChà, lâu lắm rồi nhưng diễn đàn vẫn còn những chủ đề cốt lõi của điện tử công suất...-
Channel: Điện tử công suất
24-10-2026, 07:53 -
-
bởi bqvietNếu muốn tăng công suất cần tăng con chip và tăng biến áp lên lớn hơn. Thiết kế ban đầu dùng TNY25x và biến áp EE16 hoặc EE13. Tăng con chip lên TNY268 vẫn mạch nguyên lý đó và biến áp lên EE19 sẽ nâng công suất ra thêm nhiều. Tăng tối đa...-
Channel: Điện tử công suất
24-10-2026, 02:14 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 14:33 -
-
bởi Nexus 6PMạch này chỉ chạy cho LED 10W trở xuống, còn muốn chạy Led công suất cao thì sao bác thớt ơi?-
Channel: Điện tử công suất
22-10-2026, 10:49 -
-
Trả lời cho Tìm VR 5 chânbởi dinhthuong80Cảm ơn bác bqviet . Nhưng hình như các VR 5 chân của linhkienchatluong là loại có 2 chân là công tắc đóng mở. Thấy trên Shopee có chỗ bán linh kiện đàn Organ, mà không biết đúng loại không, với lại sao ... mắc dữ dội luôn ấy!!!
...-
Channel: Hướng dẫn tìm thông tin linh kiện
19-10-2026, 11:30 -

Comment