intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo trình Vi điều khiển cơ bản (Nghề Điện tử dân dụng - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:141

19
lượt xem
8
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Giáo trình "Vi điều khiển cơ bản (Nghề Điện tử dân dụng - Trình độ: Trung cấp)" được biên soạn với mục tiêu giúp sinh viên trình bày được về hệ đếm và mã hóa trong máy tính, tương tác giữa máy tính và vi xử lý, các bộ vi xử lý intel đang được ứng dụng; nắm được cấu trúc của các họ vi xử lý và vi điều khiển; giải thích được nguyên lý làm việc các hệ điều khiển ứng dụng vi xử lý và vi điều khiển;...

Chủ đề:
Lưu

Nội dung Text: Giáo trình Vi điều khiển cơ bản (Nghề Điện tử dân dụng - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ

  1. TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1
  2. LỜI GIỚI THIỆU Vi điều khiển cơ bản là một trong những mô đun cơ sở của nghề Điện tử dân dụng được biên soạn dựa theo chương trình khung đã xây dựng và ban hành năm 2017 của trường Cao đẳng nghề Cần Thơ dành cho nghề Điện tử dân dụng hệ Trung cấp. Giáo trình được biên soạn làm tài liệu học tập, giảng dạy nên giáo trình đã được xây dựng ở mức độ đơn giản và dễ hiểu, trong mỗi bài học đều có thí dụ và bài tập tương ứng để áp dụng và làm sáng tỏ phần lý thuyết. Khi biên soạn, nhóm biên soạn đã dựa trên kinh nghiệm thực tế giảng dạy, tham khảo đồng nghiệp, tham khảo các giáo trình hiện có và cập nhật những kiến thức mới có liên quan để phù hợp với nội dung chương trình đào tạo và phù hợp với mục tiêu đào tạo, nội dung được biên soạn gắn với nhu cầu thực tế. Nội dung giáo trình được biên soạn với lượng thời gian đào tạo 90 giờ gồm có: Bài MĐ18-01: Tổng quan về các hệ vi xử lý. Bài MĐ18-02: Các đơn vi vi xử lý trung tâm. Bài MĐ18-03: Bộ nhớ trong của hệ vi xử lý. Bài MĐ18-04: Thiết bị vào ra của hệ vi xử. Bài MĐ18-05: Sơ lược về lịch sử và hướng phát triển của vi điều khiển. BàiMĐ18-06: Cấu trúc họ vi điều khiển 8051. Bài MĐ18-07: Phần mềm hợp ngữ. Bài MĐ18-08: Tập lệnh 8051. Bài MĐ18-09: Bộ định thời. Bài MĐ18-10: Cổng nối tiếp. Bài MĐ18-11: Ngắt. Bài MĐ18-12: Lập trình và mô phỏng một số chương trình ứng dụng. Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng không tránh được những thiếu sót. Rất mong nhận được sự đóng góp ý kiến của các thầy, cô, bạn đọc để nhóm biên soạn sẽ điều chỉnh hoàn thiện hơn. Cần Thơ, ngày tháng 8 năm 2018 Tham gia biên soạn 1. Chủ biên: Đỗ Hữu Hậu 2. Nguyễn Thanh Nhàn 2
  3. MỤC LỤC Trang TUYÊN BỐ BẢN QUYỀN ............................................................................. 1 LỜI GIỚI THIỆU ........................................................................................... 2 MỤC LỤC ...................................................................................................... 3 BÀI 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ ............................................. 10 1. Biểu diễn thông tin trong các hệ vi xử lý: .................................................. 10 2. Cấu trúc của hệ vi xử lý và máy vi tính: .................................................... 12 BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM ........................................... 17 1. Trung tâm vi xử lý P 8085: ..................................................................... 17 2. Các trung tâm vi xử lý họ 80x86: .............................................................. 24 BÀI 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ ............................................. 32 Bộ nhớ trong hệ vi xử lý: .............................................................................. 32 2. Tổ chức bộ nhớ cho hệ vi xử lý: ................................................................ 33 BÀI 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ .......................................... 36 1. Bàn phím HEX (keyboard): ....................................................................... 36 2.Ghép nối bàn phím với hệ vi xử lý: ............................................................ 38 3. Màn hình (Monitor): ................................................................................. 40 BÀI 5: SƠ LƯỢC LỊCH SỬ, HƯỚNG PHÁT TRIỂN VI ĐIỀU KHIỂN ........ 43 1.Lịch sử phát triển ...................................................................................... .43 2. Vi điều khiển (microcontroller). ................................................................ 44 3.Lĩnh vực và ứng dụng. ............................................................................... 46 4.Hướng phát triển. ....................................................................................... 47 BÀI 6: CẤU TRÚC CỦA HỌ VI ĐIỀU KHIỂN 8051 ................................... 48 1. Tổng quan ................................................................................................. 48 2.Sơ đồ chân vi điều khiển 8051 .................................................................... 49 3. Cấu trúc Port I/O ....................................................................................... 51 4. Tổ chức bộ nhớ. ........................................................................................ 53 5. Các thanh ghi chức năng đặc biệt (SFR). ..................................................... 55 6. Bộ nhớ ngoài. ............................................................................................ 57 7. Hoạt động Reset. ....................................................................................... 58 BÀI 7: PHẦN MỀM HỢP NGỮ .................................................................... 60 1. Hoạt động của Assembler. ......................................................................... 60 2. Cấu trúc chương trình dữ liệu .................................................................... 62 3. Tính biểu thức trong khi hợp dịch.............................................................. 64 4. Các điều khiển của ASSEMBLER. ............................................................ 66 5. Hoạt động liên kết (Linker). ...................................................................... 67 6. Macro ....................................................................................................... 68 BÀI 8: TẬP LỆNH 8051 ............................................................................... 70 1.Các cách định địa chỉ. ................................................................................ 70 2. Các nhóm lệnh. ........................................................................................... 72 BÀI 9: BỘ ĐỊNH THỜI ................................................................................ 91 1.Thanh ghi SFR của timer. ........................................................................... 91 2.Các chế độ làm việc .................................................................................... 93 3. Nguồn cung cấp xung cho Timer. ................................................................ 94 4.Khởi động, dừng và điều khiển Timer. .......................................................... 95 5. Khởi tạo và truy xuất thanh ghi Timer. ......................................................... 95 6.Timer 2 của 8052. ....................................................................................... 96 3
  4. BÀI 10: CỔNG NỐI TIẾP (SERIAL PORT) ................................................ 102 1. Thanh ghi điều khiển. .............................................................................. 102 2. Chế độ làm việc. ...................................................................................... 106 3. Khởi tạo và truy xuất thanh ghi PORT nối tiếp........................................ 110 4. Truyền thông đa xử lý (Multiprocessor Communications)......................... 111 5. Tốc độ baud. ............................................................................................. 112 BÀI 11: NGẮT ............................................................................................ 117 1.Tổ chức ngắt của 8051: .............................................................................. 117 2. Xử lý ngắt................................................................................................. 122 3. Thiết kế chương trình dùng ngắt................................................................. 124 4. Ngắt cổng nối tiếp. ................................................................................... 125 5. Các cổng ngắt ngoài. ................................................................................. 126 6. Đồ thị thời gian của ngắt. ......................................................................... 127 BÀI 12: LẬP TRÌNH MÔ PHỎNG CHƯƠNG TRÌNH ỨNG DỤNG............ 130 1. Lập trình giao tiếp với 8 LED đơn ............................................................ 130 2. Lập trình giao tiếp với LED 7 đoạn .......................................................... 131 3. Lập trình giao tiếp với ma trận phím bấm ................................................. 132 4. Lập trình giao tiếp với LCD ..................................................................... 134 5.Lập trình giao tiếp với động cơ bước ......................................................... 138 6.Lập trình giao tiếp điều khiển van từ, xi lanh ............................................ 139 TÀI LIỆU THAM KHẢO ............................................................................ 141 4
  5. GIÁO TRÌNH MÔ ĐUN Tên mô đun: VI ĐIỀU KHIỂN CƠ BẢN Mã mô đun: MĐ 18 Thời gian thực hiện mô đun: 75 giờ; (Lý thuyết: 15 giờ; Thực hành, thí nghiệm, thảo luận, bài tập: 57 giờ; Kiểm tra: 03 giờ) Vị trí, tính chất, ý nghĩa và vai trò của mô đun: - Vị trí của mô đun: Mô đun được bố trí dạy sau khi học xong các mô đun linh kiện điện tử, đo lường điện – điện tử, kỹ thuật xung - số, mạch điện tử cơ bản.... - Tính chất của mô đun: Là mô đun kỹ thuật cơ sở - Ý nghĩa của mô đun: giúp người học nắm bắt được phương pháp lập trình điều khiển các ứng dụng căn bản các họ vi xử lý và vi điều khiển - Vai trò của Mô-đun: Lập trình điều khiển các ứng dụng căn bản trong công nghiệp và là nền tảng để học mô đun chuyên môn nghề Mục tiêu của mô đun: - Về kiến thức: + Trình bày được về hệ đếm và mã hóa trong máy tính, tương tác giữa máy tính và vi xử lý, các bộ vi xử lý intel đang được ứng dụng + Trình bày được cấu trúc của các họ vi xử lý và vi điều khiển + Giải thích được nguyên lý làm việc các hệ điều khiển ứng dụng vi xử lý và vi điều khiển - Về kỹ năng: + Lập trình hợp ngữ một số bài tập cơ bản một cách thành thạo + Xử lý được một số dạng kết nối máy tính với vi xử lý và các thiết bị ngoại vi + Phát triển được các hệ điều khiển trên cơ sở khối trung tâm là vi xử lý. + Vận hành được các thiết bị và dây chuyền sản xuất dùng vi điều khiển + Xác định được các nguyên nhân gây ra hư hỏng xảy ra trong thực tế. + Lập trình cho hệ vi điều khiển 89C51với Assembly + Nạp chương trình vào vi điều khiển. - Năng lực tự chủ và trách nhiệm: + Có sáng kiến, tìm tòi, khám phá trong quá trình học tập và công việc + Có khả năng tự định hướng, chọn lựa phương pháp tiếp cận thích nghi với các bài học + Có năng lực đánh giá kết quả học tập và nghiên cứu của mình + Tự học tập, tích lũy kiến thức, kinh nghiệm để nâng cao trình độ chuyên môn Nội dung của mô đun: Thời gian (giờ) Số Thực hành, Tên các bài trong mô đun Tổng Lý thí nghiệm, Kiểm TT số thuyết thảo luận, tra bài tập 1 Bài 1: Tổng quan về các hệ vi xử lý 2 1 1 1. Biểu diễn thông tin trong các hệ vi 1 0.5 0.5 5
  6. xử lý 2. Cấu trúc của hệ vi xử lý và máy vi 1 0.5 0.5 tính Bài 2: Các đơn vi vi xử lý trung 2 2 0.5 1.5 tâm 1. Trung tâm vi xử lý mP 8085 0.25 0.25 2. Các trung tâm vi xử lý họ 80x86 1.75 0.25 1.5 3 Bài 3: Bộ nhớ trong của hệ vi xử lý 4 1 3 1. Bộ nhớ trong hệ vi xử lý 2 0.5 1.5 2. Tổ chức bộ nhớ cho hệ vi xử lý 2 0.5 1.5 Bài 4: Thiết bị vào ra của hệ vi xử 4 4 1 3 lý 1. Bàn phím HEX (keyboard) 1.25 0.25 1 2. Ghép nối bàn phím với hệ vi xử lý 1.25 0.25 1 3. Màn hình 1.5 0.5 1 Bài 5: Sơ lược về lịch sử và hướng 5 1 1 phát triển của vi điều khiển 1. Lịch sử phát triển. 0.25 0.25 2. Vi điều khiển 0.25 0.25 3. Lĩnh vực và ứng dụng 0.25 0.25 4. Hướng phát triển 0.25 0.25 Bài 6: Cấu trúc họ vi điều khiển 6 4 2 1 1 8051 1. Tổng quan 0.25 0.25 2. Sơ đồ chân 0.25 0.25 6
  7. 3. Cấu trúc Port I/O 0.25 0.25 4. Tổ chức bộ nhớ 0.5 0.5 5. Các thanh ghi chức năng đặc biệt 0.25 0.25 6. Bộ nhớ ngoài 0.75 0.25 0.5 7. Hoạt động Reset 0.75 0.25 0.5 Kiểm tra 1 1 7 Bài 7: Phần mềm hợp ngữ 8 2 6 1.Hoạt động của ASSEMBLER 1 0.25 0.75 2. Cấu trúc chương trình dữ liệu 1 0.5 0.5 3. Tính biểu thức trong khi hợp dịch 1 0.5 0.5 4. Các điều khiển của ASSEMBLER 2 0.25 1.75 5. Hoạt động liên kết 2 0.25 1.75 6. MACRO 1 0.25 0.75 8 Bài 8: Tập lệnh 8051 8 0.5 7.5 1. Các cách định địa chỉ 3.5 0.25 3.25 2 . Các nhóm lệnh 4.5 0.25 4.25 9 Bài 9: Bộ định thời 8 1.5 5.5 1 1.Thanh ghi SFR của timer 0.25 0.25 2. Các chế độ làm việc 0.25 0.25 3. Nguồn cung cấp xung cho Timer 0.25 0.25 4. Khởi động, dừng, điều khiển Tim- 2 0.25 1.75 er 5. Khởi tạo và truy xuất thanh ghi Timer - Đọc thời gian đang hoạt 2 0.25 1.75 động 7
  8. 6. Timer 2 của 8052 2.25 0.25 2 Kiểm tra 1 1 10 Bài 10: Cổng nối tiếp 8 1.5 6.5 1. Thanh ghi điều khiển 0.25 0.25 2. Chế độ làm việc 0.25 0.25 3. Khởi tạo và truy suất thanh ghi 2.75 0.25 2.5 PORT nối tiếp 4. Truyền thông đa xử lý 2.75 0.25 2.5 5. Tốc độ BAUD 2 0.5 1.5 11 Bài 11: Ngắt 8 1.5 6.5 1. Tổ chức ngắt của 8051 0.25 0.25 2. Xử lý ngắt 1.25 0.25 1 3. Thiết kế chương trình dùng ngắt 1.25 0.25 1 4. Ngắt cổng nối tiếp 1.25 0.25 1 5. Các cổng ngắt ngoài 1.25 0.25 1 6. Đồ thị thời gian của ngắt 2.75 0.25 2.5 Bài 12: Lập trình và mô phỏng một 12 18 1.5 15.5 1 số chương trình ứng dụng 1. Lập trình giao tiếp với 8 LED đơn. 3 0.25 2.75 2. Lập trình giao tiếp với 2 LED 7 3 0.25 2.75 đoạn. 3. Lập trình giao tiếp với ma trận 3 0.25 2.75 phím bấm 4. Lập trình giao tiếp với LCD 3 0.25 2.75 5. Lập trình giao tiếp với động cơ 2.5 0.25 2.25 8
  9. bước 6. Lập trình giao tiếp điều khiển van 2.5 0.25 2.25 từ, xi lanh.. Kiểm tra 1 1 Cộng 75 15 57 03 9
  10. BÀI 1: TỔNG QUAN VỀ CÁC HỆ VI XỬ LÝ Mã bài: MĐ18-01 Giới thiệu Hiện nay kỹ thuật vi xử lý đã được giảng dạy rộng rãi ở các trường Đại học và Cao đẳng trong cả nước, tuy nhiên lĩnh vực vi xử lý vẫn chưa được khai thác triệt để trong các hệ thống điều khiển, đo lường và điều khiển của các dây chuyền công nghiệp. Mục tiêu: - Trình bày được một số hệ đếm, và các mã thường dùng trong hệ vi xử lý. - Tính toán, chuyển đổi được các phép toán nhị phân. - Trình bày được cách biểu diễn thông tin trong các hệ vi xử lý. - Rèn luyện tính tư duy, tác phong trong công nghiệp. 1. Biểu diễn thông tin trong các hệ vi xử lý: 1.1 Mã hóa các thông tin không số 1.1.1. Mã hóa chữ và dữ liệu kiểu văn bản Đơn vị cơ sở của dữ liệu văn bản là chữ. Chữ ở đây được hiểu theo nghĩa rộng, không chỉ là các chữ cái Latinh mà kể cả chữ số, các dấu chính tả, các dấu toán học, các kí hiệu để trình bày. Mặt khác không phải dân tộc nào cũng dùng chữ Latinh nên đối với một số dân tộc có thể có những chữ riêng. Chúng ta dùng thuật ngữ ký tự (character) với ý nghĩa là một ký hiệu dùng trong văn bản. Nếu dùng một vùng nhớ k bit để mã hóa một chữ thì chỉ có thể biểu diễn tối đa được 2k ký tự vì chỉ có thể tạo được đúng 2k các mã nhị phân khác nhau. Điều này giải thích tại sao người Mỹ chỉ cần 7 bit để mã hóa cho các chữ của họ; để có thêm các mặt chữ Châu Âu, chữ Hy Lạp hay người Nhật phải dùng các mã 16 bit. Các văn bản được hình dung như một chuỗi ký tự. Nội dung một cuốn sách, một bài thơ được đưa vào máy tính là những ví dụ cụ thể về thông tin văn bản. Hầu hết các máy tính và môi trường lập trình hiện nay đều sử dụng một byte để mã hóa một chữ. Về nguyên tắc có thể mã hóa giá trị sai hay không bởi bit 0, giá trị đúng hay không bởi bit1. Tuy nhiên ít khi người ta sử dụng tới mức bit vì cơ chế địa chỉ hóa thường ít nhất ở mức byte. Khi đó người ta vẫn dùng một byte để mã hóa các giá trị logic. 1.1.2. Các dữ liệu logic: Dữ liệu loại logic chỉ có thể hiện một trong hai trạng thái đối lập là đúng sai, hoặc có không. Các thông tin kiểu logic chịu tác động của các phép toán so sánh, các phép toán nhân logic “và”, cộng logic hoặc hay phủ định logic “không”. Về nguyên tắc có thể mã hóa giá trị sai hay không bởi bit 0, giá trị đúng hay có bởi bit 1. Tuy nhiên ít khi người ta sử dụng tới mức bit vì cơ chế địa chỉ hóa thường ít nhất ở mức byte. Khi đó người ta vẫn dùng một byte để mã hóa các giá trị logic. 1.2. Mã hóa các thông tin số: Nếu dùng 1 byte (8 bit) để biểu diễn các số nguyên không dấu (số tự nhiên) thì ta có thể biểu diễn được 2n = 28 = 256 số từ 0 đến 255. Mã nhị phân Số 0000 0000 0 0000 0001 1 0000 0010 2 …………. …. 1111 1111 255 10
  11. Nếu dùng 1 byte để biểu diễn các số nguyên có dấu thì có thể biểu diễn được 2 n = 28 = 256 số từ -128 đến 127. Do đó khoảng số nguyên biểu diễn được là từ -128 đến 127 là vì phải dùng mất 1 bit để biểu diễn dấu. Bit biểu diễn dấu là bit MSB. MSB = 1 cho số âm, MSB = 0 cho số dương. Khi MSB = 0 thì ta có số dương lớn nhất là 0111 1111 = 127. Khi MSB = 1 ta có số âm, số âm có nhiều cách biểu diễn nhưng hay dùng nhất là kiểu số bù hai. Với kiểu số bù hai số âm nhỏ nhất là 1000 0000 = -128 1.3. Biểu diễn dữ liệu số trong máy tính: Dữ liệu để đạt được hiệu quả cao khi xử lý, lưu trữ và truyền thông tin điều cần thiết là phải tìm cách tổ chức và biểu diễn (thể hiện) thông tin trong máy tính điện tử một cách hợp lý. Như đã biết, dữ liệu là hình thức biểu diễn thông tin. Vậy đối với máy tính dữ liệu chính là các thông tin đã được mã hóa dưới dạng nhị phân. Dữ liệu - thông tin được máy tính xử lý có thể có các dạng khác nhau. Hình 1.1. Phân loại các dạng dữ liệu cơ bản. Máy tính có thể tính toán trên các số, có thể xử lý thông tin chữ hay thông tin logic, có thể xử lý những thông tin đa phương tiện (multimedia) như âm thanh và hình ảnh. Máy tính còn có thể xử lý tri thức (knowledge). Thông tin về một đối tượng có thể rất phức tạp và có thể được thể hiện bằng nhiều dữ liệu có kiểu khác nhau. Ví dụ thông tin về một cán bộ có thể có tên, nơi sinh là văn bản; ngày sinh, lương là số; ảnh chân dung là ảnh... Để lưu trữ trong máy tính điện tử cả dữ liệu số, phi số và tri thức đều được mã hóa bằng các mã nhị phân. Theo nghĩa đó mọi dữ liệu dù là bản chất có khác nhau nhưng đều được số hóa. 1.4. Bản chất vật lý của thông tin trong các hệ vi xử lý Đối với bộ nhớ trong, các thông tin sau khi mã hóa dưới dạng nhị phân được đưa vào bộ nhớ theo quy ước. Mỗi ngăn của ô nhớ sẽ lưu giữ một trong hai trạng thái được quy ước là một trong hai bit 0 hoặc 1. Nếu dùng chiều của từ thông để mã hóa thì không thể phân biệt được các bit giống nhau đứng liền nhau. Thông thường các bit được ghi theo kiểu điều tần. Các bit được thể hiện qua các kiểu biến thiên của từ trường chứ không phải chiều của từ thông 11
  12. một vùng nhiễm từ trên đĩa. Thực ra cách ghi trên đĩa từ khá phức tạp vì người ta không những chỉ ghi dữ liệu mà còn có các thông tin về địa chỉ và các thông tin đồng bộ giúp cho việc đọc thông tin được chính xác. 2. Cấu trúc của hệ vi xử lý và máy vi tính: 2.1. Lịch sử phát triển các trung tâm vi xử lý: Vi xử lý được chế tạo từ các tranzito tích hợp trên một vi mạch tích hợp đơn. Xuất hiện lần đầu tiên vào những năm đầu của thập kỷ 70 của thế kỷ 20. Sử dụng mã BCD trên nền 4 bit. Các vi xử lý 4 bit và 8 bit được sử dụng trong các thiết bị đầu cuối, máy in, các hệ thống tự động...Đến giữa những năm 1970 thì lần đầu tiên các vi xử lý 8 bit với 16 bit địa chỉ được sử dụng như máy tính đa mục đích. Sau sự ra đời của các vi xử lý 4 bit thì các hãng cho ra đời các dịng 8 bit, 12 bit, 16 bit, 32 bit, 64 bit. Năm 1971, hãng Intel đã cho ra đời bộ vi xử lý đầu tiên là 4004 (4 bit số liệu, 12 bit địa chỉ). Sau đó Intel và các hãng khác lần lượt cho ra đời các bộ vi xử lý khác: 4040 (4 bit) và 8008 (8 bit) của Intel, PPS-4 (4 bit) của Rockwell International, IPM-16 (16 bit) của National Semiconductor. Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 8 bit 8080 và 8085 của Intel, 6800 và 6809 của Motorola và Z80 của Zilog. Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 16 bit 8086, 80186, 80286 của Intel, 68000 và 68010 của Motorola. Các bộ vi xử lý đại diện cho thế hệ này là các bộ vi xử lý 32 bit 80386, 80486 và 64 bit Pentium của Intel, các bộ vi xử lý 32 bit 68020, 68030, 68040, 68060 của Motorola. Bên cạnh các bộ vi xử lý vạn năng truyền thống thường được sử dụng để xây dựng các máy tính với tập lệnh đầy đủ (Complex Instruction Set Computer, CISC) mà chúng ta đã nói ở trên, trong thời gian này cũng đã xuất hiện các bộ vi xử lý cải tiến dùng để xây dựng các máy tính với tập lệnh rút gọn (Reduced Instruction Set Computer, RISC) với nhiều tính năng có thể so sánh với các máy tính lớn ở thế hệ trước. Đó là các bộ vi xử lý Alpha của hãng Digital, PowerPC của ba hãng Apple- Motorola-IBM. 2.2. Cấu trúc cơ bản của hệ vi xử lý: Một vi xử lý về cơ bản gồm có 3 khối chức năng: đơn vị thực thi (Execution), bộ điều khiển tuần tự (Sequencer) và bus giao tiếp. - Đơn vị thực thi: Xử lý các lệnh số học và logic. Các toán hạng liên quan có mặt ở các thanh ghi dữ liệu hoặc địa chỉ hoặc từ bus nội. - Bộ điều khiển tuần tự: Bao gồm bộ giải mã lệnh (Intrustruction Decoder) và bộ đếm chương trình (Program Counter). + Bộ đếm chương trình gọi các lệnh chương trình tuần tự. + Bộ giải mã lệnh thì khởi động các bước cần thiết để thực hiện lệnh. Bộ điều khiển tuần tự tạo thành một hệ thống logic tuần tự mà cách thức hoạt động của nó được chứa trong ROM. Nội dung chứa trong ROM được gọi là vi chương trình. Các lệnh bên ngoài trong trường hợp này xác định các địa chỉ vào vi chương trình. Khi chương trình bắt đầu thực hiện thì bộ đếm chương trình PC được đặt ở địa chỉ bắt đầu, thường là địa chỉ 0000H (với xi xử lý 8 bit). Địa chỉ này được chuyển đến bộ nhớ thông qua bus địa chỉ (Address Bus). Khi tín hiệu Read được đưa vào ở bus địa chỉ nội dung của bộ nhớ liên quan xuất hiện trên bus dữ liệu (data bus) và sẽ được chứa ở bộ giải mã lệnh (Instruction Decoder). Sau khi khởi động một số bước cần thiết để thực thi lệnh nhờ một số chu kỳ máy và khi lệnh đã thực thi, thì bộ giải mã lệnh làm cho bộ 12
  13. đếm chương trình chỉ đến địa chỉ của lệnh kế. Hình 1.2. Sơ đồ khối một máy tính cổ điển Để tạo thành một hệ vi xử lý hoàn chỉnh, bộ vi xử lý cần phải kết hợp với các bộ phận điện tử khác như bộ nhớ và các bộ phối ghép vào/ra. Cần lưu ý rằng máy vi tính chỉ là một trong những ứng dụng cụ thể của hệ vi xử lý. Dưới đây là sơ đồ khối tổng quát của một hệ vi xử lý. Trong sơ đồ này ta thấy các khối chức năng chính của hệ vi xử lý gồm có: + Khối xử lý trung tâm (Central Processing Unit, CPU) + Bộ nhớ trong RAM-ROM (Memory, M) + Khối phối ghép với các thiết bị ngoại vi (Input/Output, I/O) + Các bus truyền thông tin giữa các khối.  Khối xử lý trung tâm (CPU, còn gọi là bộ vi xử lý) đóng vai trị chủ đạo trong hệ vi xử lý. Khi hoạt động, nó đọc mã lệnh được ghi dưới dạng các bit 0 và 1 từ bộ nhớ, sau đó nó sẽ giải mã các lệnh này thành dãy các xung điều khiển ứng với các thao tác trong lệnh để điều khiển các khối khác thực hiện từng bước các thao tác đó. Để làm được việc này bên trong CPU có các thanh ghi (ô nhớ): thanh ghi con trỏ lệnh IP dùng để chứa địa chỉ của các lệnh sắp thực hiện, các thanh ghi con trỏ và chỉ số, các thanh ghi đa năng cùng bộ tính toán số học và logic (ALU, Arithmetic and Logic Unit) để thao tác với dữ liệu. Ngoài ra bên trong CPU còn có các hệ thống mạch điện tử rất phức tạp để giải mã lệnh và từ đó tạo ra các xung điều khiển cho toàn hệ.  Bộ nhớ bán dẫn hay còn gọi là bộ nhớ trong là một bộ phận rất quan trọng của hệ vi xử lý. Bộ nhớ bán dẫn gồm có ROM và RAM. ROM dùng để chứa chương trình điều khiển của tồn hệ, khi bật điện CPU sẽ lấy lệnh từ đây để khởi động hệ thống. RAM chứa một phần chương trình điều khiển hệ thống, các chương trình ứng dụng, dữ liệu và các kết quả của chương trình. Các dữ liệu và chương trình muốn lưu trữ lâu dài sẽ được để ở bộ nhớ ngoài (đĩa từ, băng từ). Khi hoạt động CPU sẽ lấy các lệnh trong RAM ra thực hiện, bởi vậy các chương trình muốn CPU thực hiện phải được đưa vào RAM. Bộ nhớ trong được tổ chức thành các ô nhớ có độ dài (số bit) bằng nhau, mỗi ô nhớ được gán một địa chỉ cố định và duy nhất.  Khối phối ghép vào/ra (I/O) là bộ phận giao tiếp giữa hệ vi xử lý với thế giới bên ngoài. Các thiết bị ngoại vi như bàn phím, chuột, màn hình, máy in, bàn phím,... đều liên hệ với hệ vi xử lý qua bộ phận này. Mỗi giao diện với một thiết bị bên ngoài gọi là cổng. Có 2 loại cổng: cổng vào và cổng ra, cổng vào để lấy thông tin từ ngoài vào và cổng ra để đưa thông tin từ trong hệ thống ra ngoài. Nếu nhìn từ trong CPU thì khối I/O có thể xem như bộ nhớ, mỗi cổng có một địa chỉ cố định và có thể đọc dữ liệu vào hoặc ghi dữ liệu ra cổng.  Bus là một nhóm các đường dây dẫn điện để truyền tín hiệu giữa các khối trong hệ. Các đường dây này gọi chung là bus hệ thống. Bus hệ thống gồm có ba 13
  14. bus thành phần: bus địa chỉ chuyển tải tín hiệu địa chỉ, bus dữ liệu chuyển tải tín hiệu dữ liệu và bus điều khiển chuyển tải tín hiệu điều khiển. Sơ đồ khối của hệ vi xử lý cơ bản Mọi hoạt động cơ bản của một hệ vi xử lý đều giống nhau, không phụ thuộc loại vi xử lý hay quá trình thực hiện. µP sẽ đọc một lệnh từ bộ nhớ (memory), thực thi lệnh và sau đó đọc lệnh kế. Quá trình đọc lệnh gọi là instruction fetch còn quá trình thực hiện tuần tự như trên gọi là fetch – execute sequence. Tuy nhiên có một số µP sẽ nhận một số lệnh rồi mới bắt đầu thực thi. Hình 1.3. Sơ đồ khối hệ vi xử lý  Các port I/O: - Các port nhập (input) và xuất (output) dùng để giao tiếp giữa µP và thiết bị ngoại vi (không thể nối trực tiếp với các bus). - Port xuất là một thanh ghi. Khi µP ghi dữ liệu ra địa chỉ của Port thì Port sẽ chứa dữ liệu hiện tại trên data bus. Dữ liệu này sẽ được chốt tại Port cho đến khi µP ghi dữ liệu mới ra Port. - Port nhập là một driver 3 trạng thái. Khi µP đọc vào từ địa chỉ của Port, driver 3 trạng thái lái dữ liệu từ bên ngoài vào data bus. Sau đó, µP đọc dữ liệu từ bus.  Các tín hiệu tiêu biểu của một µP: Hình 1.4. Các tín hiệu cơ bản trong µP - Các bus dùng để liên kết các thành phần của hệ thống với µP. µP sẽ chọn một thiết bị cần sử dụng thông qua address bus và đọc hay ghi dữ liệu thông qua data bus. Data bus là bus 2 chiều, dùng chung cho tất cả các quá trình trao đổi dữ liệu. Mỗi chu kỳ bus (bus cycle) là việc thực hiện trao đổi một từ dữ liệu giữa µP và ô nhớ hay thiết bị I/O. 2.3. Từ hệ Vi xử lý đến máy vi tính PC: 14
  15. Trong thực tế, các hệ Vi xử lý hiện đại được trang bị thêm nhiều thiết bị ngoại vi tiện dụng tuỳ theo yêu cầu, mục đích sử dụng và có giao diện thân thiện với con người. Đó là các máy vi tính PC. Cũng có thể là những hệ Vi xử lý chuyên dụng cho những mục đích tính toán hay điều khiển. Quan điểm đúng cho rằng máy tính chỉ gồm CPU và bộ nhớ chính, còn các thiết bị phụ trợ khác như bàn phím, máy in, các ổ đĩa cứng, đĩa mềm, Ổ CD, chuột, màn hình, máy in..., là những thiết bị ngoại vi. Các chương trình để xử lý dữ liệu được lưu giữ trong bộ nhớ chính hoặc trong các ổ đĩa, có nhiệm vụ xử lý những dữ liệu được người dùng nhập vào và đưa kết quả xử lý ra màn hình, in ra giấy hoặc lưu giữ trong các ổ đĩa. Để đánh giá tính năng và chất lượng của các máy này, ta thường căn cứ vào tốc độ xử lý dữ liệu, dung lượng bộ nhớ, ổ đĩa, chất lượng màn hình, máy in v.v... Hình 1.5 . Máy vi tính Đối với các máy tính, thời gian dành cho xử lý dữ liệu rất nhỏ, còn thời gian để tính toán, xử lý các số liệu lại vô cùng lớn. Các máy tính loại này được sử dụng chủ yếu trong các cơ quan dự báo, như dự báo khí tượng, thuỷ văn, trong tính toán quỹ đạo bay của tên lửa, máy bay, tầu thuỷ, v.v... hay trong các phòng nghiên cứu khoa học. Những máy tính loại này thông thường thực hiện những chương trình tính toán khổng lồ, nên chúng được trang bị các CPU rất mạnh và các thiết bị ngoại vi, bộ nhớ ngoài rất lớn. Đó là những siêu máy tính (Supercomputer).  Bài Tập 1. Đổi các số thập phân dưới đây sang hệ nhị phân và hệ thập lục phân : a/ 12 b/ 24 c/ 192 d/ 2079 Đáp số: a/ 11002, CH ; b/ 110002, 18H ; c/ 110000002, C0H; d/ 1000000111112, 81FH 2. Đổi sang hệ thập phân và mã BCD các số nhị phân sau đây: a/ 1011 b/ 10110 c/ 10101 d/ 10011 3. Đổi các số thập lục phân dưới đây sang hệ 10 và hệ 8: a/ FF b/ 1A c/ 789 d/ 13A 4. Mã hóa số thập phân dưới đây dùng mã BCD : a/ 12 b/ 192 c/ 512 d/1024 5. Hãy chuyển đổi các mã số sau: a. Từ mã Binary sang Hexadecimal: 1110010112 b.Từ mã Hexadecimal sang nhị phân: ED H c.Từ mã Decimal sang Binary: 4910  YÊU CẦU ĐÁNH GIÁ KẾT QUẢ HỌC TẬP BÀI 1 Nội dung: + Về kiến thức: Trình bày các phương pháp chuyển đổi qua lại giữa các hệ thống số đếm. 15
  16. + Về kỹ năng: tính toán được các phép toán số học. + Năng lực tự chủ và trách nhiệm: Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp Phương pháp: + Về kiến thức: Được đánh giá bằng phương pháp viết, trắc nghiệm. + Về kỹ năng: Được đánh giá bằng phương pháp viết. + Năng lực tự chủ và trách nhiệm: Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp. 16
  17. BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM Mã bài: MĐ18-02 Giới thiệu Khi CPU được chế tạo từ một mạch vi điện tử có độ tích hợp rất cao thì nó được gọi là bộ Vi xử lý (µP - Microprocessor). Trong quá trình phát triển, hãng lntel đã cho ra đời nhiều thế hệ µP từ đơn giản đến phức tạp, từ thông dụng đến chuyên dụng. Tính phát huy và kế thừa luôn được coi trọng trong quá trình này, vì vậy, các chương trình ứng dụng chuẩn phần lớn có thể thực hiện được trên bất kỳ máy vi tính được xây dựng từ thế hệ µP nào. Mục tiêu: - Trình bày được cấu trúc của các đơn vị vi xử lý đã học. - Phân tích các chương trình có sẵn - Thực hiện các ứng dụng thực tế thông qua các mô hình. - Rèn luyện tính tỷ mỉ, chính xác, an toàn và vệ sinh công nghiệp 1. Trung tâm vi xử lý P 8085: Khác với các loại µP xuất hiện trước đó như µP8008 hay µP8080, µP8085 có những bước phát triển có tính đột phá như sau: - Cơ cấu ngắt theo nhiều mức khác nhau được hình thành qua một khối điều khiển ngắt, tạo ra một vector ngắt tránh được sự chèn nhau do lệnh RET N trên BUS dữ liệu. Tín hiệu nhận biết yêu cầu ngắt INTA được tạo bởi khối điều khiển ngắt, chứ không phải từ mạch phụ 8228 như ở µP8080. - Các tín hiệu điều khiển ghi/đọc WR và RD được tạo ra từ bộ định thời và điều khiển chức năng. Các tín hiệu INTA ,WR và RD được tạo ngay trong CPU, chứ không do mạch phụ trợ bên ngoài. - µP8085 có mạch tạo xung đồng hồ được tích hợp ngay trong CPU. - Khối chức năng điều khiển vào/ra nối tiếp được tích hợp cũng cho phép µP8085 thực hiện các lệnh vào/ra dữ liệu nối tiếp mà nhiều khi không cần đến sự hỗ trợ của vi mạch chuyên dụng. - Đặc biệt hơn, µP8085 có hai thanh ghi đệm địa chỉ, đó là thanh ghi đệm A5 - A8. Và thanh ghi đệm AD7-AD0 cho cả dữ liệu và địa chỉ. Việc dồn kênh như trên tạo điều kiện cho những chân chức năng khác được tạo thêm, làm tăng thêm sức mạnh cho CPU. - Đặc tính của vi xử lý 8085: + Nguồn cung cấp: 5 V ± 10%. + Dòng điện cực đại: Imax = 170 mA. + Tần số xung clock chuẩn: 6,134 Mhz. + Độ dài dữ liệu là 8 bit. + Khả năng truy xuất ô nhớ trực tiếp là 64Kb. + Vi xử lý có thể tính số nhị phân, thập phân. - Vi xử lý có 8 đường dữ liệu và 16 đường địa chỉ. - Các đường điều khiển: RD\, WR\, IO/M\, Clock Out, Reset Out và 4 ngắt. 1.1. Các nhóm tín hiệu trong µ8085: - A8 – A15. Nhóm tín hiệu ra: 8 bit cao của địa chỉ, các chân này là các chân được nối với bên ngoài qua mạch 3 trạng thái. Các phần tử 3 trạng thái sẽ được đặt ở trạng thái high-z trong các trường hợp một trong các tín hiệu HOLD hay HALT là tích cực - AD0 – AD7. Nhóm tín hiệu dồn kênh 3 trạng thái. Ở giai đoạn đầu của chu kỳ 17
  18. máy, T1 của M1, sẽ là byte thấp của 16 bộ địa chỉ - ALE (Address Enable). Tín hiệu ra qua mạch 3 trạng thái. Được sử dụng để chốt byte thấp của tín hiệu địa chỉ (A0 - A7) Tín hiệu này được tạo ra trong giai đoạn đầu tiên của chu kỳ máy, T1 của M1, và cũng được dùng để chốt các tín hiệu trạng thái S0 và S1 khi cần thiết. - S0 và S1 (Data BUS Status). Là các tín hiệu chỉ trạng thái của các chân thuộc BUS dữ liệu trong mỗi chu kỳ máy. Tổ hợp của hai tín hiệu này cũng cho biết trạng thái của CPU. S0 S1 Hoạt động của BUS dữ liệu 0 0 Trạng thái HALT 0 1 CPU đang thực hiện thao tác WRITE 1 0 CPU đang thực hiện thao tác READ 1 1 CPU đang thực hiện thao tác nhận lệnh Instruction fetch. - RD (Read). Chân ra 3 trạng thái. Nằm trong nhóm tín hiệu điều khiển. Tín hiệu tích cực khi CPU tiến hành đọc dữ liệu từ bộ nhớ hoặc từ thiết bị ngoại vi. Trong chế độ HALT hoặc DMA, chân ra này ở trạng thái high-z. - WR (Write). Chân ra 3 trạng thái. Nằm trong nhóm tín hiệu điều khiển. Tín hiệu tích cực khi CPU tiến hành ghi dữ liệu vào bộ nhớ hoặc đưa dữ liệu ra thiết bị ngoại vi. Trong các chế độ HALT hoặc DMA, chân ra này ở trạng thái high-z. - IO/M . Trạng thái logic của Ngõ ra này cho biết CPU đang làm việc với thiết bị ngoại vi hay với bộ nhớ. Nếu là logic "l", CPU đang truy cập thiết bị vào/ra, còn nếu là "0", CPU đang truy cập bộ nhớ. Kết hệ với hai Ngõ ra RD và WR để tạo ra các tín hiệu I/OR, , I/OW RD , MEMR và MEMW trong trường hợp sử dụng địa chỉ tách biệt đối với thiết bị vào/ra. Nằm trong nhóm tín hiệu điều khiển, nên IO/M cũng là Ngõ ra 3 trạng thái. - Interrupts. µP8085 có ngắt đa mức. Có 5 chân ngắt tất cả: (INTR, RST5.5. RST6.5, RST7.5 và TRAP). Ngoài chân ngắt không che được là TRAP, các chân khác đều có thể che hoặc không che nhờ lập trình phần mềm.  INTR: Chân nhận yêu cầu ngắt từ bên ngoài, được đáp ứng theo nguyên tắc polling hoặc vectoring thông qua lệnh RST.  Các yêu cầu ngắt RST. Có 3 Ngõ vào yêu cầu ngắt với các mức ưu tiên khác nhau là RST7.5, RST6.5 và RST5.5. Khi yêu cầu ngắt xuất hiện tại các chân này, CPU tự động chuyển đến các vector ngắt tương ứng. Cụ thể như sau: • RST5.5 là mức ưu tiên thấp nhất, phản ứng theo mức điện áp trên chân yêu cầu ngắt, địa chỉ vector ngắt này nằm ở ô nhớ có địa chỉ 2CH. •RST6.5 Ngắt ưu tiên thấp thứ 2, phản ứng theo mức điện áp trên chân yêu cầu ngắt, địa chỉ vector ngắt này nằm ở ô nhớ 34H. • RST7.5 Mức ưu tiên cao nhất. Phản ứng theo sườn lên của xung yêu cầu ngắt. Sườn lên của xung này tác động lên một flip-flop, mạch này giữ lại yêu cầu ngắt cho đến khi được xóa nhờ tín hiệu nhận biết yêu cầu ngắt Acknowledge. Địa chỉ của vector ngắt này nằm ở ô nhớ 3CH. - TRAP: Là chân nhận yêu cầu ngắt không che được (có mức ưu tiên cao nhất). Địa chỉ của vector ngắt này ở ô nhớ 24H. - INTA . Tín hiệu ra nhận biết yêu cầu ngắt tại chân INTR. Các yêu cầu ngắt RST5.5, RST6.5, RST7.5 và TRAP không tác động đến INTA . - HOLD. trạng thái logic "1" ở chân này là yêu cầu của thao tác DMA.Các ngõ ra RD, WR, IO/M và ALE sẽ được đưa về trạng thái high-z. 18
  19. - HLDA. Tín hiệu nhận biết yêu cầu HOLD. - IN RESET. Logic thấp "0" ở Ngõ vào của chân này yêu cầu tái khởi động hệ Vi xử lý. Do tác động của tín hiệu RESET IN tích cực, giá trị của thanh đếm chương trình PC sẽ được nạp lại là 0000H các địa chỉ ngắt và tín hiệu HLDA cũng được tái thiết lập về giá trị mặc định. - RESET OUT. Ngõ ra nhận biết hệ Vi xử lý được tái khởi động. Dùng tín hiệu này để tái khởi động toàn bộ hệ thống. - READY. Logic "1" ở Ngõ vào này thông báo trạng thái sẵn sàng cung cấp dữ liệu cho CPU hoặc nhận dữ liệu từ CPU của các thiết bị ngoại vi. SID (Serial Input Data). Là cổng vào của dữ liệu nối tiếp của hệ Vi xử lý. Bit hiện diện tại cổng này được đọc vào CPU nhờ lệnh RIM, bit sẽ được đưa vào bit cao của Acc (MSB). - SOD (Serial Output Data). Bit cao (MSB) của Acc được truyền ra ngoài chân này khi sử dựng lệnh SIM. - X1, X2. Chân nối thạch anh hoặc một mạch dao động để tạo xung nhịp cho CPU. Có thể sử dụng thạch anh có tần số dao động trong khoảng từ 0.5 đến 3MHz. CLK. Ngõ ra của xung nhịp, có thể làm xung nhịp cho các thành phần chức năng khác trong hệ Vi xử lý. - Vcc, Vss. Chân nối nguồn +5V và GND cho µP8085. µP8085, chỉ cần một nguồn nuôi duy nhất là +5V, khả năng cung cấp dòng của nguồn cần được thiết kế tuỳ theo nhu cầu của toàn hệ Vi xử lý. 1.2. Khái niệm và bản chất vật lý của các bus trong hệ vi xử lý: BUS là đường dẫn điện nội bộ mà theo đó các tín hiệu được truyền từ bộ phận này đến các bộ phận khác trong hệ Vi xừ lý. Có 3 loại BUS trong một hệ Vi xử lý cũng nhu trong máy tính. - BUS dữ liệu truyền dữ liệu theo hai chiều giữa bộ nhớ và trung tâm Vi xử lý, giữa các thiết bị ngoại vi và trung tâm Vi xử lý. - BUS địa chỉ xác định các vị trí nhớ trong bộ nhớ, các thiết bị ngoại vi. - BUS diều khiển truyền các tín hiệu điều khiển đến các bộ phận cần được điều khiển. - Các BUS được xây dựng bằng cách sử dụng các khe cũng theo một quy ước chặt chẽ đối với từng tiếp điểm. Đối với các khe cắm, các tiếp điểm tương ứng sẽ được nối với nhau bằng các dây dẫn hoặc đường dẫn song song trên mạch in. Nhờ vậy khi dữ liệu được truyền đi, tất cả các bit (8,16, 32, hay 64) đều được truyền đi đồng thời, cùng một hướng (truyền dẫn song song). Cũng cần nói thêm rằng, trong máy PC, có 3 loại cấu trúc BUS thường gặp là ISA (lndustrial Standard Architecture) EISA (Enhanced ISA) và PCI (Peripheral Component lnterconnect). Các mạch 3 trạng thái, mạch chốt và mạch khuyếch đại BUS 2 chiều: 1.3.1. Mạch 3 trạng thái (Tristate Component): Trong hệ Vi xử lý, có nhiều khối chức năng cần thông tin, nhưng tại một thời điểm, bao giờ cũng chỉ có một khối đưa tín hiệu ra (dữ liệu) và một số hạn chế các khối thu nhận tín hiệu. Thay vì nối dây dẫn liên kết các khối qua từng đôi phần tử một, các tín hiệu này được đưa lên BUS. Với các cổng logic thông thường, không thể nối trực tiếp chúng lên cùng một đường dây vì sẽ xảy ra tranh chấp BUS vì đoản mạch. Ví dụ ngõ ra của phần tử A là "1" trong lúc ngõ ra của phần tử B là "0". 19
  20. Hình 2.1. Hiện tượng đoản mạch xảy ra khi nối hai đầu ra của hai phần tử trên cùng một đường dây của BUS Các ngõ ra của loại mạch này đều theo cấu trúc pull-up, nghĩa là có hai transistor được nối nối tiếp với nhau (xem hình vẽ), emitter của transistor này qua một diode rồi đến đầu ra, đến collector của transistor kia. Với hai trạng thái logic "1" và "0", tương ứng sẽ là T1 mở, T2 đóng và ngược lại, T2 mở và T1 đóng. Trên hình vẽ 2.1 hiện tượng nguy hiểm xảy ra khi ngõ ra của phần tử logic A là "1", các khóa mở hay đóng tương đương việc transistor thông bão hoà hay ngắt, ngõ ra chứa phần tử logic B là "0" và hiện tượng đoản mạch xảy ra. Để tránh hiện tượng này, một loại cổng logic gọi là cổng 3 trạng thái (tri-state gate) được sử dụng cho ngõ ra của các khối nối chung vào BUS. 1.3.2. Mạch chốt, thanh ghi: Hình 2.2. Mạch chốt (hay phần tử nhớ) D lip-Flop Mạch chốt là một mạch gồm các phần tử có khả năng lưu giữ các giá trị "0" hoặc "1" ở ngõ ra. Có thể dùng D flip-flop làm một mạch chốt với tín hiệu để chốt dữ liệu tại ngõ ra Q theo bảng giá trị chân lý sau: Biết rằng Qn+l = D với tín hiệu điều khiển là sự xuất hiện sườn dương của xung nhịp CK. Như vậy, giá trị logic (0 hoặc 1) tại D đã được chuyển sang ngõ ra Q (chốt). Nếu CK giữ nguyên trạng thái bằng "1", thì trạng thái ngõ ra Q được giữ nguyên. Như vậy, giá trị logic của D đã được lưu giữ ở Q (nhớ). Hình 2.3. Thanh ghi 4bits 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1