Thiết bịphải hiển thịchính xác thời gian, ngày tháng hiện tại, phải tự động biết 
được năm nhuận cũng nhưsốngày trong từng tháng. 
- Thiết bịcó thểbáo giờtheo thời gian đã lập trình sẵn. Có hai chế độchuông báo 
giờ: Trường học và công sở. 
+ Chế độtrường học được cài đặt nhưsau: 
Một ngày có hai buổi học (sáng, chiều), mỗi buổi học có sáu tiết, mỗi tiết 45 
phút, sau tiết chẵn có ra chơi 10 phút, sau tiết lẻcó ra chơi 5 phút.Yêu cầu chuông 
vào giờkéo dài 10 giây, chuông ra kéo dài 5 giây. 
              
                                            
                                
            
 
            
                 53 trang
53 trang | 
Chia sẻ: oanh_nt | Lượt xem: 1217 | Lượt tải: 0 
              
            Bạn đang xem trước 20 trang nội dung tài liệu Đề tài Thiết kế mạch chuông tự động, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
 1
 Đề tài: Thiết kế mạch chuông tự động 
I - CáC YÊU CầU: 
- Thiết bị phải hiển thị chính xác thời gian, ngày tháng hiện tại, phải tự động biết 
được năm nhuận cũng như số ngày trong từng tháng. 
- Thiết bị có thể báo giờ theo thời gian đã lập trình sẵn. Có hai chế độ chuông báo 
giờ: Trường học và công sở. 
 + Chế độ trường học được cài đặt như sau: 
 Một ngày có hai buổi học (sáng, chiều), mỗi buổi học có sáu tiết, mỗi tiết 45 
phút, sau tiết chẵn có ra chơi 10 phút, sau tiết lẻ có ra chơi 5 phút.Yêu cầu chuông 
vào giờ kéo dài 10 giây, chuông ra kéo dài 5 giây. 
 Ta có bảng bố trí các tiết học trong một ngày như sau: 
Tiết Bắt đầu Kết thúc Nghỉ 
1 6h45’ 7h30’ 5’ 
2 7h35’ 8h20’ 10’ 
3 8h30’ 9h15’ 5’ 
4 9h20’ 10h5’ 10’ 
5 10h15’ 11h 5’ 
6 11h5’ 11h50’ Nghỉ 
7 12h15’ 13h 5’ 
8 13h5’ 13h50’ 10’ 
9 14h 14h45’ 5’ 
10 14h50’ 15h35’ 10’ 
11 15h45’ 16h30’ 5’ 
12 16h35’ 17h20’ Nghỉ 
 +Chế độ công sở được cài đặt như sau: 
Một ngày có hai buổi làm sáng và chiều. Giờ cụ thể như sau: 
Buổi Bắt đầu Kết thúc 
Sáng 7h30’ 11h30 
Chiều 1h 5h 
II- Cơ sở lý thuyết để thực hiện 
1- Sơ đồ khối của hệ thống 
 2
. 
 Chức năng của từng khối như sau: 
 * Khối nguồn: cung cấp năng lượng hoạt động cho các khối. 
 * Khối đồng hồ: là đồng hồ thời gian thực, cung cấp thời gian trong một ngày(24 
giờ). 
 * Khối chuyển đổi chế độ: làm nhiệm vụ chuyển giữa hai chế độ: chế độ trường 
học và chế độ công sở. 
 * Khối điều khiển báo chuông: là 1 otomat có nhớ, ở chế độ trường học khối sẽ 
nhớ 24 thời điểm cần báo chuông còn ở chế độ công sở là 4 thời điểm. Khối này lấy 
tín hiệu thời gian từ khối đồng hồ, khi đến đúng thời điểm cần báo chuông nó sẽ 
phát tín hiệu xung ra đến khối khuyếch đại âm tần. 
 * Khối khuyếch đại âm tần: Có nhiệm vụ khuyếch đại tín hiệu nhận được từ khối 
điều khiển chuông. Ví dụ như ở chế độ trường học, tín hiệu báo hiệu vào giờ sẽ 
được khuyếch đại kéo dài trong 10s còn tín hiệu ra chơi sẽ kéo dài trong 5s. 
 * Khối chuông: Nhận tín hiệu từ khối khuyếch đại âm tần và phát ra chuông có độ 
dài đúng bằng tín hiệu xung nhận được. 
 2- Phân tích các khối 
a- Khối chuyển chế độ 
 Khối điều khiển sử dụng một chuyển mạch (công tắc) gồm 2 trạng thái để đáp ứng 
yêu cầu thực hiện công việc. 
Khối nguồn 
Khối tạo xung Khối đồng hồ 
Khối điều khiển 
độ dài chuông 
Điều khiển 
báo chuông 
Chuông
a
Khối chuyển 
đổi chế độ 
 3
Chuyển mạch gồm 2 trạng thái: 1 và 2. Khi chuông báo phục vụ cho trường học thì 
chuyển mạch ở trạng thái 1, còn khi dùng trong công sở thì chuyển mạch ở trạng 
thái 2. Việc chuyển đổi giữa các trạng thái được thực hiện bằng một cần gạt hay 
công tắc. 
Công tắc ở trạng thái 1 E1 = L; E2 = H 
Khi dùng trong công sở (trạng thái 2) E1 = H; E2 = L 
 b- Khối tạo xung 
 Để tạo được dãy xung clock ta dùng vi mạch định thời 555 (Timer 555). Timer 
