Điều khiển nhiều led 7 thanh

Một phần của tài liệu VXL 8051 (Trang 29)

• 2.3 Điều khiển led 7 thanh

2.3.6 Điều khiển nhiều led 7 thanh

Trong phần này bài học sẽ hướng dẫn cách điều khiển nhiều led 7 thanh cùng lúc

Bước 1:

Xây dựng mạch điều khiển mô tả như hình 2.3.5. Trong ví dụ này, các chân P2.0 đến P2.7 điều khiển việc cấp nguồn cho các led 7 thanh. Các chân P0.0 đến P0.6 được nối với các chân của led 7 thanh để điều khiển việc cấp đất cho các thanh led.

Hình 2.3.5 Sơ đồ nguyên lý điều khiển nhiều led 7 thanh

Bước 2:

Tuy nhiên, cách hiển thị bằng ngôn ngữ lập trình ở phần này khác phân trước ở chỗ dùng cách tra bảng để hiển thị led

Nội dung chương trình:

=============================================================== org 0h

start: mov dptr, #word ;để con trỏ dữ liệu vào đấu bảng mov R6,#8 ; số led cần hiển thị, 8 led

mov R1,#01111111b; khởi đầu ở led 8 Again: clr A ; xóa thanh ghi acc

movc A,@A+dptr ; đưa số đầu tiên ở bảng vào acc inc dptr ; tăng vị trí con trỏ

mov P0,A ; đưa mã cần hiển thị ra P0 mov A,R1 ; thứ tự led cần hiển thị mov P2,A ; hiển thị led

rr A ; dịch vi trí led cần hiển thị mov R1,A ; lưu vào thanh ghi R1 call delay ; gọi hàm trễ

mov P0,#11111111b; xóa

djnz R6,Again ; lặp lại 8 lần sjmp start ; trở về vị trí ban đầu

;============================================= ;subroutine delay created to rise delay time ;============================================= delay: mov R1,#255 del1: mov R2,#255 del2: djnz R2,del2 djnz R1,del1 ret ; word: DB 00111111b, 01000111b, 00001000b, 00000011b DB 01000110b, 01000000b, 01001000b, 00111111b end =============================================================== Bước 3:

Biên dịch chương trình trên bằng các chương trình biên dịch chuyên dụng cho vi điều khiển như Reads51. Sau khi biên dịch, chươn trình sẽ tạo ra file mã máy mà vi điều khiển dựa vào đó để hoạt động. Thông thường file đó sẽ có dạng tên_file.hex. Việc đặt tên file là do người dùng tự đặt.

Bước 4

Nạp file mã máy mà chương trình biên dịch vừa tạo ra bằng các công cụ và mạch nạp như trong trang web này hướng dẫn làm như: mạch nạp 89xxxx, mạch nạp 89Cxx, mạch nạp 89Sxxxx, mạch nạp 89Sxx và AVR

Sau khi nạp file mã máy vào vi điều khiển 89S51. Gắn vi điều khiển vào mạch ứng dụng, sẽ thấy kết quả của bài học.

Một phần của tài liệu VXL 8051 (Trang 29)

Tải bản đầy đủ (DOC)

(31 trang)
w