You are on page 1of 4

BÀI TN 2

HIỂN THỊ LED 7 ĐOẠN

MỤC TIÊU:
 Nắm được cách giao tiếp ngoại vi ở dạng ánh xạ bộ nhớ, giao tiếp LED 7 đoạn.

CHUẨN BỊ:
 Đọc chương 2 và chương 4 của tài liệu hướng dẫn
 Viết chương trình và mô phỏng các bài thí nghiệm

THÍ NGHIỆM 1

Mục tiêu

Nắm được cách thức hiển thị LED 7 đoạn

Yêu cầu

Viết chương trình con DisplayLed0 hiển thị lên LED 7 đoạn số 0 giá trị chứa trong thanh ghi
R0

Viết chương trình chính hiển thị số 9 lên LED 7 đoạn số 0 bằng cách cho R0 bằng 9 và gọi
chương trình con DisplayLed0.

Kiểm tra

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

THÍ NGHIỆM 2

Mục tiêu

Kết hợp được các chương trình con, hiển thị LED 7 đoạn sử dụng các lệnh để tạo delay

Yêu cầu

Viết chương trình hiển thị lên LED 7 đoạn số 0 các con số từ 0 đến 9 sau các khoảng thời gian
1s

HD:

Viết chương trình Delay1sTimer tạo trễ 1 s dùng các lệnh.


Trong chương trình chính, đầu tiên cho thanh ghi R0 bằng 0, sau đó vào vòng lặp gọi chương
trình con DisplayLed0 đã viết ở phần trước, tạo trễ 1s, tăng R0 lên 1 và lặp lại quá trình. Nếu
R0 lớn hơn 9 thì cho R0 bằng 0 trở lại.

Kiểm tra

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

THÍ NGHIỆM 3

Mục tiêu

Nắm được cách thức dùng chương trình con có truyền tham số để điều khiển ngoại vi

Yêu cầu

Viết chương trình con DisplayLED xuất giá trị chứa trong thanh ghi R0 lên LED 7 đoạn có
số thứ tự chứa trong thanh ghi R1.

R0 nằm trong tầm từ 0-9 và R1 trong tầm từ 0-3.

Sau đó dùng chương trình con này viết chương trình chính xuất giá trị 1 lên LED 7 đoạn số 3.

HD:

Để hiển thị lên 1 LED 7 đoạn ta phải ghi ra ngoại vi ở vùng nhớ 0000H-1FFFH một byte, với
4 bit thấp chứa giá trị của giá trị cần hiển thị và 4 bit cao được dùng để chọn LED. Trong 4 bit
cao, bit nào bằng 0 thì LED 7 đoạn tương ứng sẽ được bật.

Đoạn chương trình sau tính toán để xuất ra điều khiển LED dựa vào R0, R1

MOV B, R1

MOV A, #11110111B ;bit số 3 bằng 0, bốn bit cao bằng 1.

SHIFTLOOP:

RL A

DJNZ B, SHIFTLOOP

ANL A, #0F0H

PUSH ACC

MOV A, R0

Lab Manual for “8051 Microcontroller….”


BÀI TN 2
HIỂN THỊ LED 7 ĐOẠN
ANL A, #0FH

MOV R0, A

POP ACC

ORL A, R0

Kiểm tra

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

Câu hỏi

Giải thích ý nghĩa các lệnh của đoạn chương trình trong hướng dẫn.

THÍ NGHIỆM 5

Mục tiêu

Nắm được phương pháp quét LED 7 đoạ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 con DisplayLED đã 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ương trì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.

Kiểm tra

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

Câu hỏi

Thời gian trễ để không còn thấy LED nhấp nháy là bao nhiêu theo lý thuyết? Giải thích cách
tính.

Khi giảm rất nhỏ thời gian trễ, hiện tượng xảy ra là gì? Giải thích
Lab Manual for “8051 Microcontroller….”

You might also like