555 là một vi mạch định thời rất thông dụng. Nó có thể sử dụng theo nhiều chức 
năng: làm mạch đa hài đơn ổn hoặc đa hài phiếm định, để tạo một xung đơn hay 
một dãy xung vuông góc lặp lại, hoặc một dãy xung tam giác. Thời gian định thời 
có thể thay đổi từ vài às đến vài trăm giây (s) nhờ một mạch RC đơn giản, với độ 
chính xác điển hình là ±1%. 
 Khái niệm về mạch định thời 555: 
 Có 2 loại mạch định thời thông dụng nhất là Timer 555 chế tạo theo công nghệ 
transistor lưỡng cực (BJT) và Timer 7555 chế tạo theo công nghệ CMOS. Điện áp 
cung cấp cho IC 555 là 5 ÷ 15V, cho IC 7555 là 2 ÷ 18V. Công suất tiêu thụ và 
dòng cung cấp cho IC 7555 cũng nhỏ hơn nhiều so với ở IC 555. Với nguồn +15V, 
IC 555 yêu cầu dòng cung cấp cỡ 10mA. Dòng đầu ra cực đại của IC 555 có thể đạt 
tới 200mA ( ở IC 7555 chỉ bằng khoảng 1/2 ). 
 Sơ đồ khối chức năng và vỏ của IC 55 
E1
E21
2
1
2
+V
V110V
S4
S3
 4
7
3
1
2
4
6
5
8
U4
IDEAL
U3
IDEAL
Q1
NPN
S
R Q
_Q
U2
U1A
R3
1k
R2
1k
R1
1k
1234
8
765
Gnd
Trg
Out
Rst Ctl
Thr
Dis
Vcc
U1
555
 5
 Hai hình trên tương ứng là sơ đồ khối chức năng vả vỏ kiểu hai hàng 
chân song song của IC 555. ở đây ta chỉ xét vai trò của tám chân (1 ÷ 8) 
trên vỏ IC ở hình 2: Chân số 8 để đặt nguồn cung cấp Ucc = 5 ÷ 15V. 
Chân số 1 là chân nối “mát”. Chân số 2 là đầu vào kích khởi (trigger), 
dùng để dặt xung kích thích bên ngoài khi mạch làm việc ở chế độ đa 
hài đơn ổn. Chân số 3 là đầu ra của IC. Chân số 4 là chân xoá (Reset); 
nó có thể điều khiển xoá điện áp đầu ra khi điện áp đặt vào chân này từ 
0,7 V trở xuống. Vì vậy, để có thể phát ra xung ở đầu ra, chân số 4 phải 
đặt ở mức cao H. Chân số 5 là chân điện áp điều khiển (Control 
Voltage). Ta có thể đưa một điện áp ngoài vào chân này để làm thay 
đổi việc định thời của mạch, nghĩa là làm thay đổi tần số xung phát ra. 
Khi không được sử dụng thì chân số 5 nối xuống “mát” thông qua 1 tụ 
khoảng 0,01àF. Chân số 6 là chân điện áp ngưỡng (Threshold). Chân 7 
là chân phóng điện (Discharge). 
 Để tạo được dãy xung vuông thì IC 555 phảI làm việc như một mạch 
dao động đa hài phiếm định. Chân ra số 3 sẽ phát ra một dãy xung 
vuông lặp lại. 
+V
V2
10V
C4
1uF
C3
1uF
R4
1k
R3
1k
D1
DIODE
Gnd
Trg
Out
Rst Ctl
Thr
Dis
Vcc
U2
555
C2
1uF
C1
1uF
+V
V1
10V
Gnd
Trg
Out
Rst Ctl
Thr
Dis
Vcc
U1
555R2
1k
R1
1k
Hình a Hình b 
 6
Từ hình vẽ a) ta thấy: Thời gian tồn tại xung t1 (độ rộng xung) phụ 
thuộc tốc độ nạp của tụ C từ nguồn cung cấp, nghĩa là tỉ lệ với hằng số 
thời gian nạp 
τn = (R1 + R2)C, ta có : 
 t1 = (R1 + R2)Cln2 ≈ 0,7( R1 + R2)C (1) 
 Thời gian không có xung t2 (thời gian nghỉ) phụ thuộc sự phóng đIện 
của tụ C qua chân phóng điện số 7, nghĩa là tỉ lệ với hằng số thời gian 
phóng 
τp = R2C và: 
 t2 = R2Cln2 ≈ 0,7R2C (2) 
 Vậy, tần số của dãy xung ở đầu ra: 
 f = 1/T = 1/(t1+t2) ≈ 1,44/(R1+2R2)C 
 Muốn nhận được dãy xung vuông góc đối xứng, nghĩa là t1 = t2 =T/2 
ta có thể làm theo 2 cách sau: 
 + Chọn R1 ô R2. Lúc đó, theo (1) và (2) có thể coi t1 ≈ t2 = 0,7R2C. 
Tuy hiên không thể chọn R1 quá nhỏ được, ví dụ R1 = 100Ω, vì khi đó 
dòng đi từ nguồn +Ucc vào chân 7 khi transistor T dẫn là +Ucc/R1 sẽ quá 
lớn, phá hỏng transistor. 
 + Sử dụng thêm 1 diode mắc song song với R2 ( hình b )và chọn R1 = 
R2 =R. ở hình vẽ, đường nạp cho tụ C từ nguồn +Ucc có đi qua diode; 
điện trở R nối song song với diode khi đó coi như bị ngắn mạch và 
hằng số thời gian của mạch nạp τn =τp nên t1 = t2 ≈ 0,7RC 
 Dãy xung ở đầu ra là đối xứng, với tần số 
 f = 1/T = 1/(t1+t2) = 1/1,4RC 
 Do yêu cầu mạch chuông báo giờ học phải chính xác, sai số chỉ cho 
