Báo cáo tốt nghiệp Thiết kế mạch chuông tự động

pdf 54 trang yendo 7300
Bạn đang xem 20 trang mẫu của tài liệu "Báo cáo tốt nghiệp Thiết kế mạch chuông tự động", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbao_cao_tot_nghiep_thiet_ke_mach_chuong_tu_dong.pdf

Nội dung text: Báo cáo tốt nghiệp Thiết kế mạch chuông tự động

  1. Báo cáo tốt nghiệp Thiết kế mạch chuông tự động
  2. Đề 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 1
  3. . Khối tạo xung Khối đồng hồ Điều khiển Khối chuyển báo chuông đổi chế độ Khối điều khiển Chuông Khối nguồn độ dài chuông a 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. 2
  4. V1 10V +V 2 S3 1 E1 2 S4 1 E2 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 3
  5. 8 R1 1k U3 5 IDEAL 6 U1A R2 3 1k U2 S Q _ Q1 7 4 R Q NPN U4 IDEAL 2 R3 1k 1 U1 555 1 Gnd Vcc 8 2 Trg Dis 7 3 Out Thr 6 4 Rst Ctl 5 4
  6. 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. V1 V2 10V 10V +V +V R1 R3 1k 1k U1 U2 R2 555 D1 R4 555 1k DIODE 1k Gnd Vcc Gnd Vcc Trg Dis Trg Dis Out Thr Out Thr C1 Rst Ctl Rst Ctl 1uF C3 1uF C2 C4 1uF 1uF Hình a Hình b 5
  7. 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. 6
  8. XTAL2 1.000MHZ R2 R1 1k 1k R3 1k C1 U1A 1uF U1B U1C U1D XTAL1 1.000MHZ C2 1uF Hình a Hình b 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: 7
  9. * 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+1) S(t) 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: 8
  10. y Y JK 0 0 0 - 0 1 1 - 1 0 - 1 1 1 - 0 Bảng kích hệ thống: x 0 1 y1y0 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 0 1 y1y0 00 9
  11. 01 1 11 − − 10 − − J1= y0x K1 0 1 x y1y0 00 − − 01 − − 11 1 10 − − K1 = x J0 x 0 1 y1y0 00 1 01 − − 10
  12. 11 − − 10 − − J0 = x K0 0 1 x y1y0 00 − − 01 1 11 1 10 − − K0 = x Sơ đồ bộ đếm cơ số 3: V2 S CP1 Q1 J Q CP2 Q2 CP _ K Q R S J Q CP _ K Q R *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) 11
  13. 0 1 s(t+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 12
  14. x 0 1 J2K2 J1K1 J0K0 J2K2 J1K1 J0K0 y2y1y0 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 00 01 11 10 y2y1 00 − − − − 01 − − − − 11 − − − − 10 0 0 − − 13
  15. J2 y0x 00 01 11 10 y2y1 00 01 1 11 − − − − 10 − − − − K1 y0x 00 01 11 10 y2y1 00 − − − − 01 1 11 − − − − 10 − − − − 14
  16. J1 y0x 00 01 11 10 y2y1 00 1 01 − − − − 11 − − − − 10 − − K0 y0x 00 01 11 10 y2y1 00 − − 1 0 01 − − 1 0 11 − − 10 − − 15
  17. J0 y0x 00 01 11 10 y2y1 00 1 − − 01 − − − 11 − − − − 10 1 − − Sơ đồ bộ đếm 5: V1 CP1 Q1 S CP2 Q2 J Q CP _ K Q R S J Q CP _ K Q R S J Q CP _ K Q R 16
  18. * 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 y X 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 0 1 y 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 17
  19. V3 S CP1 Q1 J Q CP2 Q2 CP _ K Q R *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+1) S(t) 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 18
  20. 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 0 1 y2 y1 y0 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: 19
  21. J2 K2 y y y1 y0 1 0 xy2 00 01 11 10 xy2 00 01 11 10 00 00 − − − − 01 01 − − − − − − 11 11 − − − − 1 − − 10 1 10 − − − − J1 K1 y1 y0 y y 1 0 xy2 00 01 11 10 xy 00 01 11 10 2 00 − − 00 − − 01 − − 01 − − − − 11 − − 11 − − − − 10 10 − − 1 1 − − J0 K0 20
  22. y1 y0 y1 y0 xy2 00 01 11 10 xy2 00 01 11 10 00 − − 00 − − 01 − − − 01 − − − 11 11 1 − − − − 1 − − 10 1 1 − − 10 − 1 1 − 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: S V4 J Q CP1 Q1 CP _ CP2 Q2 K Q R S J Q CP _ K Q R S J Q CP _ K Q R *Thiết kế giải mã bộ đếm 6: Từ yêu cầu ta có bảng hoạt động: 21
  23. Đầ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 Y1Y0 00 01 11 10 Y1Y0 00 01 11 10 Y Y2 2 0 0 1 1 1 1 1 1 1 1 1 − − 1 1 − − c d Y1Y0 00 01 11 10 Y1Y0 00 01 11 10 Y2 Y2 0 0 1 1 1 1 1 1 1 1 1 − − 1 1 − − 22
  24. e g Y1Y0 01 11 10 Y1Y0 00 01 11 10 00 Y2 Y2 0 0 1 1 1 1 1 − − 1 1 1 − − f Y1Y0 00 01 11 10 Y2 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 23
  25. Sơ đồ thực hiện hệ thống y2 y1 y0 a b c d e f g * 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 24
  26. 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 00 01 11 10 y3y2 00 1 1 1 01 1 1 1 11 − − − − 10 1 1 − − a = y1+ y3+ y2y0+ ⎯y2⎯y0 25
  27. b y1y0 00 01 11 10 y3y2 00 1 1 1 1 01 1 1 11 − − − − 10 1 1 − − b = y3+ y0y1+ ⎯y0 ⎯y1+ ⎯y c y1y0 00 01 11 10 y3y2 00 1 1 1 01 1 1 1 1 11 − − − − 26
  28. 10 1 1 − − c = ⎯y1+ y0+ y2 d y1y0 00 01 11 10 y3y2 00 1 1 1 01 1 1 11 − − − − 10 1 1 − − d = ⎯y2⎯y0+ y3+ y1⎯y2+ y1⎯y0+ y2⎯y1y0 e y1y0 00 01 11 10 y3y2 00 1 1 01 1 11 − − − − 27
  29. 10 1 − − e = ⎯y2⎯y0 + y1⎯y0 f y1y0 00 01 11 10 y3y2 00 1 01 1 1 1 11 − − − − 10 1 1 − − f = y3+ y2⎯y1+ ⎯y1⎯y0+⎯y0y2 g y1y0 00 01 11 10 y3y2 00 1 1 01 1 1 1 28
  30. 11 − − − − 10 1 1 − − g = y3+ y2⎯y0+ y2⎯y1+ y1⎯y2 Sơ đồ thực hiện hệ thống 29
  31. y3 y2 y1 y0 a b c d e f g 30
  32. * 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 0 1 y1 0 1 1 − 1 a = y1+ ⎯y0 b y0 0 1 y1 0 1 1 1 − 1 b = ⎯y1+ y0 c y0 0 1 y1 0 1 1 1 − c = ⎯y1 31
  33. d y0 0 1 y1 0 1 1 − 1 d = ⎯y0+ y1 e y0 0 1 y1 0 1 1 − 1 e = ⎯y0+ y1 f y0 0 1 y1 0 1 1 − 32
  34. f = ⎯y0 g y0 0 1 y1 0 1 − 1 g = y1 Sơ đồ thực hiện hệ thống y1 y0 a b c d e f g 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. 33
  35. 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: 34
  36. 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. 35
  37. 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 36
  38. 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. 37
  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 Trạng thái tương Mã hoá chuông ứng 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 ). 39
  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+1) S(t) X Z Z 0 1 1 2 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: 40
  41. x S(t+1) S(t) 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 0 1 y1y0 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 41
  42. x 0 1 y1y0 00 01 1 11 − − 10 − − J1 = y0⎯.x K1 x 0 1 y1y0 00 − − 01 − − 11 1 10 K1 = y0.x J0 x 0 1 y1y0 00 1 01 − − 11 − − 10 1 J0 = x 42
  43. K0 0 1 x y1y0 00 − − 01 1 11 1 10 − − K0 = x Sơ đồ bộ đếm cơ số 3: V1 U3A CP1 Q1 S CP2 Q2 J Q CP _ K Q R S J Q CP _ K Q R • 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+1) S(t) 0 1 0 0 1 1 1 2 2 2 3 3 3 4 43
  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 0 1 J2K2 J1K1 J0K0 J2K2 J1K1 J0K0 y2y1y0 000 0 - 0 - 0 - 0 - 0 - 1 - 001 0 - 0 - - 0 0 - 1 - - 1 010 0 - - 0 0 - 0 - - 0 1 - 44
  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 00 01 11 10 y1y0 00 − − 01 − − 11 − 1 − 10 − − K2 = x.y1.y0 J2 xy2 00 01 11 10 y1y0 00 − − 01 − − 11 − − 1 10 − − J2 = x.y1.y0 45
  46. K1 xy2 00 01 11 10 y1y0 00 − − − − 01 − − − − 11 1 1 10 K1 = x.y0 J1 xy2 00 01 11 10 y1y0 00 01 1 1 11 − − − − 10 − − − − J1 = x.y0 46
  47. K0 xy2 00 01 11 10 y1y0 00 − − − − 01 1 1 11 1 1 10 − − − − K0 = x J0 xy2 00 01 11 10 y1y0 00 1 1 01 − − − − 11 − − − − 10 1 1 J0 = x Sơ đồ bộ đếm 8 47
  48. V2 S CP1 Q1 J Q CP2 Q2 CP _ K Q R S J Q CP _ K Q R S J Q CP _ K Q R sơ đồ bộ đếm 24 V2 CP1 Q1 S S CP2 Q2 J Q J Q CP _ CP _ K Q K Q R R S J Q CP _ K Q S J Q R CP _ K Q R S J Q CP _ K Q R Để 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 . 48
  49. Các trạng thái Mã tương ứng Z1 Z2 s1 00000 1 0 s2 00001 0 1 s3 00010 1 0 s4 00011 0 1 s5 00100 1 0 s6 00101 0 1 s7 00110 1 0 s8 00111 0 1 s9 01000 1 0 s10 01001 0 1 s11 01010 1 0 s12 01011 0 1 s13 01100 1 0 s14 01101 0 1 s15 01110 1 0 s16 01111 0 1 s17 10000 1 0 s18 10001 0 1 s19 10010 1 0 s20 10011 0 1 s21 10100 1 0 s22 10101 0 1 s23 10110 1 0 s24 10111 0 1 Z1 49
  50. 000 001 011 010 110 111 101 100 y4y3y2 y1y0 00 1 1 1 1 1 1 01 11 10 1 1 1 1 1 1 Z1= ⎯y0 . ⎯y4 + ⎯y0 . ⎯y3 Z2 000 001 011 010 110 111 101 100 y4y3y2 y1y0 00 01 1 1 1 1 1 1 11 1 1 1 1 1 1 10 Z2 = y0 . ⎯y4 + y0 . ⎯y3 50
  51. Sơ đồ thực hiện hệ thống : V1 CP1 Q1 CP2 Q2 S J Q CP _ K Q R S J Q CP _ K Q R S J Q CP _ K Q R Z1 S J Q CP _ K Q R S Z2 J Q CP _ K Q R f- Khối điều khiển độ dài chuông Mạch dao động đa hài đơn ổn dùng NOR Yêu cầu: - Chuông ra kéo dài 5 giây - Chuông vào kéo dài 10 giây ở đầu ra của khối so sánh ,tại thời gian cần báo thức sẽ có một chuỗi xung được tạo ra ,mỗi xung có τ=5 s.Chuỗi xung này được đưa đến khối tạo âm thanh qua khoá K3.Loa sẽ phát một chuỗi các tiếng kêu, mỗi tiêng kêu kéo dài khoảng τ=5s và hai tiếng kêu liên tiếp cách nhau một khoảng thời gian τ=5 s Ta dùng 2 đa hài đợi, một đa hài đợi trễ 10 giây để điều khiển chuông vào, một đa hài đợi trễ 5 giây để điều khiển chuông ra. Sơ đồ mạch: 51
  52. V1 10V +V R1 120k U1A C U1B 47uF B Xung A xung vao ra R2 1k Nguyên lý hoạt động: - Khi chưa có xung kích: → UA =1 → UB = 0 U vào - Khi có xung kích dương: → UA = 0 → UB = 1 → UB được dẫn về đầu vào của U1A làm cho UA = 0 ngay cả khi không có xung kích vào. Ngay tại thời điểm có xung dương kích vào, tụ C bắt đầu nạp t điện do V1 cung cấp. Điện áp dương ở bản cực phải của tụ tăng U ra dần cho đến khi U1B lật xuống múc thấp , khi đó UB = 0. Như vậy, mỗi tx lần có xung kích dương ở đầu vào thì đầu ra sẽ có 1 xung dương với độ rộng xung bằng: tx = R1Cln2≈ 0,7R1C. t Ưu điểm: Xung tạo ra có dạng vuông chuẩn. Nhược điểm: Trong mạch dùng R và C phụ thuộc nhiệt độ → tx có độ ổn định kém, không thích hợp với những ứng dụng yêu cầu độ chính xác cao. Sơ đồ hệ thống mạch: 52
  53. V1 10V +V R1 120k U1A C U1B 47uF B Xung A vao R2 V2 1k 10V U2A +V Khoi chuong R3 120k U1D C1 U1C 100uF B Xung A vao R4 1k 53