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

Thí nghiệm Vi xử lý 1: Lập trình giao tiếp phím đơn và LED đơn.

16 243 1

Đ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

Định dạng
Số trang 16
Dung lượng 722,5 KB

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

Nội dung

Báo cáo thí nghiệm Vi xử lý Đại học Bách Khoa Đại học Quốc Gia thành phố Hồ Chí Minh.Bài thí nghiệm 1: Lập trình giao tiếp phím đơn và LED đơn.Thí nghiệm 1: Mục tiêu: Nắm được cách thức điều khiển trực tiếp ngoại vi thông qua các port IO của 8051.Yêu cầu: 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.0và hiển thị ra led được nối tại chân P3.0 (bit thứ 0 của led thanh BL202).

Trang 1

MỤC TIÊU

 Nắm được cách sử dụng kit thí nghiệm, phần mềm lập trình

 Nắm được cách lập trình giao tiếp IO port

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

CHUẨN BỊ

 Đọc chương 1 và chương 2 của tài liệu hướng dẫn

 Viết chương trình và mô phỏng trên Proteus các bài thí nghiệm dựa trên bài thí nghiệm 0

Trang 2

THÍ NGHIỆM 1

Mục tiêu: Nắm được cách thức điều khiển trực tiếp ngoại vi thông qua các port I/O của 8051 Yêu cầu: 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)

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

 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?

 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?

BÁO CÁO:

1 Chương trình

MAIN: MOV C, P1.0

2 Kết quả thí nghiệm

a Kết quả mô phỏng: (Time/div = 0.5s, V/div = 1V cho Channel A & Channel B)

Trang 3

 Channel A: chân P1.0

 Channel B: chân P3.0

b Trả lời câu hỏi

1) 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?

Vì chân P1.0 cũng được nối đến một led trên led thanh BL204 nên ngoà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ân P1.0 cũng bị tác động

2) 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ừ 2 led nối với chân P3.6 và chân P3.7 đều có thể sử dụng để làm led hiển thị (Khi sử dụng Port 1 và Port 3 vì chương trình được download xuống RAM ngoài, do đó khi chạy chương trình vi xử lý làm việ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ân I/O port)

Trang 4

THÍ NGHIỆM 2

Mục tiêu: Nắm được cách tạo trễ dùng vòng lặp lệnh

Yêu cầu: Viết chương trình tạo xung vuông 1 Hz, chu kỳ nhiệm vụ 50% trên chân P1.0

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

 Để tạo xung 1Hz, 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

 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

BÁO CÁO:

1 Chương trình

MAIN:

CPL P1.0

DELAY:

MOV R7, #4

Trang 5

END

2 Kết quả thí nghiệm

a Kết quả mô phỏng: (Time/div = 0.25s, V/div = 1V cho Channel A)

 Channel A: chân P1.0

b Trả lời câu hỏi

1) Để tạo xung 1Hz, 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

 Tạo trễ:

Với xung tần số 1Hz, thời gian mức cao và mức thấp là 0.5s tương ứng với 460,800MC Sử dụng công thức tính gần đúng thời gian delay với chương trình con tạo trễ

3 vòng lặp (với lần lượt là giá trị nạp vào thanh ghi R7, R6, R5) Chọn

Trang 6

 Tính toán chính xác thời gian tạo trễ:

Công thức tính chính xác thời gian delay với chương trình tạo trễ 3 vòng lặp:

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

Sai số so với yêu cầu là , để sai số nhỏ nhất thì phải đạt giá trị nhỏ nhất (với ) thì (tương ứng với giá trị nạp vào R5 là 0), khi đó ta có Thông qua biến đổi, ta có đạt giá trị nhỏ nhất tại

Trang 7

THÍ NGHIỆM 3

Mục tiêu: Nắm được cách viết chương trình con để tạo trễ

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

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

 Thời gian 1s được tạo ra như thế nào?

 Bây giờ nếu một bạn sinh viên muốn viết chương trình con tạo trễ 2s thì phải sửa lại chương trình con đã viết như thế nào?

BÁO CÁO:

1 Chương trình

LOOP:

Delay1sIns:

Trang 8

2 Kết quả thí nghiệm

a Kết quả mô phỏng: (Time/div = 0.5s, V/div = 1V cho Channel A)

 Channel A: chân P1.0

b Trả lời câu hỏi

1) Thời gian 1s được tạo ra như thế nào?

Thời gian 1s được tạo ra bằng cách sử dụng chương trình con tạo trễ 3 vòng lặp (sử dụng ở thí nghiệm 2) với các giá trị nạp vào R7, R6, R5 lần lượt là 8, 240, 240 ( )