phép khoảng 5 giây trong toàn bộ buổi học khoảng 5 giờ, do đó việc 
thiết kế mạch đồng hồ cần có độ chính xác cao. 
 Khi cần dãy xung vuông góc với độ chính xác tần số rất cao, tần số 
dãy xung cũng cao ( thường là 1MHz ÷ 10 MHz), người ta hay dùng 
mạch phát xung thạch anh. ở đây, tinh thể thạch anh áp điện được sử 
dụng như mạch cộng hưởng cơ điện với độ chính xác rất cao. 
 7
 Hình a) dùng 2 phần tử đảo họ TTL của IC 74LS04 để tạo thành 
mạch phát xung thạch anh có tần số ở trong dải từ vài trăm kHz đến 
10MHz. Tinh thể thạch anh loại hoạt động kiểu nối tiếp. Tụ C khoảng 
vài nF và phải chỉnh định theo tần số của dãy xung ra. 
 Hình b) dùng hai phần tử đảo của vi mạch họ CMOS ( IC 4049B ) 
để họp thành với tinh thể thạch anh hoạt động kiểu song song, tạo thành 
mạch phát dãy xung vuông góc với tần số cỡ MHz. 
c- Khối đồng hồ 
ở đây ta thiết kế 1 đồng hồ báo thức 24 giờ. Do đó ta cần có: 
- 1 bộ đếm 24. 
- 2 bộ đếm 60 
 Để thiết kế bộ đếm 24 ta nối ghép bộ đếm 3 và bộ đếm 10. Sau đó sử 
dụng các mạch logic để khử 6 trạng thái thừa. 
 Để thiết kế bộ đếm 60 ta nối ghép bộ đếm 6 và bộ đếm 10. 
Cụ thể như sau: 
XTAL2
1.000MHZ
XTAL1
1.000MHZ
C1
1uF
C2
1uF
U1DU1CU1BU1A
R3
1k
R2
1k
R1
1k
Hình a 
Hình b 
 8
* Thiết kế bộ đếm 3: 
Dùng đồ hình Mealy để biểu diễn hệ thống 
X ={0, 1} 
S ={0, 1, 2} 
Bảng hoạt động: 
 x 
S(t) 
 S(t+1) 
0 1 
0 0 1 
1 1 2 
2 2 0 
Rút gọn: bài toán đã ở dạng otomat min 
Mã hoá : Pmax=3 ⇒ số bít dùng: m=2 
 Dùng 2 bit để mã hóa hệ thống 
 Dùng JK–FF để thực hiện 
Gọi s(t): y1y0 s(t+1): Y1Y0 
 J0K0: y0 → Y0 
 J1K1: y1 → Y1 
Dùng mã BCD để mã hoá hệ thống : 0: 00 1: 01 2: 11 
Ta có bảng mã hoá hệ thống sau: 
 x 
y1y0 
 Y1Y0 
 0 1 
00 00 01 
01 01 11 
11 11 00 
10 -- -- 
Bảng kích JK: 
 9
 y Y JK 
 0 0 0 - 
 0 1 1 - 
 1 0 - 1 
 1 1 - 0 
 Bảng kích hệ thống: 
 x 
y1y0 
 0 1 
J1K1 J0K0 J1K1 J0K0 
00 0 - 0 - 0 - 1 - 
01 0 - - 0 1 - - 1 
11 - 0 - 0 - 1 - 1 
10 - - - - - - - - 
Lập hệ phương trình kích: 
J1 
 x 
y1y0 
 0 1 
00 
 10
01 
 1 
11 − − 
10 − − 
J1= y0x 
K1 
x 
y1y0 
 0 1 
00 
 − − 
01 
 − − 
11 
 1 
10 
 − − 
K1 = x 
J0 
 x 
y1y0 
 0 1 
00 
 1 
01 − −
 11
11 
 − − 
10 
 − − 
J0 = x 
K0 
x 
y1y0 
 0 1 
00 
 − − 
01 
 1 
11 
 1 
10 
 − − 
K0 = x 
Sơ đồ bộ đếm cơ số 3: 
*Thiết kế bộ đếm 5 
Dựng mụ hỡnh Moore 
X = {0,1} 
S = {0,1,2,3,4} 
 x S(t+1) 
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_QCP1CP2
Q1
Q2
V2
 12
s(t+1) 
0 1 
0 0 1 
1 1 2 
2 2 3 
3 3 4 
4 4 0 
∏ = {0,1,2,3,4} là phõn hoạch thế tương đương 
⇒ hệ thống cú otomat min 
Mó hoỏ: 
Pmax = 5 ⇒ số bớt cần dựng để mó hoỏ là m = 3 
Dựng JK-FFđể thực hiện hệ thống 
Gọi s(t): y2y1y0 
 S(t+1): Y2Y1Y0 
 J0K0: y0 →Y0 
 J1K1: y1 →Y1 
 J2K2: y2 →Y2 
Dựng mó BCD để mó hoỏ hệ thống 
Ta cú bảng mó hoỏ hệ thống sau: 
 x 
y2y1y0 
Y2Y1Y0 
0 1 
000 000 001 
001 001 010 
010 010 011 
011 011 100 
100 100 101 
101 - - - - - - 
110 - - - - - - 
111 - - - - - - 
 Bảng kớch JK 
 y Y JK 
 0 0 0- 
 0 1 1- 
 1 0 -1 
 1 1 -0 
