1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÁO cáo THÍ NGHIỆM VI xử lý bài THÍ NGHIỆM 1 lập TRÌNH GIAO TIẾP nút NHẤN đơn và LED

30 11 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Thí Nghiệm Vi Xử Lí Bài Thí Nghiệm 1 Lập Trình Giao Tiếp Nút Nhấn Đơn Và LED
Tác giả Nhúm 4 Nguyễn Cụng Sang
Người hướng dẫn Giảng Viên Hướng Dẫn
Trường học Đại Học Quốc Gia TP Hồ Chí Minh Trường Đại Học Bách Khoa
Thể loại báo cáo
Năm xuất bản 2022
Thành phố TP.HCM
Định dạng
Số trang 30
Dung lượng 706,22 KB

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

Nội dung

MỤMỤC TIC TIÊUÊU::  Nắm đư Nắm được cácợc cách sử dụh sử dụng kit ng kit thí ngthí nghiệmhiệm, phần m, phần mềm lập tềm lập trình.rình..  Nắm đư Nắm được cácợc cách lập th lập trình gr

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA



BÁO CÁO THÍ NGHIỆM VI XỬ LÝ

Giảng viên hướng dẫn:

Sinh viên thực hiện :

Nhóm 4  Nguyễn Công Sang 1914915

TP.HCM, Ngày 20 tháng 11 năm 2022

Trang 2

BÀI THÍ NGHIỆM 1

LẬP TRÌNH GIAO TIẾP NÚT NHẤN ĐƠN VÀ LED

I

I MỤMỤC TIC TIÊUÊU::

  Nắm đư Nắm được cácợc cách sử dụh sử dụng kit ng kit thí ngthí nghiệmhiệm, phần m, phần mềm lập tềm lập trình.rình

  Nắm đư Nắm được cácợc cách lập th lập trình grình giao tiiao tiếp IO pếp IO port.ort

  Nắm đư Nắm được cácợc cách lập th lập trình trình tạo thờạo thời gian i gian trễ dùtrễ dùng các lng các lệnh.ệnh

MOV P3.0, CSJMP

LAP END Kiểm tr

 Kiểm traa

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

Trang 3

Channel A: chân P1.0, Channel B: chân P3.0

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: Vì chân P1.0 cũng được nối đến một led trên led thanh BL204 nênngoài led được nối với chân P3.0 bị tác động khi nhấn/thả nút nhấn thì led nối chânP1.0 cũng bị tác động

 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

Về nút nhấn: tất cả 8 nút nhấn kết nối với 8 bit trên Port 1 đều có thể sử dụng

Về led hiển thị: trừ

Về led hiển thị: trừ 2 led nối với chân P3.6 và chân P3.7 đều có thể sử dụng đ2 led nối với chân P3.6 và chân P3.7 đều có thể sử dụng để làmể làmled hiển thị (Khi sử dụng Port 1 và Port 3 vì chương trình được download xuốngRAM

RAM ngoài, do đó khi ngoài, do đó khi chạy chương tchạy chương trình vi xử lý làm việrình vi xử lý làm việc ở chế độ giao tiếp bộc ở chế độ giao tiếp bộnhớ ngoài Để giao tiếp bộ nhớ ngoài thì 2 tín hiện RD (P3.7) và WR (P3.6) được

sử dụng vì vậy chương trình không thể sử dụng 2 chân P3.6 và P3.7 như là chânI/O port)

Trang 4

Viết chương trình con Delay1s.

 Dùng chương trình con đã viết để chớp/tắt LED đơn gắn vào P1.0 saumỗi khoảng thời gian 1s

 Thay đổi chương trình con để tần số chớp tắt bây giờ là 1KHz

Chương trình:

O

ORRGG 22000000HHLOOP: CPL P1.0

ACALLDelay1s SJMPLOOP

Delay1s:

MOV R5, #8L

LPP11:: MMOOV V RR66,,

##22550 0 LLPP22:: MMOOV V RR77,,

#250

DJNZ R7, $DJNZ R6, LP2DJNZ R5, LP1RET

ENENDD Kiểm tr Kiểm tra:a:

 Biên dịch, thực thi và kiểm tra chương trình bằng cách quan sát LED đơn.Time/div = 0.25s, V/div = 1V cho Channel A: chân P1.0

Trang 5

Câu hỏiCâu hỏi ::

 Thời gian 1s được tạo ra như thế nào? Tính toán chính xác dựa trên chươngtrình đã viết

Thời gian 1s được tạo ra bởi vòng lặp: Sử dụng 3 vòng lặp lòng vào nhau mất xấp

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

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

   T miminn = 3(m + 1)*k + 3 = 6753 MC = 6,753 ms

 Khi tần số chớp tắt là 1Khz, cho biết hiện tượng trên LED?

LED chớp tắt nhanh hơn

 Sinh viên thay đổi chương trình con như thế nào để được tần số chớp tắt là1KHz?

