o Sau khi nạp file mã máy và vi điều khiển 89S51 Gắn vi điều khiển và mạch ứng dụng, sẽ thấy kết quả của bài học.
2.3.5 Cách đ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:
Lập trình điều khiển Led theo ngôn ngữ lập trình Assembly (có thể dùng chương trình Reads51)
Nội dung chương trình:
===============================================================
org 0h
start: mov P0,#11111001b;Số 1 clr P2.7 ;Led 1 hiển thị số 1 call delay ;Gọi trễ
setb P2.7 ;Tắt led 1 ;
mov P0,#11011011b;Số 2
clr P2.6 ;Led 2 hiển thị số 2 call delay ;Gọi trễ
setb P2.6 ;Tắt led 2 ;
mov P0,#10110000b;Số 3
clr P2.5 ;Led 3 hiển thị số 3 call delay ;Gọi trễ
setb P2.5 ;Tắt led 3 ;
mov P0,#10011001b;Số 4
clr P2.4 ;Led 4 hiển thị số 4 call delay ;Gọi trễ
setb P2.4 ;Tắt led 4 ;
mov P0,#10010010b;Số 5
clr P2.3 ;Led 5 hiển thị số 5 call delay ;Gọi trễ
setb P2.3 ;Tắt led 5 ;
mov P0,#10000010b;Số 6
clr P2.2 ;Led 6 hiển thị sô 6 call delay ;Gọi trễ
setb P2.2 ;Tắt led 6 ;
mov P0,#11111000b;Số 7
clr P2.1 ;Số 7 hiển thị số 7 call delay ;Gọi trễ
setb P2.1 ;Tắt led 7 ;
mov P0,#10000000b;Số 8
clr P2.0 ;Led 8 hiển thị số 8 call delay ;Gọi trễ
setb P2.0 ;Tắt led 8
sjmp start ;Trở lại 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 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.