Bảng kớch hệ thống 
 13
 x 
y2y1y0 
0 1 
J2K2 J1K1 J0K0 J2K2 J1K1 J0K0 
000 0 − 0 − 0 − 0 − 0 − 1 − 
001 0 − 0 − − 0 0 − 1 − − 1 
010 0 − − 0 0 − 0 − − 0 1 − 
011 0 − − 0 − 0 1 − − 1 − 1 
100 − 0 0 − 0 − − 0 0 − 1 − 
101 − − − − − − − − − − − −
110 − − − − − − − − − − − −
111 − − − − − − − − − − − −
 Phương trỡnh kớch hệ thống: 
 J2 = xy1y0 
 J1 = xy0 
 J0 = x 
 K2 = 0 
 K1 = xy0 
 K0 =⎯y2 x 
 K2 
 y0x 
y2y1 
00 01 11 10 
00 − − − − 
01 − − − − 
11 − − − − 
10 0 0 − − 
 14
 J2 
 y0x 
y2y1 
00 01 11 10 
00 
01 
 1 
11 
 − 
 − 
 − 
 − 
10 
 − 
 − 
 − 
 − 
 K1 
 y0x 
y2y1 
00 01 11 10 
00 
 − 
 − 
 − 
 − 
01 
 1 
11 
 − 
 − 
 − 
 − 
10 
 − 
 − 
 − 
 − 
 15
 J1 
 y0x 
y2y1 
00 01 11 10 
00 
 1 
01 
 − 
 − 
 − 
 − 
11 
 − 
 − 
 − 
 − 
10 
 − 
 − 
 K0 
 y0x 
y2y1 
00 01 11 10 
00 
 − 
 − 
 1 
 0 
01 
 − 
 − 
 1 
 0 
11 
 − 
 − 
10 
 − 
 − 
 16
 J0 
 y0x 
y2y1 
00 01 11 10 
00 
 1 
 − 
 − 
01 
 − 
 − 
 − 
11 
 − 
 − 
 − 
 − 
10 
 1 
 − 
 − 
Sơ đồ bộ đếm 5: 
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
CP1
CP2
Q1
Q2
V1
 17
* Thiết kế bộ đếm 2 
Bộ đếm 2 gồm có 2 trạng thái :( 0 1 ) do đó cần số triger là:N=log2 2,hay N=1 
Dùng 1 con Triger ta có thể mã hoá 2 trạng thái . 
 Bảng mã hoá hệ thống 
y X 
 Y 
0 1 
0 0 1 
1 1 0 
 Bảng kích JK 
 y Y JK 
 0 0 0- 
 0 1 1- 
 1 0 -1 
 1 1 -0 
 Bảng kích hệ thống 
 x 
y 
 0 1 
 J K J K 
 0 0 - 1 - 
 1 - 0 - 1 
 Hệ phương trình kích 
 J = x 
 K = x 
Sơ đồ thực hiện 
 18
*Thiết kế bộ đếm 6 
Dùng đồ hình Mealy để biểu diễn hệ thống 
X = {0,1} 
S = {0,1,2,3,4,5} 
 Ta có bảng hoạt động 
 x 
S(t) 
 S(t+1) 
0 1 
0 0 1 
1 1 2 
2 2 3 
3 3 4 
4 4 5 
5 5 0 
Bộ đếm 6 không rút gọn được, bộ đếm là otomat min. 
Ta có: 
P max = 6 ⇒ số bít cần m = 3 
⇒ dùng 3 bít để mã hoá hệ thống ⇒ dùng JK- FF để thực hiện 
Gọi s(t): y2 y1 y0 
 s(t+1): Y2 Y1 Y0 
 J2 K2: y2 → Y2 
 J1 K1: y1 → Y1 
 J0 K0: y0 → Y0 
- Dùng mã nhị phân 
 s0: 000 s2: 010 s4: 100 
 s1: 001 s3: 011 s5: 101 
Bảng mã hoá hệ thống: 
 x 
y2 y1 y0 
 Y2 Y1 Y0 
 0 1 
CP1
CP2
Q1
Q2
V3 S
J
CP
K
R
Q
_Q
 19
 000 000 001 
 001 001 010 
 010 010 011 
 011 011 100 
 100 100 101 
 101 101 000 
 110 - - - - - - 
 111 - - - - - - 
 Bảng kích JK 
 y →Y JK 
 0 → 0 0 - 
 0 → 1 1 - 
 1 → 0 - 1 
 1 → 1 - 0 
 Bảng kích hệ thống: 
 x 
y2 y1 y0 
 0 1 
J2K2 J1K1 J0K0 J2K2 J1K1 J0K0 
000 0 - 0 - 0 - 0 - 0 - 1 - 
001 0 - 0 - - 0 0 - 1 - - 1 
010 0 - - 0 0 - 0 - - 0 1 - 
011 0 - - 0 - 0 1 - - 1 - 1 
100 - 0 0 - 0 - - 0 0 - 1 - 
101 - 0 0 - - 0 - 1 0 - - 1 
110 - - - - - - - - - - - - 
111 - - - - - - - - - - - - 
 Hệ phương trình kích: 
 20
J2 K2 
J1 K1 
J0 K0 
 y1 y0 
xy2 
00 
01 
11 
10 
00 
01 
− − − − 
11 
− − − − 
10 
 1 
 y1 y0 
xy2 
00 
01 
11 
10 
00 
− − − − 
01 
 − − 
