Bài 5: THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD1.1Mục tiêuSinh viên sẽ thực hiện các mạch số liên quan đến LED 7 đoạn như mạch hiển thị số BCD có 2 chữ số lên LED 7 đoạn hoặc mạch so sách hai số có hiển thị lên LED 7 đoạn. Sinh viên dựa vào thiết kế mạch giải mã LED 7 đoạn ở lab 5, tiếp đó đóng gói mạch giải mã này thành symbol để sử dụng có các mạch tiếp theo. Trong Lab này, ta sẽ sử dụng switch trên Kit DE2 như là ngõ vào của mạch và sử dụng LED 7 đoạn và LED đơn như là ngõ ra của mạch. Để làm tốt Lab 6, sinh viên cần phải nắm trước ở nhà về cách thiết kế, biên dịch và mô phỏng một mạch điện đơn giản trên Quartus II.
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
- -BÀI BÁO CÁO BUỔI 5
Môn: Thực hành Nhập môn mạch số
Trang 2Bài 5: THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD 1.1 Mục tiêu
Sinh viên sẽ thực hiện các mạch số liên quan đến LED 7 đoạn như mạch hiển thị số BCD có 2 chữ số lên LED 7 đoạn hoặc mạch so sách hai số có hiển thị lên LED 7 đoạn Sinh viên dựa vào thiết kế mạch giải mã LED 7 đoạn ở lab
5, tiếp đó đóng gói mạch giải mã này thành symbol để sử dụng có các mạch tiếp theo Trong Lab này, ta sẽ sử dụng switch trên Kit DE2 như là ngõ vào của mạch
và sử dụng LED 7 đoạn và LED đơn như là ngõ ra của mạch Để làm tốt Lab 6, sinh viên cần phải nắm trước ở nhà về cách thiết kế, biên dịch và mô phỏng một mạch điện đơn giản trên Quartus II
1.2 Nội dung thực hành
Sử dụng mạch giải mã LED 7 đoạn và 1 số mạch Comparator, mạch A và mạch Mux2-1 để thực hiện mạch hiển thị số BCD có hai chữ số (từ 0 đến 15) Hiển thị số hàng chục lên HEX1 và hàng đơn vị lên HEX0
1.2.1 Thiết kế mạch hiển thị số BCD có 2 chữ số
1. Tạo một project Quartus mới, đặt tên: E/lab5/lab5_10520622
2. Thiết kế một mạch theo yêu cầu đề bài Chú ý việc thiết kế mạch hiển thị số BCD có hai chữ số được thực hiện như mạch sau:
Trang 3Trong đó:
Mạch dồn kênh MUX2-1 sẽ dựa vào đầu ra z của mạch Comparator để chọn kênh v3v2v1v0 hoặc m2m1m0
Thiết kế mạch dồn kênh MUX2-1:
Set = 0 => Y = a0
Set = 1 => Y = a1
+ Bảng sự thật mạch dồn kênh MUX2-1:
Set 0 1 Z
Trang 4+ Thiết kế mạch:
+ Đóng gói mạch:
Mạch Comparator để kiểm tra số lớn hơn 9:
Nếu số nhỏ hơn 9 thì mạch chọn sẽ chọn cổng số 0 tức là v3v2v1v0 sẽ được đưa ra HEX0 để hiển thị lên d0, và d1 sẽ hiển thị số 0
Nếu số lớn hơn 9 thì d1 sẽ hiển thị số 1, và d0 sẽ hiển thị số m2m1m0 từ Circuit A
Thiết kế mạch Comparator:
Nếu số nhỏ hơn 9 thì mạch sẽ chọn cổng a0 => z = 0
Nếu số lớn hơn 9 thì mạch sẽ chọn cổng a1 => z = 1
+ Bảng sự thật mạch Comparator:
v3 v2 v1 v0 z
Trang 51 0 0 1 0
+ Thiết kế mạch:
+ Đóng gói mạch:
Mạch Circuit A hoạt động theo bảng sau:
v3v2v1v0 m2m1m0
1010 (số 10) 000 (số 0 ở d0 và số 1 ở d1)
Thiết kế mạch Circuit A:
+ Bảng sự thật mạch Circuit A:
v2 v1 v0 m2 m1 m0
Trang 60 1 0 0 0 0
+ Thiết kế mạch:
Trang 7+ Đóng gói mạch:
Mạch led 7 đoạn đã đóng gói:
3 Thiết kế mạch hiển thị 2 số BCD, Gán pin cho mạch trên
Trang 8Bảng sự thật của mạch hiển thị 2 số BCD:
v3 v2 v1 v0 HE
X0 [0]
HE X0 [1]
HE X0 [2]
HE X0 [3]
HE X0 [4]
HE X0 [5]
HE X0 [6]
HE X1 [0]
HE X1 [1]
HE X1 [2]
HE X1 [3]
HE X1 [4]
HE X1 [5]
HE X1 [6]
Trang 9Hoạt động của mạch:
- Đầu vào là v3,v2,v1,v0 Đầu ra là 2 led 7 đoạn được hiển thị trên HEX0 và HEX1 HEX1 là hàng chục, HEX0 là hàng đơn vị
- Mạch Comparator dựa vào đầu vào v3v2v1v0 để cho ra z Nếu số nhỏ hơn 9 (1001) thì cho z = 0, nếu số lớn hơn 9 (1001) sẽ cho z = 1
- Mạch Circuit A dựa vào đầu vào v3v2v1v0 để cho ra m2m1m0 theo bảng sau:
v3v2v1v0 m2m1m0
- Mạch mux2-1 dựa vào set để chọn đầu ra theo giá trị đầu vào 1 hoặc đầu vào 0 Nếu set là 1 thì đầu ra sẽ là giá trị đầu vào 1, nếu set là 0 thì đầu ra sẽ là giá trị đầu vào 0 (set = z)
- Do các mạch có nguyên lí hoạt động như trên nên hoạt động của toàn mạch là: + v3v2v1v0 hiển thị số từ 0 đến 9 (từ 0000 đến 1001) thì z = 0, nên mux2-1
sẽ chọn đầu ra là giá trị đầu vào 0 Do đó đầu vào HEX1 là 0000 nên HEX1 hiển thị số 0, đầu vào HEX0 là v3v2v1v0 nên HEX0 sẽ hiển thị số từ 0 đến
9 (0000 đến 1001) Vì vậy mạch sẽ hiển thị 00 đến 09
+ v3v2v1v0 hiển thị số lớn hơn 9 (từ 1010 đến 1111) thì z = 1, nên mux2-1
sẽ chọn đầu ra là giá trị đầu vào 1 Do đó đầu vào HEX1 là 0001 nên HEX1 hiển thị số 1, đầu vào HEX0 là 0m2m1m0, mà m2m1m0 là đầu ra của mạch Circuit A hiển thị từ 000 đến 100, do đó đầu vào HEX0 sẽ là 0000 đến 0100 nên HEX0 sẽ hiển thị từ 0 đến 5 Vì vậy mạch sẽ hiển 10 đến 15
4 Biên dịch để phân tích, tổng hợp và tạo ra file sof
Trang 105 Mô phỏng mạch trên Wareform
Trang 11- Nhìn vào kết quả trên wareform thấy rằng đúng với bảng sự thật.
+ Khi v3v2v1v0 (SW[3:0]) từ 0000 đến 1001 thì HEX0 hiển thị từ 0 đến 9, HEX1 hiển thị 0
+ Khi v3v2v1v0 (SW[3:0]) từ 1010 đến 1111 thì HEX0 hiển thị từ 0 đến 5, HEX1 hiển thị 1