MENU

Mạch tạo số ngẫu nhiên sử dụng 8051

Mạch tạo số ngẫu nhiên sử dụng 8051 sẽ hiển thị số ngẫu nhiên trong khoảng từ 00 đến 99. Đây là một mạch rất đơn giản và các bạn có thể tự làm ngay sau khi đọc xong bài viết này.

Mạch tạo số ngẫu nhiên sử dụng 8051

 Mạch tạo số ngẫu nhiên sử dụng 8051 sẽ hiển thị số ngẫu nhiên trong khoảng từ 00 đến 99. Đây là một mạch rất đơn giản và các bạn có thể tự làm ngay sau khi đọc xong bài viết này. Mạch dựa trên vi điều khiển AT89S51, hai LED bảy đoạn, hai transistor và một vài linh kiện khác.

Sơ đồ mạch điện

 

 

Danh sách các linh kiện

Tên linh kiện

Sô lượng

Vi điều khiển (AT89S51)

1

Nút nhấn

2

LED 7 đoạn

2

Transitor (2N2222)

2

Điện trở (100 ohm)

10

Điện trở (8.2k ohm)

1

Điện trở (10k ohm)

1

Tụ điện (10uF / 10V)

2

 

Hoạt động

 Hai LED bảy đoạn được nối với nhau và các đường dữ liệu được nối với cổng 0 của vi điều khiển. Transistor Q1 và Q2 điều khiển 2 LED tương ứng với D1 và D2. Các chân P1.1 và P1.2 có chức năng truyền tín hiệu điều khiển đóng ngắt cho 2 Transistor. Nút nhấn S1, tụ C1 và điện trở R10 tạo thành mạch thiết lập lại cho vi điều khiển (Reset). Điện trở R9, tụ điện C2 và nút S2 tạo thành mạch hiển thị LED 7 đoạn, khi nhấn nút S2 sẽ cung cấp tín hiệu ở mức thấp cho vi điều khiển để hiển thị LED 7 đoạn, được nối với chân INTO (chân 12).

 Sau khi BẬT nguồn, LED 7 đoạn sẽ không hiển thị và khi nhấn nút S2 màn hình sẽ hiển thị một số ngẫu nhiên trong khoảng từ 00 đến 99. Để thử lại, bạn phải nhấn nút đặt lại (Reset) và sau đó nhấn nút S2. Nếu bạn chỉ cần hiển thị một chữ số, bạn có thể bỏ 1 LED 7 đoạn và các linh kiện  liên quan đến nó (Transistor, điện trở).

Chương trình (Code)

Link tải chương trình:

https://drive.google.com/file/d/111dQFVa0iPWD3zq5rH1GDh4-HRFkf7zV/view?usp=sharing

Giải thích chương trình

 Phần đầu tiên của chương trình là phần MAIN (chương trình chính) đặt các điều kiện ban đầu và các tham số để hiển thị LED. Phần tiếp theo là vòng lặp có tên LABEL, nạp dữ liệu vào thanh ghi R6 sau đó giảm dần từ 1 đến 0 và sau đó lặp lại chu kỳ. Đây là phần tạo ra số ngẫu nhiên. Mỗi lần R6 giảm giá trị  kết quả sẽ được chuyển sang bộ tích lũy A. Phần tiếp theo là phần hiển thị số được viết dưới dạng chương trình con có tên ISR. ISR sẽ được gọi bất cứ khi nào có tín hiệu mức thấp ở INT0 (nhấn nút S2).

 

 ISR thực hiện các phép toán về nội dung của A để tách hai chữ số và sau đó tiến hành hiển thị trên màn hình. Chương trình con DELAY tạo ra độ trễ khoảng 1ms để chuyển đổi giữa 2 màn hình. Chương trình con DISPLAY thêm giá trị hiện tại vào A với địa chỉ được lưu trong DPTR (địa chỉ bắt đầu của LUT) và di chuyển nội dung đến A. Kết quả sẽ hiển thị chữ số hiện tại trong A.

Hỗ trợ liên kết
0979466469
0899909838
0938128290
0899909838
Khiếu nại: 0964238397
0979466469

Hotline: 0979 466 469

Thương hiệu nổi bật