11 
1 
− 
− 
10 
− − − − 
 y1 y0 
xy2 
00 
01 
11 
10 
00 
− − 
01 
− − − − 
11 
− − − − 
10 
− − 1 
 y1 y0 
xy2 
00 
01 
11 
10 
00 
 − − 
01 
 − − 
11 
 − − 
10 
1 
− 
− 
 21
Ta có các hệ hàm như sau: 
J2=xy1 y0 =K2 y1 
J1 =x⎯y2y0= K2⎯y2 
J0 =x 
K2=y0x 
K1 =y0x 
K0 = x 
Sơ đồ thực hiện: 
*Thiết kế giải mã bộ đếm 6: 
Từ yêu cầu ta có bảng hoạt động: 
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_QCP1
CP2
Q1
Q2
V4
 y1 y0 
xy2 
00 
01 
11 
10 
00 
 − − 
01 
 − − − 
11 
1 
− 
− 
− 
10 
1 − − 1 
 y1 y0 
xy2 
00 
01 
11 
10 
00 
− − 
01 
− − − 
11 
− 
1 
− 
− 
10 
− 1 1 − 
 22
 Đầu vào Đầu ra 
 Y2 Y1 Y0 a b c d e f g 
 0 0 0 1 1 1 1 1 1 0 
 0 0 1 0 1 1 0 0 0 0 
 0 1 0 1 1 0 1 1 0 1 
 0 1 1 1 1 1 1 0 0 1 
 1 0 0 0 1 1 0 0 1 1 
 1 0 1 1 0 1 1 0 1 1 
 1 1 0 − − − − − − − 
 1 1 1 − − − − − − − 
 a b 
 c d 
Y1Y0 
Y2 
00 01 11 10 
 0 
 1 
 1 
 1 
1 1 1 − − 
Y1Y0 
Y2 
00 01 11 10 
0 
1 
1 
 1 
1 1 − − 
Y1Y0 
Y2 
00 01 11 10 
0 
 1 
1 
1 
 1 
1 
 1 − − 
Y1Y0 
Y2 
00 01 11 10 
0 
 1 
 1 
 1 
1 
1 
− 
− 
 23
 e g 
Y1Y0 
Y2 
00 01 11 10 
0 
 1 
 1 
1 − 
− 
 f 
 Y1Y0 
Y2 
00 01 11 10 
0 
 1 
1 
 1 
 1 
− 
− 
a=⎯Y0+Y1 
b= Y0+⎯Y2 
c= Y1+Y0 
d= Y1+Y2.⎯Y0+Y2.Y0 
e=⎯Y2 .⎯Y0 
f= Y2+⎯Y1.⎯Y0 
g= Y2+Y1 
Y1Y0 
Y2 
00 01 11 10 
0 
 1 
 1 
1 
 1 
 1 
 − 
 − 
 24
 Sơ đồ thực hiện hệ thống 
* Thiết kế giải mã bộ đếm 10 
Bảng hoạt động: 
 đầu vào đầu ra 
 y3 y2 y1 y0 a b c d e f g 
 0 0 0 0 1 1 1 1 1 1 0 
 0 0 0 1 0 1 1 0 0 0 0 
 0 0 1 0 1 1 0 1 1 0 1 
 0 0 1 1 1 1 1 1 0 0 1 
 0 1 0 0 0 1 1 0 0 1 1 
g
f
e
d
c
b
a
y0y1y2
 25
 0 1 0 1 1 0 1 1 0 1 1 
 0 1 1 0 1 0 1 1 1 1 1 
 0 1 1 1 1 1 1 0 0 0 0 
 1 0 0 0 1 1 1 1 1 1 1 
 1 0 0 1 1 1 1 1 0 1 1 
 1 0 1 0 − − − − − − − 
 1 0 1 1 − − − − − − − 
 1 1 0 0 − − − − − − − 
 1 1 0 1 − − − − − − − 
 1 1 1 0 − − − − − − − 
 1 1 1 1 − − − − − − − 
a 
 y1yo 
y3y2 
00 01 11 10 
00 
 1 
 1 
 1 
01 
 1 
 1 
 1 
11 
 − 
 − 
 − 
 − 
10 
 1 
 1 
 − 
 − 
a = y1+ y3+ y2y0+ ⎯y2⎯y0 
 26
b 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
 1 
 1 
 1 
01 
 1 
 1 
11 
 − 
 − 
 − 
 − 
10 
 1 
 1 
 − 
 − 
b = y3+ y0y1+ ⎯y0 ⎯y1+ ⎯y 
c 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
 1 
 1 
01 
 1 
 1 
 1 
 1 
11 
 − 
 − 
 − 
 − 
 27
10 
 1 
 1 
 − 
 − 
c = ⎯y1+ y0+ y2 
d 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
 1 
 1 
01 
 1 
 1 
11 
 − 
 − 
 − 
 − 
10 
 1 
 1 
 − 
 − 
d = ⎯y2⎯y0+ y3+ y1⎯y2+ y1⎯y0+ y2⎯y1y0 
e 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
 1 
01 
 1 
11 
 − 
 − 
 − 
 − 
 28
10 
 1 
 − 
 − 
e = ⎯y2⎯y0 + y1⎯y0 
f 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
01 
 1 
 1 
 1 
11 
 − 
 − 
 − 
 − 
10 
 1 
 1 
 − 
 − 
f = y3+ y2⎯y1+ ⎯y1⎯y0+⎯y0y2 
g 
 y1y0 
y3y2 
00 01 11 10 
00 
 1 
 1 