DELAY_0.5ms:

Trang 6

MOV R7, #250DJNZ R7, $RET

SETB P1.1ACALLDELAY_300ms CLRP1.1

ACALLDELAY_700ms SJMPLOOP

DELAY_300ms:

MOV R5, #6L

LPP11:: MMOOV V RR66,,

##22000 0 LLPP22:: MMOOV V RR77,,

#250

DJNZ R7, $DJNZ R6, LP2DJNZ R5, LP1RET

DELAY_700ms:

Trang 7

MOV R5, #14L

LPP33:: MMOOV V RR66,,

#200

Trang 8

LPP44:: MMOOV V RR77, , ##225500

DJNZ R7, $DJNZ R6, LP4DJNZ R5, LP3RET

ENENDD Kiểm tr Kiểm tra:a:

 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

Channel A: chân P1.0, Channel B: chân P3.0

Trang 9

 Tại mỗi thời gian tạo trễ, các chân P1.0 và P1.1 xuất tín hiệu như thế nào?

Tại mỗi thời gian tạo trễ chân P1.1 đảo tín hiệu xuất ra 1 lầnSau tổng 2 thời gian tạo trễ 0.3s và 0.7s thì chân P1.0 đảo tín hiệu xuất ra 1 lần

 Để tạo các xung thỏa yêu cầu bài toán, các vòng trễ được viết như thế nào?DELAY_300ms:

MOV R5, #6L

LPP11:: MMOOV V RR66,,

##22000 0 LLPP22:: MMOOV V RR77,,

#250

DJNZ R7, $DJNZ R6, LP2

DJNZ R5, LP1RET

DELAY_700ms:

MOV R5, #14L

Trang 10

Delay1s đã viết ở trên.

Chương trình:

Trang 11

ORG 2000HSTART: MOV A, #11111110BMOV R1,#8

LOOP:

MOV P1, ACLR CRLC ACALL Delay1sDJNZ R1, LOOP

SJMP STARTDelay1s:

MOV R5,#8

RR66,,##22550 0 LL22::

DJNZ R7, $DJNZ R6,DJNZ R6,L

L2 2 DDJJNNZZR5,L1 RETEN

ENDD Kiểm tr Kiểm tra:a:

 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

Trang 12

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

Trang 13

significant bit) của port 1?

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

MAAIINN:: MMOOV V RR00, , ##99

CALLDISPLAYLED SJMPMAIN

DISPLAYLED:

MOV A, #0E0HADD A, R0MOV DPTR,

#0000H MOVX

@DPTR, A ACALLDELAY RET

D

DEELLAAYY:: MMOOV V RR77, , ##22L

L11:: MMOOV V RR66,,

#250

DJNZ R6, $

Trang 14

DJNZ R7, L1

Trang 15

RETEND Kiểm tr

MAAIINN:: MMOOV V RR00,,

#0E0H START:

Trang 16

MOV A, R0

Trang 17

MOV DPTR, #0000HMOVX @DPTR, AACALL DELAY1sINC R0

CJNE R0, #0EAH, STARTSJMP MAIN

MOV R7, #8L

L11:: MMOOV V RR66, , ##225500L

L22:: MMOOV V RR55,,

#250 DJNZR5, $ DJNZR6, L2 DJNZR7, L1 RETEND

 Kiểm tr Kiểm tra:a:

 Biên dịch, thực thi và kiểm tra chương trình

Trang 18

Câu hỏi:

 Vẽ lưu đồ giải thuật của chương trình

Vòng lặp nhảy theo thứ tự:

 Nếu R0 sa Nếu R0 sau khi tănu khi tăng 1 g 1 nhỏ hơn nhỏ hơn hoặc bằng hoặc bằng 9, 9, nhảy đến vnhảy đến vị trí STAị trí START: gọi chưRT: gọi chươngơngtrình con xuất giá trị chứa trong R0 lên LED 0

 Nếu R0 sau khi tăng bằng 10 (lớn h Nếu R0 sau khi tăng bằng 10 (lớn hơn 9), nhảy để ơn 9), nhảy để vị trí MAIvị trí MAIN: thực hiện xóa R0N: thực hiện xóa R0

về 0 và sau đó tiếp tục vòng lặp ở trên

MAAIINN:: MMOOV V RR00, , ##11

MOV R1, #33

CALLDISPLAYLED SJMPMAIN

DISPLAYLED:

CJNE R1, #0, KHAC0

Trang 19

MOV A, #0E0HADD A, R0

Trang 20

MOV DPTR,

#0000H MOVX

@DPTR, A ACALL

DELAY RETK

KHHAACC00:: CCJJNNE E RR11, , ##11, , KKHHAACC11

MOV A, #0D0HADD A, R0MOV DPTR,

#0000H MOVX

@DPTR, A ACALLDELAY RET

