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 độ: Cao đẳng) - Trường Cao đẳng nghề Cần Thơ

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

16
lượt xem
10
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 độ: Cao đẳng)" đượ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 độ: Cao đẳng) - 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ệ Cao đẳ ng. 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 ho ̣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Đ21-01: Tổng quan về các hệ vi xử lý. Bài MĐ21-02: Các đơn vi vi xử lý trung tâm. Bài MĐ21-03: Bộ nhớ trong của hệ vi xử lý. Bài MĐ21-04: Thiết bị vào ra của hệ vi xử. Bài MĐ21-05: Sơ lược về lịch sử và hướng phát triển của vi điều khiển. BàiMĐ21-06: Cấu trúc họ vi điều khiển 8051. Bài MĐ21-07: Phần mềm hợp ngữ. Bài MĐ21-08: Tập lệnh 8051. Bài MĐ21-09: Bộ định thời. Bài MĐ21-10: Cổng nối tiếp. Bài MĐ21-11: Ngắt. Bài MĐ21-12: Lập trình và mô phỏng một số chương trình ứng dụng. Giáo trình cũng là tài liệu giảng da ̣y và tham khảo tốt cho các nghề điện tử dân dụng, cơ điện tử, điện công nghiệp và điện dân du ̣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: ............................................. 13 BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM ................................... 20 1. Trung tâm vi xử lý P 8085: .............................................................. 20 2. Các trung tâm vi xử lý họ 80x86: ....................................................... 30 BÀI 3: BỘ NHỚ TRONG CỦA HỆ VI XỬ LÝ ..................................... 40 2. Tổ chức bộ nhớ cho hệ vi xử lý .......................................................... 41 BÀI 4: THIẾT BỊ VÀO RA CỦA HỆ VI XỬ LÝ ................................... 43 1.Bàn phím HEX (keyboard): ................................................................ 43 2.Ghép nối bàn phím với hệ vi xử lý ...................................................... 45 3. Màn hình (Monitor) ........................................................................... 47 BÀ I 5: SƠ LƯỢC VỀ LỊCH SỬ VÀ HƯỚNG PHÁT TRIỂN CỦA VI ĐIỀU KHIỂN ........................................................................................ 50 1.Lịch sử phát triển ................................................................................ 50 2. Vi điều khiển (microcontroller).......................................................... 51 4.Hướng phát triển ................................................................................. 55 BÀ I 6: CẤU TRÚC CỦA HỌ VI ĐIỀU KHIỂN 8051............................ 56 1.Tổng quan .......................................................................................... 56 2.Sơ đồ chân vi điều khiển 8051 ............................................................. 57 3. Cấu trúc Port I/O ............................................................................... 60 4. Tổ chức bộ nhớ .................................................................................. 61 5. Các thanh ghi chức năng đặc biệt (SFR). ............................................. 63 6. Bộ nhớ ngoài ..................................................................................... 65 7. Hoạt động Reset ................................................................................. 66 BÀ I 7: PHÂ N MỀ M HỢP NGỮ ............................................................ 68 ̀ 1. Hoạt động của Assembler .................................................................. 68 2. Cấu trúc chương trình dữ liệu ............................................................. 70 3.Tính biểu thức trong khi hợp dịch ....................................................... 72 4. Các điều khiển của ASSEMBLER ..................................................... 75 5. Hoạt động liên kết (Linker) ................................................................ 76 6. Macro ................................................................................................ 77 BÀ I 8: TẬP LỆNH 8051 ....................................................................... 79 1.Các cách định địa chỉ .......................................................................... 79 ̣ 2.Cá c nhó m lênh ..................................................................................... 82 BÀ I 9: BỘ ĐỊNH THỜI ...................................................................... 101 1.Thanh ghi SFR củ a timer .................................................................. 102 2.Cá c chế đô ̣ là m viê ̣c .......................................................................... 103 3.Nguồ n cung cấ p xung cho Timer ........................................................ 105 3
  4. 4.Khở i đô ̣ng, dừ ng và điề u khiể n Timer ................................................. 105 5. Khở i ta ̣o và truy xuấ t thanh ghi Timer ................................................ 105 6.Timer 2 của 8052 .............................................................................. 106 ̉ BÀ I 10: CÔ NG NỐ I TIẾ P (SERIAL PORT) ....................................... 112 1. Thanh ghi điề u khiể n ....................................................................... 112 2. Chế đô ̣ là m viê ̣c .............................................................................. 116 3. Khởi tạo và truy xuất thanh ghi PORT nối tiếp ............................... 120 4. Truyền thông đa xử lý (Multiprocessor Communications) ................ 121 5. Tốc độ baud ..................................................................................... 122 BÀ I 11:NGẮT..................................................................................... 127 2. Xử lý ngắt ........................................................................................ 132 3. Thiết kế chương trình dùng ngắt ........................................................ 134 4. Ngắt cổng nối tiếp ........................................................................... 135 5. Các cổng ngắt ngoài.......................................................................... 136 6. Đồ thị thời gian của ngắt ................................................................. 137 BÀI 12: LẬP TRÌNH VÀ MÔ PHỎNG MỘT SỐ CHƯƠNG TRÌNH ỨNG DỤNG ....................................................................................... 140 1. Lập trình giao tiếp với 8 LED đơn ................................................... 140 2. Lập trình giao tiếp với LED 7 đoạn ................................................. 141 3. Lập trình giao tiếp với ma trận phím bấm ........................................ 143 4. Lập trình giao tiếp với LCD............................................................. 145 5.Lập trình giao tiếp với động cơ bước ................................................ 147 6.Lập trình giao tiếp điều khiển van từ, xi lanh .................................... 149 TÀI LIỆU THAM KHẢO .................................................................... 151 4
  5. ́ GIAO TRÌ NH MÔ ĐUN Tên mô đun: VI ĐIỀU KHIỂN CƠ BẢN Mã mô đun: MĐ 21 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ử nâng cao và học trước các mô đun chuyên môn nghề - 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, dân dụng và là nền tảng để học cá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Đ21-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.1.3. Hình ảnh: 10
  11. Hình 1.1. Ảnh bit map Hình ảnh cũng có thể xử lý bằng máy tính. Khác với hình ảnh thông thường, hình ảnh trong máy tính được mã hóa dưới dạng nhị phân. Có rất nhiều kiểu mã hóa ảnh trong đó hai kiểu thông dụng nhất là ảnh bit map (nghĩa là bản đồ các bit) thể hiện ảnh như một lưới điểm. Như vậy mỗi điểm sẽ phải nằm trong một hàng và một cột nào đó trong lưới, ngoài ra màu của điểm cũng được mã hóa. 1.1.4. Âm thanh Âm thanh cũng có thể được xử lý bằng máy tính. Cũng có nhiều phương pháp mã hóa âm thanh. Cách đơn giản nhất là mã hóa bằng cách xấp xỉ dao động sóng âm bằng một chuỗi các byte thể hiện biên độ dao dộng tương ứng theo từng khoảng thời gian bằng nhau. Dĩ nhiên các đơn vị thời gian này cần phải đủ nhỏ để không làm nghèo âm thanh. Đơn vị thời gian này gọi là chu kỳ lấy mẫu. Hình vẽ dưới đây minh hoạ cách lưu trữ xấp xỉ sóng âm, theo đó sẽ lưu lại dãy các giá trị sau (xem hình 1.2). Khi phát, một mạch điện sẽ khôi phục lại sóng âm với một sai lệch chấp nhận được. Một cách khác là phân tích dao động âm thanh thành tổng các dao động điều hòa (các dao động hình sin với tần số và biên độ khác nhau) và chỉ lưu lại các đặc trưng về tần số và biên độ. Còn có nhiều cách mã hóa âm thanh dựa theo những nguyên lý nén dữ liệu rất hiệu quả. Việc số hóa âm thanh cũng được thực hiện nhờ các thiết bị chuyên dụng. Xử lý âm thanh trên máy tính gồm những việc sau: Thu và mã hóa âm thanh. Biên tập (sửa chữa, ghép, cắt). Phân tích (tìm các đặc trưng để nhận dạng tiếng nói). Một số máy tính đã có thể nghe được các lệnh đơn giản. Các máy điện thoại di động hiện nay đã có khả năng nhận dạng tiếng nói. Tổng hợp tiếng nói. Ở mức độ đơn giản máy tính có thể đọc văn bản thành lời. 11
  12. Hình 1.2. Số hóa âm thanh 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 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 2n = 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. 12
  13. Hình 1.3. 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 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. 13
  14. Các hãng sản xuất vi xử lý đầu tiên ở thời điểm này là Intel, Texas Instruments và Garrett AiResearch với ba dịng chip tương ứng: Intel 4004, TMS 1000 và Central Air Data Computer. Đây là những vi xử lý 4 bit. 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. 2.1.1. Thế hệ 1 (1971 - 1973): 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 điểm chung của các bộ vi xử lý thế hệ này là: Độ dài từ thường là 4 bit (có thể dài hơn). Công nghệ chế tạo PMOS có mật độ tích hợp nhỏ. Tốc độ thực hiện lệnh: 10 - 60 μs/lệnh với tần số đồng hồ fclk = 0,1 - 0,8 MHz. Tập lệnh đơn giản và phải cần nhiều vi mạnh phụ trợ mới tạo nên một hệ vi mạch hoàn chỉnh. 2.1.2. Thế hệ 2 (1974 – 1977): 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 điểm: Độ dài từ là 8 bit, đồng thời tập lệnh phong phú hơn thế hệ trước. Công nghệ chế tạo: NMOS (có mật độ tích hợp cao hơn PMOS) hoặc CMOS. Tốc độ thực hiện lệnh: 1-8 μs/lệnh với tần số đồng hồ fclk = 1-5 MHz. 2.1.3. Thế hệ 3 (1978 - 1982): 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 điểm: Độ dài từ là 16 bit. Công nghệ chế tạo: HMOS (có mật độ tích hợp cao hơn PMOS) hoặc CMOS. Tốc độ thực hiện lệnh: 0,1-1 μs/lệnh với tần số đồng hồ fclk =5-10 MHz. Tập lệnh đa dạng với các lệnh nhân, lệnh chia và các lệnh thao tác với chuỗi ký tự. 2.1.4. Thế hệ 4 (1983): 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. Đặc điểm của các bộ vi xử lý thế hệ này là bus địa chỉ đều là 32 bit (có khả năng đánh địa chỉ cho bộ nhớ tới 4 GB) và có khả năng làm việc với bộ nhớ ảo. Người ta cũng áp dụng các cơ chế hoặc các cấu trúc đã được sử dụng trong các máy tính lớn vào các bộ vi xử lý: cơ chế xử lý xen kẽ liên tục dạng mã lệnh (pipeline), bộ nhớ cache (bộ nhớ ẩn), bộ nhớ ảo. Các bộ vi xử lý thế hệ này đều có bộ quản lý bộ nhớ (MMU) và nhiều khi cả bộ đồng xử lý toán học ở bên trong. Phần lớn các bộ vi xử lý thế hệ này đều sản xuất bằng công nghệ HCMOS. 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 14
  15. 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ộ đếm chương trình chỉ đến địa chỉ của lệnh kế. Hình 1.14. 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 15
  16. 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 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. Bus địa chỉ thường có từ 16, 20, 24 đến 32 đường dây song song chuyển tải các bit địa chỉ (mỗi đường dây vận chuyển một bit). Khi đọc/ghi bộ nhớ hoặc cổng I/O CPU sẽ đưa ra trên bus này địa chỉ của ô nhớ hay cổng I/O cần đọc/ghi. Khả năng phân biệt địa chỉ của CPU (số địa chỉ mà CPU có khả năng quản lý) phụ thuộc vào số bit của bus địa chỉ. Số bit của bus địa chỉ là n thì khả năng phân biệt địa chỉ của CPU là 2n địa chỉ khác nhau. Ví dụ, bus địa chỉ có 20 bit thì CPU có khả năng phân biệt địa chỉ là 220 = 1 M địa chỉ khác nhau. Cần lưu ý là chỉ CPU mới có khả năng đưa ra địa chỉ trên bus địa chỉ, bởi vậy trên sơ đồ bus địa chỉ có một chiều đi từ CPU tới các khối khác. Bus dữ liệu thường có từ 4, 8, 16, 32 đến 64 đường dây song song tùy thuộc vào bộ vi xử lý cụ thể. Các đường dây này chuyển tải tín hiệu dữ liệu giữa các khối trong hệ. Số lượng đường dây này quyết định số bit dữ liệu mà CPU có khả năng xử lý cùng một lúc. Trên sơ đồ bus dữ liệu có hai chiều để chỉ ra rằng dữ liệu có thể truyền đi từ CPU (dữ liệu ra) hoặc truyền đến CPU (dữ liệu vào). Bus điều khiển thường gồm hàng chục đường dây song song chuyển tải các tín hiệu điều khiển khác nhau. Mỗi tín hiệu điều khiển truyền trên một đường dây và có một chiều nhất định. Vì khi hoạt động CPU đưa tín hiệu điều khiển tới các khối khác trong hệ, đồng thời nó cũng nhận tín hiệu điều khiển từ các khối đó để phối hợp hoạt động. Trên sơ đồ bus điều khiển có mũi tên 2 chiều là để thể hiện tính hai chiều của cả nhóm tín hiệu chứ không phải một tín hiệu. 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), 16
  17. 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.15. 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.16. 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. Mỗi chu kỳ bus bắt đầu khi µP xuất một địa chỉ nhằm chọn thiết bị I/O hay chọn một ô nhớ nào đo. 2.3. Từ hệ Vi xử lý đến máy vi tính PC: 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 17
  18. 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. 2.3.1. Máy tính xử lý dữ liệu: 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.17 . Máy vi tính 2.3.2. Máy tính là bộ xử lý số: Đố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). 2.3.3. Máy tính đo lường và điều khiển: Sự phát triển nhanh chóng của các hệ thống máy tính đã tạo ra những ứng dụng lớn lao trong các hệ thống đo lường và điều khiển tự động. Đối với các ứng dụng thông thường như trong các dụng cụ gia dụng, từ Ti vi, điều hoà nhiệt độ, máy giặt v.v... Đó là những máy tính nhỏ được chế tạo dưới dạng một vi mạch (Single-chip Microcomputer). Tuy nhiên, cũng cần phải tính đến những máy tính này trong các thiết bị hiện đại và phức tạp như trong các hệ thống tự động lái máy bay (Autopilot), tàu thuỷ, tên lửa... 2.3.4. Căn cứ vào tính năng kỹ thuật và các chỉ tiêu về kích thước: Các máy tính còn được chia ra thành máy tính lớn để giải các bài toán cực lớn với tốc độ rất nhanh, máy tính nhỏ sử dụng trong gia đình, trong trường học hay các tính toán thông dụng, điều khiển các quá trình công nghệ vừa và nhỏ. Cũng cần nhắc đến ở đây một sự khác biệt giữa hai khái niệm hệ Vi xử lý và máy vi tính: Các máy vi tính luôn luôn được trang bị một phần mềm cơ bản là Hệ điều hành, ví dụ: MS-DOS hay các phiên bản điều hành đa nhiệm (MS WINDOWS của hãng phần mềm Microsoft, hoặc các hệ điều hành của các hãng khác...) và các chương trình hay phần mềm ứng dụng, trong khi các hệ Vi xử lý chỉ cần trang bị một chương trình Monitor (chương trình giám sát) đơn giản đươc ghi trong bộ nhớ ROM. Bài Tập 18
  19. 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: EDH 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. + 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. 19
  20. BÀI 2: CÁC ĐƠN VỊ VI XỬ LÝ TRUNG TÂM Mã bài: MĐ21-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 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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