01 
 1 
 1 
 1 
 29
11 
 − 
 − 
 − 
 − 
10 
 1 
 1 
 − 
 − 
g = y3+ y2⎯y0+ y2⎯y1+ y1⎯y2 
 Sơ đồ thực hiện hệ thống 
 30
g
f
e
d
c
b
a
y0y1y2y3
 31
* Thiết kế giải mã bộ đếm 3 
Bảng hoạt động 
 đầu vào đầu ra 
 y1 y0 a b c d e f g 
 0 0 1 1 1 1 1 1 0 
 0 1 0 1 1 0 0 0 0 
 1 1 1 1 0 1 1 0 1 
 1 0 − − − − − − − 
a 
 y0 
y1 
0 1 
0 
 1 
1 
 − 
1 
a = y1+ ⎯y0 
b 
 y0 
y1 
0 1 
0 
 1 
 1 
1 
 − 
 1 
b = ⎯y1+ y0 
c 
 y0 
y1 
0 1 
0 
 1 
 1 
1 
 − 
c = ⎯y1 
 32
d 
 y0 
y1 
0 1 
0 
 1 
1 
 − 
 1 
d = ⎯y0+ y1 
e 
 y0 
y1 
0 1 
0 
 1 
1 
 − 
 1 
e = ⎯y0+ y1 
f 
 y0 
y1 
0 1 
0 
 1 
1 
 − 
 33
f = ⎯y0 
g 
 y0 
y1 
0 1 
0 
1 
 − 
 1 
g = y1 
Sơ đồ thực hiện hệ thống 
Sơ đồ mạch 
Bộ đếm 6: 
 Trên thực tế bộ đếm 6 được thiết kế từ IC 7490 và bộ giải mã bằng IC 7447, 
được hiển thị bằng LED 7 thanh. 
g
f
e
d
c
b
a
y0y1
 34
 Dựa vào sơ đồ chân của IC 7490 và 7447 ta có cách ghép nối các chân giữa 2 IC 
trên. Có IC 7490 là IC đếm 10, do vậy để có được bộ đếm 6, khi 7490 đếm đến 6 
(theo mã BCD là 0110) thì chân QB và QC của 7490 ở trạng thái cao. Dùng cổng 
AND nối QB và QC về hai chân R01 và R02 bộ đếm sẽ được reset lại.Ta sẽ có 
được bộ đếm 6. 
Bộ đếm 10: 
 Trên thực tế bộ đếm 10 được thiết kế từ IC 7490 và bộ giải mã bằng IC 7447, 
được hiển thị bằng LED 7 thanh.IC 7490 là IC đếm 10 do vậy ta chỉ cần đấu hai 
chân R01 và R02 xuống đất, 7490 hoạt động đúng yêu cầu. 
Bộ đếm 60: 
 35
 Bộ đếm 60 được thực hiện bằng cách nối ghép bộ đếm 6 và bộ đếm 10.Cứ mỗi 
khi bộ đếm 10 đếm đến 9 (theo mã BCD là 1001) khi đó chân QA và QD của bộ 
đếm sẽ ở trạng thái cao, ta dùng một cổng AND để đưa hai chân đó nối với chân 
CKA (chân nhận xung kích) của bộ đếm 6. Như vậy , khi bộ đếm 10 hoàn thành 1 
chu kỳ đếm thì bộ đếm 6 được kích xung để đếm thêm 1→ Ta có bộ đếm 60. 
Bộ đếm 3 
 Trên thực tế bộ đếm 3 được thiết kế từ IC 7490 và bộ giải mã bằng IC 7447.Để 
có được bộ đếm 3, khi 7490 đếm đến 3 (theo mã BCD là 0011) lúc đó chân QA và 
QB của IC 7490 ở trạng thái cao, ta dùng cổng AND đấu hai chân trên quay về hai 
chân R01 và R02 khi đó bộ đếm sẽ được reset lại. 
 36
Bộ đếm 24 
 Ghép hai bộ đếm 3 và 10 ta sẽ được bộ đếm 30, cách ghép tương tự như bộ đếm 
60. Khi bộ đếm 10 đếm đến 9 thì 1 xung sẽ được kích đến chân CKA của bộ đếm 3 
thông qua 1 cổng AND có đầu vào là chân QA và QA của bộ đếm 10→ ta có bộ 
đếm 30. 
 Từ bộ đếm 30 muốn có bộ đếm 24 ta làm như sau: 
 Khi bộ đếm 30 đêm đến 23 lúc đó bộ đếm 10 đếm đến 3 (theo mã BCD là 0011)→ 
chân QB và QA ở trạng thái cao còn bộ đếm 3 đếm đến 2 ( theo mã BCD là 
0010)→ chân QB ở trạng thái cao. Ta dùng một cổng AND với 3 đầu vào là chân 
QB của bộ đếm 3 và chân QB, QA của bộ đếm 10, đầu ra được đấu với các chân 
R01 và R02 của cả hai bộ đếm. Như vậy sau khi đếm đến 23 bộ đếm sẽ được reset 
lại→ Ta có bộ đếm 24 
 37
 Sơ đồ dồng hồ thời gian thực 
 Đồng hồ thời gian thực là sự ghép nối của 2 bộ đếm 60 và một bộ đếm 24. Cụ thể 
như sau: 
 Cho xung kích vào 1 bộ đếm 60- đó sẽ là bộ đếm giây. Khi bộ đếm giây đếm đến 
