1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Thực hành điều khiển các thiết bị vào ra pdf

9 366 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thực hành điều khiển các thiết bị vào ra
Trường học Trường Đại Học Bách Khoa Hà Nội
Thể loại Thực hành
Thành phố Hà Nội
Định dạng
Số trang 9
Dung lượng 155 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Thực hành điều khiển các thiết bị vào ra 2.3 Điều khiển led 7 thanh 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

Trang 1

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

2 Thực hành điều khiển các thiết bị vào ra

2.3 Điều khiển led 7 thanh

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ễ

Trang 2

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

===============================================================

Trang 3

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

2 Thực hành điều khiển các thiết bị vào ra

2.3 Điều khiển led 7 thanh

2.3.2 Phối hợp nhiều thanh của led 7 thanh

Bước 1:

Xây dựng mạch điều khiển mô tả như hình 2.3.2 Trong ví dụ này, các chân P2.0 điều khiển việc cấp nguồn cho 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 Trong phần này sẽ hướng dẫn cách phối hợp hiển thị các thanh led của led 7 thanh

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

Trang 4

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,#11111100b; Cấp 0V cho thanh led a và b

clr P2.0 ; Cấp 5V cho led 7 thanh

call delay ; Gọi hàm trễ

mov P0,#11011011b; Cấp 0V cho thanh led c,f

clr P2.0 ; Cấp 5V cho led

call delay ; Gọi hàm trễ

mov P0,#10110000b; Cấp 0V to a,b,c,d,g

clr P2.0 ; Cấp 5V cho led

call delay ; Gọi hàm trễ

sjmp start ; Trở về đầu chương trình

;=============================================

;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

Trang 5

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

2.3.3 Điều khiển led 7 thanh hiển thị số

Thực hành mạch như phần 2.3.2, tuy nhiên hãy phối hợp các thanh led để led 7 thanh hiển thị các chữ số 0,1,2,3,4,5,6,7,8,9 Việc này rất đơn giản Chỉ việc thay đổi lại chương trình ở phần 2.3.2 (thay đổi lại lệnh mov P0,#xxxxxxxxb)

2.3.4 Điều khiển led 7 thanh hiển thị chữ

Thực hành mạch như phần 2.3.2, tuy nhiên hãy phối hợp các thanh led để led 7 thanh hiển thị các chữ số a,b,c,d,e,f Việc này rất đơn giản Chỉ việc thay đổi lại chương trình ở phần 2.3.2 (thay đổi lại lệnh mov P0,#xxxxxxxxb)

Thực hành điều khiển các thiết bị vào ra

2.2 Giao tiếp công tắc

2.2.2 Điều khiển led chạy khi nhấn công tắc

Trong phần này, nội dung bài học là điều khiển led sáng dịch chuyển khi nhấn công tắc Cụ thể là led sáng sẽ chuyển động sang trái khi nhấn phím nối với chân P2.0 và chuyển động sang phải khi nhấn phím nối với chân P2.1

Bước 1:

Xây dựng mạch điều khiển mô tả như hình 2.2.2 Trong ví dụ này, các chân P2.0 đến chân P2.7 của vi điều khiển được nối với phím bấm nháy và các chân P0.0 đến P0.7 được nối với Ka-tốt của led Nhiệm vụ là khi nhấn phím tại chân P2.0 thì led sáng chuyển động sang trái, nhấn phím nối với chân P2.1 led sáng sẽ chuyển động sang phải

Trang 6

Hình 2.2.2 Sơ đồ nguyên lý hoạt động giao tiếp với công tắc

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

CekP20: JB P2.0,CekP21 ; kiểm tra P2.0

call RLeft ; gọi hàm điều khiển led -> trái

sjmp CekP20 ; trở về CekP20

CekP21: JB P2.1,CekP20 ; kiểm tra P2.1

call RRight ; gọi hàm điều khiển led -> trái

sjmp CekP20 ; trở về CekP2.0

;===============================================

;this subroutine is used to move LED to the left

;================================================

RLeft: mov A,#11111110b;Khởi tạo cho led tại P0.0 sáng

RLeft1: mov P0,A ;P0.0 sáng

call delay ;gọi hàm trễ

JB P2.0,RLeft2 ;kiểm tra P2.0

sjmp EndRLeft ;không nhấn phím P2.0, kết thúc

RLeft2: RL A ; dịch thanh ghi A -> trái

sjmp RLeft1

EndRLeft:

ret

Trang 7

;=================================================

;this subroutine is used to move LED to the right

;=================================================

RRight: mov A,#01111111b

RRight1:mov P0,A

call delay

JB P2.0,RRight2

sjmp EndRRight

RRight2:RL A

sjmp RRight1

EndRRight:

ret

;=============================================

;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

Thực hành điều khiển các thiết bị vào ra

2.1 Điều khiển LED

2.1.3 Điều khiển bật tắt lần lượt các led

Phần trước đã giới thiệu cách điều khiển bật tắt nhiều led cùng lúc, phần này sẽ hướng dẫn cách điều khiển bật tắt lần lượt các led (8 led)

Bước 1:

Trang 8

Thiết kế mạch ứng dụng cho vi điều khiển như hình 2.1.3 Trong đó các chân P0.0 đến P0.7 được nối với Ka-tốt của led

Hình 2.1.3 Sơ đồ nguyên lý mạch điều khiển lần lượt các led

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,#11111110b; Bật led nối với P0.0

call delay ; Tạo trễ

mov P0,#11111101b; Bật led nối với P0.1

call delay ; Tạo trễ

mov P0,#11111011b; Bật led nối với P0.2

call delay ; Tạo trễ

mov P0,#11110111b; Bật led nối với P0.3

call delay ; Tạo trễ

mov P0,#11101111b; Bật led nối với P0.4

call delay ; Tạo trễ

mov P0,#11011111b; Bật led nối với P0.5

call delay ; Tạo trễ

mov P0,#10111111b; Bật led nối với P0.6

call delay ; Tạo trễ

mov P0,#01111111b; Bật led nối với P3.7

call delay ; Tạo trễ

sjmp start ; loooooop forever to start

;=============================================

;subroutine delay created to rise delay time

;=============================================

delay: mov R1,#255

del1: mov R2,#255

del2: djnz R2,del2

djnz R1,del1

Trang 9

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

Ngày đăng: 02/08/2014, 01:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w