K

KHHAACC11:: CCJJNNE E RR11, , ##22, , KKHHAACC22

MOV A, #0B0HADD A, R0MOV DPTR,

#0000H MOVX

@DPTR, A ACALLDELAY RET

K

KHHAACC22:: CCJJNNE E RR11, , ##33, , KKTT

MOV A, #070HADD A, R0MOV DPTR, #0000HMOVX @DPTR, AACALL DELAYK

KTT:: RREETTDELAY:

Trang 21

MOV R7, #8L

L11:: MMOOV V RR66, , ##225500L

L22:: MMOOV V RR55,,

#250 DJNZR5, $ DJNZR6, L2 DJNZR7, L1 RETEND

 Kiểm tr Kiểm tra:a:

 Biên dịch, thực thi và kiểm tra chương trình

Trang 22

  Nắm được p Nắm được phương phhương pháp quét LEáp quét LED 7 đoD 7 đoạn.ạn.

Yêu cầu:

Viết chương trình hiển thị số 1 lên LED7 đoạn 0, sau đó 1s hiển thị số 2 lên LED 7đoạn 1, sau đó 1s hiển thị số 3 lên LED 7 đoạn 2, sau đó 1s hiển thị số 4 lên LED 7đoạn 3 Quá trình này lặp đi lặp lại Việc hiển thị này sử dụng chương trình conDisplayLED đã viết ở trên

Giảm thời gian trễ xuống còn 100 ms Quan sát hiện tượng

Tính toán thời gian trễ sao cho không còn thấy LED nhấp nháy và áp dụng vào chươngtrình

Giảm thời gian trễ xuống bằng 0 (không sử dụng hàm delay) Quan sát hiện tượng.Chương trình:

Trang 23

ORG 2000HSTART: MOV R0, #1MOV R1, #0

LOOP: CALL DISPLAYLEDCALL DELAY

INCR0INC R1CALLDISPLAYLEDCALL DELAYINC

R0INC R1CALLDISPLAYLEDCALL DELAYINC

R0INC R1CALLDISPLAYLEDCALL DELAYINC

R0INC R1

Trang 24

CJNE R1, #4, LOOPSJMP START

DISPLAYLED:

CJNE R1, #0, KHAC0MOV A, #0E0H

ADD A, R0MOV DPTR, #0000H

Trang 25

MOVX @DPTR, AACALL DELAYRET

K

KHHAACC00:: CCJJNNE E RR11, , ##11, , KKHHAACC11

MOV A, #0D0HADD A, R0MOV DPTR,

#0000H MOVX

@DPTR, A ACALLDELAY RET

K

KHHAACC11:: CCJJNNE E RR11, , ##22, , KKHHAACC22

MOV A, #0B0HADD A, R0MOV DPTR,

#0000H MOVX

@DPTR, A ACALLDELAY RET

K

KHHAACC22:: CCJJNNE E RR11, , ##33, , KKTT

MOV A, #070HADD A, R0MOV DPTR, #0000HMOVX @DPTR, AACALL DELAYK

KTT:: RREETTDELAY:

MOV R7, #10

Trang 26

LL:: MMOOV V RR66,,

#250 DJNZR6, $ DJNZ

R7, L RETEND

 Kiểm tr Kiểm tra:a:

 Biên dịch, thực thi và kiểm tra chương trình

Trang 27

Khi giảm rất nhỏ thời gian trễ, Khi giảm rất nhỏ thời gian trễ, LED không còn sáng nữa Vì thời LED không còn sáng nữa Vì thời gian giữa mỗi lầngian giữa mỗi lầnhiển thị số lên LED rất

hiển thị số lên LED rất nhỏ làm nhỏ làm cho LED không đủ thcho LED không đủ thời gian để ời gian để làm sáng đèn nênlàm sáng đèn nên

ta không thấy LED sáng nữa

Ngày đăng: 01/12/2022, 10:40

HÌNH ẢNH LIÊN QUAN

Giản đồ xung như hình trênGiản đồ xung như hình trên - BÁO cáo THÍ NGHIỆM VI xử lý bài THÍ NGHIỆM 1 lập TRÌNH GIAO TIẾP nút NHẤN đơn và LED
i ản đồ xung như hình trênGiản đồ xung như hình trên (Trang 8)
Viết lại chương trình trên bằng phương pháp sử dụng bảng tra (Lookup table).Viết lại chương trình trên bằng phương pháp sử dụng bảng tra (Lookup table). - BÁO cáo THÍ NGHIỆM VI xử lý bài THÍ NGHIỆM 1 lập TRÌNH GIAO TIẾP nút NHẤN đơn và LED
i ết lại chương trình trên bằng phương pháp sử dụng bảng tra (Lookup table).Viết lại chương trình trên bằng phương pháp sử dụng bảng tra (Lookup table) (Trang 22)

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