59 sẽ có chân QA, QD của bộ đếm 10 và chân QA, QC của bộ đếm 6 ở trạng thái 
cao, ta dùng 1 cổng AND có đầu vào là các chân trên đấu với chân CKA của một 
bộ đếm 60 khác- bộ đếm 60 này sẽ là bộ đếm phút. Như vậy khi bộ đếm giây hoàn 
thành 1 chu kỳ 60 giây thì bộ đếm phút sẽ đếm tăng lên 1. 
 Tương tự như trên khi bộ đếm phút đếm đến 59 ta lại cho 1 xung kích vào chân 
CKA của bộ đếm 24- bộ đếm giờ→ Vậy ta có sơ đồ mạch của 1 đồng hồ thời gian 
thực. 
 38
 39
d- Khối điều khiển báo chuông 
 Khối điều khiển báo chuông là 1 otomat có nhớ, ở chế độ trường học khối sẽ 
nhớ 24 thời điểm cần báo chuông. Do vậy ta cần thiết kế bộ đếm 24. Bộ đếm bao 
gồm 24 trạng thái tương ứng với 24 thời điểm cần báo chuông. 
- Đầu vào là các bit 0 hoặc 1. 1 tương ứng với các thời điểm đúng cần báo chuông 
được đưa ra từ khối đồng hồ, 0 là các thời điểm còn lại .Để lấy được các thời điểm 
đúng cần báo chuông từ khối đồng hồ ta làm như sau: 
Ta mã hoá các thời điểm cần báo giờ như sau: 
Thời điểm báo 
chuông 
Trạng thái tương 
ứng 
 Mã hoá 
6h45’ s1 0000 0110 0100 0101 
7h30’ s2 0000 0111 0011 0000 
7h35’ s3 0000 0111 0011 0101 
8h20’ s4 0000 1000 0010 0000 
8h30’ s5 0000 1000 0011 0000 
9h15’ s6 0000 1001 0001 0101 
9h20’ s7 0000 1001 0010 0000 
10h05’ s8 0001 0000 0000 0101 
10h10’ s9 0001 0000 0001 0000 
10h55’ s10 0001 0000 0101 0101 
11h05’ s11 0001 0001 0000 0101 
11h50’ s12 0001 0001 0101 0000 
12h15’ s13 0001 0010 0001 0101 
13h00’ s14 0001 0011 0000 0000 
13h05’ s15 0001 0011 0000 0101 
13h50’ s16 0001 0011 0101 0000 
14h00’ s17 0001 0100 0000 0000 
14h45’ s18 0001 0100 0100 0101 
14h50’ s19 0001 0100 0101 0000 
15h35’ s20 0001 0101 0011 0101 
15h45’ s21 0001 0101 0100 0101 
16h30’ s22 0001 0110 0011 0000 
16h35’ s23 0001 0110 0011 0101 
17h20’ s24 0001 0111 0010 0000 
Ta nhận thấy các bit ở vị trí 1 ,2 ,3 ,9 ,13 ,15 không thay đổi ở tất cả các trạng thái do đó 
để có xung ra từ khối đồng hồ tại các thời điểm cần báo chuông ta dùng các cổng logic 
và dựa vào bảng mã hoá trên để lắp mạch láy xung ra từ khối đồng hồ tại các vị trí bít 
còn lại.Xung này sẽ kích vào khối điều khiển độ dài chuông. 
 - Hệ thống sẽ có 2 đầu ra Z1, Z2. Z1 tương ứng với các thời điểm báo chuông ra chơi ( 
chuông kêu trong 5s ), Z2 tương ứng với các thời điểm báo chuông vào lớp ( chuông 
kêu trong 10s ). 
 40
S = {s1 ,s2 ,s3 ,s4 ,s5 ,s6 ,s7 , s8 ,s9 s10 ,s11 ,s12 ,s13 ,s14 ,s15 ,s16 ,s17 ,s18 ,s19, 
s20 ,s21 ,s22 ,s23 ,s24} 
 Z1 = 0 nếu là các thời điểm chẵn 
 1 nếu là các thời điểm lẻ 
 Z2 = 0 nếu là các thời điểm lẻ 
 1 nếu là các thời điểm chẵn 
Dùng mô hình Moore để biểu diễn hệ thống : 
S(t) X 
 S(t+1) 
 Z1 
 Z2 0 1 
s1 s1 s2 1 0 
s2 s2 s3 0 1 
s3 s3 s4 1 0 
s4 s4 s5 0 1 
s5 s5 s6 1 0 
s6 s6 s7 0 1 
s7 s7 s8 1 0 
s8 s8 s9 0 1 
s9 s9 s10 1 0 
s10 s10 s11 0 1 
s11 s11 s12 1 0 
s12 s12 s13 0 1 
s13 s13 s14 1 0 
s14 s14 s15 0 1 
s15 s15 s16 1 0 
s16 s16 s17 0 1 
s17 s17 s18 1 0 
s18 s18 s19 0 1 
s19 s19 s20 1 0 
s20 s20 s21 0 1 
s21 s21 s22 1 0 
s22 s22 s23 0 1 
s23 s23 s24 1 0 
s24 s24 s1 0 1 
Để xây dựng bộ đếm 24 ta ghép 2 bộ đếm 3 và 8 . 
• Thiết kế bộ đếm 3: 
Dùng đồ hình Mealy để biểu diễn hệ thống 
X = {0, 1} 
S = {0, 1, 2} 
Bảng hoạt động: 
 41
 x 
S(t) 
 S(t+1) 
