Tải bản đầy đủ (.docx) (13 trang)

Báo cáo buổi 5 nhập môn mạch số

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (521.45 KB, 13 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ố
Bài 5: THIẾT KẾ MẠCH HIỂN THỊ 2 SỐ BCD
2
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.
3
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
4
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:
Trong đó:
• 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
0 0 0 0
0 0 1 0
0 1 0 1
5
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1
+ 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
6
0 0 0 0 0
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0

0 1 0 0 0
0 1 0 1 0
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 1
1 1 0 0 1
1 1 0 1 1
1 1 1 0 1
1 1 1 1 1
+ 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)
1011 (số 11) 001
1100 (số 12) 010
1101 (số 13) 011
1110 (số 14) 100
1111 (số 15) 101
 Thiết kế mạch Circuit A:
7
+ Bảng sự thật mạch Circuit A:
v2 v1 v0 m2 m1 m0
0 0 0 0 0 0
0 0 1 0 0 0
0 1 0 0 0 0
0 1 1 0 0 1

1 0 0 0 1 0
1 0 1 0 1 1
1 1 0 1 0 0
1 1 1 1 0 1
+ Thiết kế mạch:
8
+ Đó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
9
Bả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]
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1
0 0 0 1 1 0 0 1 1 1 1 0 0 0 0 0 0 1
0 0 1 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1
0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1
0 1 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 1
0 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 1
0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1

0 1 1 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1
1 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1
1 0 1 1 1 0 0 1 1 1 1 1 0 0 1 1 1 1
1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 1 1
1 1 0 1 0 0 0 0 1 1 0 1 0 0 1 1 1 1
1 1 1 0 1 0 0 1 1 0 0 1 0 0 1 1 1 1
1 1 1 1 0 1 0 0 1 0 0 1 0 0 1 1 1 1
Hoạt động của mạch:
10
- Đầ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
1010 (số 10) 000
1011 (số 11) 001
1100 (số 12) 010
1101 (số 13) 011
1110 (số 14) 100
1111 (số 15) 101
- 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
11
5. Mô phỏng mạch trên Wareform
12
- 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.
13

×