2) Bây giờ nếu một bạn sinh viên muốn viết chương trình con tạo trễ 2s thì phải sửa lại chương trình con đã viết như thế nào?

Muốn viết chương trình con tạo trễ 2s thì sửa lại giá trị nạp vào R7 thành 16 ( )

Trang 9

THÍ NGHIỆM 4

Mục tiêu: Nắm được cách sử dụng chương trình con để tạo xung

Yêu cầu: Viết chương trình tạo xung vuông 2Hz chu kỳ nhiệm vụ 70% tại chân P1.0

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

 Thời gian mức cao và mức thấp của xung lần lượt là bao nhiêu chu kỳ máy? (Lấy tần số của thạch anh xấp xỉ 12MHz) Giá trị nạp vào các thanh ghi là bao nhiêu?

 Viết lại chương trình tạo xung vuông 2Hz với chu kỳ nhiệm vụ bây giờ là 80%?

BÁO CÁO:

1 Chương trình

MAIN:

DL50ms:

DL: MOV R5, #250

Trang 10

TN Vi xử lý BM Điện tử Page |

2 Kết quả thí nghiệm

a Kết quả mô phỏng: (Time/div = 50ms, V/div = 1V cho Channel A)

 Channel A: chân P1.0

b Trả lời câu hỏi

1) Thời gian mức cao và mức thấp của xung lần lượt là bao nhiêu chu kỳ máy? (Lấy tần

số của thạch anh xấp xỉ 12MHz) Giá trị nạp vào các thanh ghi là bao nhiêu?

Với tần số 2Hz thì chu kỳ của xung là 0.5s và với chu kì nhiệm vụ 70% thì thời gian mức cao và mức thấp lần lượt là 0.35s và 0.15s

Lấy tần số thạch anh xấp xỉ 12MHz, suy ra Từ đó ta có thời gian mức cao

và thời gian mức thấp lần lượt là 350,000MC và 150,000MC

Trang 11

Sử dụng chương trình con để tạo trễ 0.05s (tương ứng với 50,000 MC) Ta có nên chọn giá trị nạp vào thanh ghi R6 và R5 lần lượt là 100 và 250

2) Viết lại chương trình tạo xung vuông 2Hz với chu kỳ nhiệm vụ bây giờ là 80%?

MAIN:

DL50ms:

DL: MOV R5, #250

Trang 12

TN Vi xử lý BM Điện tử Page |

THÍ NGHIỆM 5

Mục tiêu: Nắm được cách tạo nhiều xung khác nhau trên 8051

Yêu cầu: Viết chương trình tạo 2 xung vuông 0.5Hz và 1Hz với cùng chu kỳ nhiệm vụ là 50% lần

lượt trên chân P1.0 và P1.1

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 trên các LED đơn

 Vẽ giản đồ của 2 xung? Các chương trình con viết với thời gian trễ là bao nhiêu?

 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?

BÁO CÁO:

1 Chương trình

MAIN:

LOOP: CPL P1.1

DL500ms:

Trang 13

RET

2 Kết quả thí nghiệm

a Kết quả mô phỏng: (Time/div = 0.25s, V/div = 1V cho Channel A & Channel B)

 Channel A: chân P1.0

 Channel B: chân P1.1

b Trả lời câu hỏi

1) Vẽ giản đồ của 2 xung? Các chương trình con viết với thời gian trễ là bao nhiêu?

Giản đồ xung: Hình ảnh mô phỏng ở phần a

Chương trình con viết với thời gian tạo trễ là 0.5s

2) 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 trạng thái tín hiệu xuất ra 1 lần

Tại mỗi 2 lần thời gian tạo trễ, chân P1.0 đảo trạng thái tín hiệu xuất ra 1 lần

Trang 14

TN Vi xử lý BM Điện tử Page |

THÍ NGHIỆM 6

Mục tiêu: Hiểu được cách hiển thị trên và tạo hiệu ứng trên bar LED

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 Delay1sIns đã viết ở trên

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

 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?

BÁO CÁO:

1 Chương trình

MAIN:

MOV P1, A

ACALL DELAY1sIns

RR A

SJMP MAIN

DELAY1sIns:

DL2: MOV R6,#240

DL1: MOV R5,#240

DJNZ R5,$

DJNZ R6,DL1

DJNZ R7,DL2

RET

Trang 15

END

2 Kết quả thí nghiệm

a Kết quả mô phỏng

Trang 16

TN Vi xử lý BM Điện tử Page |

b Trả lời 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: 20/09/2021, 11:14

TỪ KHÓA LIÊN QUAN

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

w