0 1 
0 0 1 
1 1 2 
2 2 0 
Mã hoá : Pmax=3 ⇒ số bít dùng: m=2 
 Dùng 2 bit để mã hóa hệ thống 
 Dùng JK–FF để thực hiện 
Gọi s(t): y1y0 s(t+1): Y1Y0 
 J0K0: y0 → Y0 
 J1K1: y1 → Y1 
Dùng mã BCD để mã hoá hệ thống : ta có 4 trạng thái 00, 01, 11, 10 
Ta có bảng mã hoá hệ thống sau: 
 x 
y1y0 
 Y1Y0 
 0 1 
00 00 01 
01 01 10 
10 10 11 
11 11 00 
 Bảng kích JK 
 y Y JK 
 0 0 0 - 
 0 1 1 - 
 1 0 - 1 
 1 1 - 0 
 Bảng kích hệ thống: 
 x 
y1y0 
 0 1 
J1K1 J0K0 J1K1 J0K0 
00 0 - 0 - 0 - 1 - 
01 1- - 0 1 - - 1 
10 - 0 0- - 0 1 - 
11 - 0 - 0 - 1 - 1 
 Lập hệ phương trình kích: 
J1 
 42
 x 
y1y0 
 0 1 
00 
01 
 1 
11 
 − 
 − 
10 − − 
J1 = y0⎯.x 
K1 
 x 
y1y0 
 0 1 
00 
 − 
 −
01 
 − 
 −
11 
 1 
10 
K1 = y0.x 
J0 
 x 
y1y0 
 0 1 
00 
1 
01 
 − 
 −
11 
 − − 
10 
 1 
J0 = x 
 43
K0 
x 
y1y0 
 0 1 
00 
 − 
 −
01 
 1 
11 
 1 
10 
 − − 
K0 = x 
 Sơ đồ bộ đếm cơ số 3: 
 • Thiết kế bộ đếm 8: 
Dùng đồ hình Mealy để biểu diễn hệ thống 
X = {0, 1} 
 S = {0, 1, 2,3,4,5,6,7} 
Bảng hoạt động: 
 x 
S(t) 
 S(t+1) 
0 1 
0 0 1 
1 1 2 
2 2 3 
3 3 4 
CP1
CP2
Q1
Q2
V1 U3A
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
 44
4 4 5 
5 5 6 
6 6 7 
7 7 0 
Mã hoá : Pmax=8 ⇒ số bít dùng: m=3 
 Dùng 3 bit để mã hóa hệ thống 
 Dùng JK–FF để thực hiện 
Gọi s(t): y2y1y0 
 S(t+1): Y2Y1Y0 
 J0K0: y0 →Y0 
 J1K1: y1 →Y1 
 J2K2: y2 →Y2 
Dùng mã BCD để mã hoá hệ thống : ta có 8 trạng thái 000, 001, 010, 011, 
100, 101, 110, 111. 
Ta có bảng mã hoá hệ thống sau: 
 x 
y2y1y0 
 Y2Y1Y0 
0 1 
000 000 001 
001 001 010 
010 010 011 
011 011 100 
100 100 101 
101 101 110 
110 110 111 
111 111 000 
 Bảng kích JK 
 y Y JK 
 0 0 0- 
 0 1 1- 
 1 0 -1 
 1 1 -0 
 Bảng kích hệ thống 
 x 
y2y1y0 
0 1 
J2K2 J1K1 J0K0 J2K2 J1K1 J0K0 
000 0 - 0 - 0 - 0 - 0 - 1 - 
001 0 - 0 - - 0 0 - 1 - - 1 
010 0 - - 0 0 - 0 - - 0 1 - 
 45
011 0 - - 0 - 0 1 - - 1 - 1 
100 - 0 0 - 0 - - 0 0 - 1 - 
101 - 0 0 - - 0 - 0 1 - - 1 
110 - 0 - 0 0 - - 0 - 0 1 - 
111 - 0 - 0 - 0 - 1 - 1 - 1 
 K2 
 xy2 
y1y0 
00 01 11 10 
00 
 − 
 − 
01 − − 
11 − 
 1 
 − 
10 − − 
K2 = x.y1.y0 
 J2 
 xy2 
y1y0 
00 01 11 10 
00 − − 
01 − − 
11 
 − 
 − 
 1 
10 − − 
 J2 = x.y1.y0 
 46
 K1 
 xy2 
y1y0 
00 01 11 10 
00 − − − − 
01 
 − 
 − 
 − 
 − 
11 
 1 
 1 
10 
 K1 = x.y0 
 J1 
 xy2 
y1y0 
00 01 11 10 
00 
01 
 1 
 1 
11 − − − − 
10 − − − − 
J1 = x.y0 
 47
K0 
 xy2 
y1y0 
00 01 11 10 
00 
 − 
 − 
 − 
 − 
01 1 1 
11 1 1 
10 − − − − 
 K0 = x 
 J0 
 xy2 
y1y0 
00 01 11 10 
00 
 1 
 1 
01 − − − − 
11 − − − − 
10 1 1 
 J0 = x 
 Sơ đồ bộ đếm 8 
 48
sơ đồ bộ đếm 24 
Để xây dựng hệ phương trình kích cho các đầu ra Z1 , Z2 ta dùng 5 bit để mã hoá 24 
trạng thái . 
CP1
CP2
Q1
Q2
V2
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
S
J
CP
K
R
Q
_Q
CP1
CP2
Q1
Q2
V2
S
J
CP
K
R
Q
_Q
S
J
            Các file đính kèm theo tài liệu này:
 1_3155.pdf 1_3155.pdf