1. Trang chủ
  2. » Luận Văn - Báo Cáo

LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN

8 20 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 đề Lập Trình Giao Tiếp Phím Đơn Và Led Đơn
Trường học Trường Đại học Công Nghệ Thông Tin - Đại Học Quốc Gia Hà Nội
Chuyên ngành Kỹ thuật vi điều khiển
Thể loại Bài tập thực hành
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 8
Dung lượng 1,65 MB

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

Nội dung

BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN THÍ NGHIỆM u cầu Viết chương trình thực việc đọc liên tục trạng thái nút nhấn nối đến P1.0 hiển thị led nối chân P3.0 (bit thứ led BL202) Chương trình: ORG 2000H LAP: MOV C, P1.0 MOV P3.0, C SJMP LAP END Kiểm tra Biên dịch thực thi chương trình để kiểm tra kết thực - Kết thực hiện: Khi nhấn Switch nối với P1.0, đèn Port 1.0 3.0 sáng Thử giải thích có đến led bị tác động nhấn thả nút - Giải thích: Khi nhấn Switch nối với Port 1.0 Cathode LED nối với P1.0 nối Ground, Anode nối với VCC nên LED sáng LED nối với P3.0 sáng chương trình nạp vào vi xử lý Tổng kết xem bit port dùng thí nghiệm giải thích - Các bit từ đến port dùng cổng nhập xuất nhập bit tính từ bit đến BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN THÍ NGHIỆM Biên dịch thử nghiệm chương trình cho sẵn sau: ORG 2000H CPL P3.0 JMP MAIN MAIN: END Kiểm tra Biên dịch, thực thi kiểm tra hoạt động chương trình cách đo dạng sóng oscilloscope Câu hỏi Theo lý thuyết, dạng sóng tạo chân P3.0 nào? - Sóng tạo chân P3.0 sóng vng: BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Vẽ dạng sóng đo oscilloscope so sánh với kết qua lý thuyết Tần số tối đa xung tuần hồn có chu kỳ nhiệm vụ 50% đạt bao nhiêu? - Lệnh JMP tốn 2Mcs, CPL tốn 1Mc => chu kỳ 6Mcs => f max=153,846 Khz( Với tần số thạch anh 11.059Mhz) BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN THÍ NGHIỆM Yêu cầu Viết chương trình tạo xung vng Khz, chu kỳ nhiệm vụ 50% P3.0 Chương trình: ORG 2000H LAP: CPL P3.0 MOV R7, #230 DJNZ R7, $ SJMP LAP END Kiểm tra Biên dịch, thực thi kiểm tra chương trình cách sử dụng oscilloscope để kiểm tra Câu hỏi Để tạo xung 1Khz, vòng trễ tạo Tính tốn xác dựa chương trình viết - Các vịng trễ tạo cách sử dụng câu lệnh lặp - Tính tốn: xung 1Khz có chu kỳ 1000 µs; nhiệm vụ 50% nên thời gian xung mức 1= thời gian mức 0= 500 µs Sử dụng lệnh DJNZ mt MCs= ì 12/11.0592= 2.17 às => Lặp lại 500/2.17 = 230 lần BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Vẽ lại dạng sóng đo oscilloscope Sai số nhỏ đạt so với yêu cầu bao nhiêu? HD: Tính sai số dựa vào tần số thạch anh 11.0592 Mhz - Tính sai số nhỏ nhất: 2% BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN THÍ NGHIỆM Yêu cầu Viết chương trình Delay1sIns dùng chương trình để chớp/tắt LED đơn gắn vào P1.0 sau khoảng thời gian 1s Chương trình: ORG 2000H LAP: CPL P1.0 LCALL Delay1sIns SJMP LAP Delay1sIns: MOV R5,#8 L1: MOV R6,#250 L2: MOV R7,#250 DJNZ R7, $ DJNZ R6, L2 DJNZ R5,L1 RET END Kiểm tra Biên dịch, thực thi kiểm tra chương trình cách quan sát LED đơn BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Câu hỏi Thời gian 1s tạo nào? - Thời gian 1s tạo vòng lặp: Sử dụng vòng lặp lòng vào xấp xỉ 2×m×n×k chu kỳ máy( MCs) = 2×m×n×k µs Tìm m=8, n=250, k=250 THÍ NGHIỆM u cầu Viết chương trình tạo hiệu ứng quay LED: LED đơn BARLED1 sáng từ trái sang phải sau thời gian 1s lặp lại Sử dụng chương trình 1s viết Chương trình: ORG 2000H MOV A, #01111111b LAP: MOV P1, A LCALL Delay1sIns RR A SJMP LAP Delay1sIns: MOV R5,#8 L1: MOV R6,#250 L2: MOV R7,#250 DJNZ R7, $ DJNZ R6, L2 DJNZ R5,L1 RET END BÀI TN LẬP TRÌNH GIAO TIẾP PHÍM ĐƠN VÀ LED ĐƠN Kiểm tra Biên dịch, thực thi kiểm tra chương trình cách quan sát hiệu ứng bar led Câu hỏi Led bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) port 1? - Led bên trái kết nối đến MSB (most significant bit) port ... hỏi Để tạo xung 1Khz, vòng trễ tạo Tính tốn x? ?c dựa chương trình vi? ??t - Các vịng trễ tạo cách sử dụng câu lệnh lặp - Tính tốn: xung 1Khz có chu kỳ 1000 µs; nhiệm vụ 50% nên thời gian xung mức 1=... so sánh với kết qua lý thuyết Tần số tối đa xung tuần hồn có chu kỳ nhiệm vụ 50% đạt bao nhiêu? - Lệnh JMP tốn 2Mcs, CPL tốn 1Mc => chu kỳ 6Mcs => f max=153,846 Khz( Với tần số thạch anh 11.059Mhz)... Tỡm c m=8, n=250, k=250 TH NGHIM Yêu cầu Vi? ??t chương trình tạo hiệu ứng quay LED: LED đơn BARLED1 sáng từ trái sang phải sau thời gian 1s lặp lại Sử dụng chương trình 1s vi? ??t Chương trình: ORG 2000H

Trang 1

Viết chương trình thực hiện việc đọc liên tục trạng thái của nút nhấn được nối đến P1.0 và hiển

thị ra led được nối tại chân P3.0 (bit thứ 0 của led thanh BL202).

Chương trình:

ORG 2000H

LAP: MOV C, P1.0

MOV P3.0, C

SJMP LAP

END

Kiểm tra

Biên dịch và thực thi chương trình để kiểm tra kết quả thực hiện

- Kết quả thực hiện: Khi nhấn Switch nối với P1.0, đèn của Port 1.0 và 3.0 đều sáng Thử giải thích tại sao có đến 2 led cùng bị tác động khi nhấn hoặc thả nút

- Giải thích: Khi nhấn Switch nối với Port 1.0 thì Cathode của LED nối với P1.0 được nối Ground, trong khi đó Anode được nối với VCC nên LED sáng LED nối với P3.0 sáng là

do chương trình trên đã được nạp vào vi xử lý

Tổng kết xem các bit nào của 2 port có thể được dùng trong thí nghiệm trên và giải thích tại sao

- Các bit từ 0 đến 7 của 2 port có thể được dùng vì đây là các cổng nhập xuất nhập 8 bit tính từ bit 0 đến 7

Trang 2

THÍ NGHIỆM 2

Biên dịch và thử nghiệm chương trình cho sẵn sau:

MAIN:

CPL P3.0

END

Kiểm tra

Biên dịch, thực thi và kiểm tra hoạt động của chương trình bằng cách đo dạng sóng trên oscilloscope

Câu hỏi

Theo lý thuyết, dạng sóng tạo ra trên chân P3.0 sẽ như thế nào?

- Sóng tạo ra trên chân P3.0 sẽ là sóng vuông:

Trang 3

Vẽ dạng sóng đo được trên oscilloscope và so sánh với kết qua lý thuyết.

Tần số tối đa một xung tuần hoàn có chu kỳ nhiệm vụ 50% có thể đạt được là bao nhiêu?

- Lệnh JMP tốn 2Mcs, CPL tốn 1Mc => 1 chu kỳ mất 6Mcs => fmax=153,846 Khz( Với tần

số thạch anh là 11.059Mhz)

Trang 4

THÍ NGHIỆM 3

Yêu cầu

Viết chương trình tạo xung vuông 1 Khz, chu kỳ nhiệm vụ 50% trên P3.0

Chương trình:

ORG 2000H

LAP: CPL P3.0

MOV R7, #230

DJNZ R7, $

SJMP LAP

END

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách sử dụng oscilloscope để kiểm tra

Câu hỏi

Để tạo xung 1Khz, các vòng trễ tạo ra như thế nào Tính toán chính xác dựa trên chương trình đã viết

- Các vòng trễ được tạo ra bằng cách sử dụng câu lệnh lặp

- Tính toán: xung 1Khz có chu kỳ là 1000 µs; nhiệm vụ 50% nên thời gian xung ở mức 1= thời gian ở mức 0= 500 µs Sử dụng một lệnh DJNZ mất 2 MCs= 2 × 12/11.0592= 2.17

µs => Lặp lại 500/2.17 = 230 lần

Trang 5

Sai số nhỏ nhất có thể đạt được so với yêu cầu là bao nhiêu?

HD: Tính sai số dựa vào tần số thạch anh là 11.0592 Mhz

- Tính sai số nhỏ nhất: 2%

Trang 6

Yêu cầu

Viết chương trình con Delay1sIns và dùng chương trình con này để chớp/tắt LED đơn gắn

vào P1.0 sau mỗi khoảng thời gian 1s

Chương trình:

ORG 2000H

LAP: CPL P1.0

LCALL Delay1sIns

SJMP LAP

Delay1sIns:

MOV R5,#8

L1: MOV R6,#250

L2: MOV R7,#250

DJNZ R7, $

DJNZ R6, L2

DJNZ R5,L1

RET

END

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn

Trang 7

2×m×n×k chu kỳ máy( MCs) = 2×m×n×k µs Tìm được m=8, n=250, k=250.

THÍ NGHIỆM 5

Yêu cầu

Viết chương trình tạo hiệu ứng quay LED: các LED đơn trên BARLED1 sáng lần lượt từ trái sang phải sau thời gian 1s và lặp lại Sử dụng chương trình con 1s đã viết ở trên

Chương trình:

ORG 2000H

MOV A, #01111111b

LAP: MOV P1, A

LCALL Delay1sIns

RR A

SJMP LAP

Delay1sIns:

MOV R5,#8

L1: MOV R6,#250

L2: MOV R7,#250

DJNZ R7, $

DJNZ R6, L2

DJNZ R5,L1

RET

END

Trang 8

Kiểm tra

Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát hiệu ứng trên bar led

Câu hỏi

Led ngoài cùng bên trái kết nối đến MSB (most significant bit) hay LSB (less significant bit) của port 1?

- Led ngoài cùng bên trái kết nối đến MSB (most significant bit) của port 1

Ngày đăng: 10/01/2023, 11:58

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w