Trường Đại Học Sư Phạm Kỹ Thuật Khoa Điện Tử – Bộ môn Công Nghệ Viễn Thông -oOo - NGUYỄN ĐÌNH PHÚ NĂM 2006 Truong DH SPKT TP HCM http://www.hcmute.edu.vn LỜI NÓI ĐẦU Bộ vi xử lý ngày phát triển hoà n thiện sử dụ ng hầu hết hệ thống điề u khiển công nghiệp thiết bị dân dụng Chính nhờ vai trò, chức củ a vi xử lý đem lại nhiề u ưu điểm, nhiề u tính đặc biệt cho hệ thống điề u khiển Các nhà nghiên u không ngừng nghiên u hệ thống điề u khiển sử dụng vi xử lý để thay thế, thúc đẩ y lónh vực vi xử lý phát triển ngà y hoàn hảo thích nghi với yê u cầ u điều khiển Để đơn giả n t phức tạp phần ng dùng vi xử lý nên nhà nghie ân cứu tích hợp hệ vi xử lý thàn h ic gọi vi điều khiể n Nội dung sách nà y biê n soạn gồm chương, chương giới thiệ u lịch sử phá t triển vi xử lý, chương trình bày cấu trúc củ a vi xử lý bit, chươngHCtrình bà y cấu 3M TP.họ MCS51, chương trúc vi xử lý 16 bit 8086/8088, chương trình bà y vi điề u khihån at bit eu Ky t trình bà y lập trình hợp ngữ cho vi điều khiển, chươngm trình bày IC số IC pha H Su ngoại vi thường dùng hệ thống vi xửný D vi điều khiển Chương trình bà y giao tiếp uo l g © Tr nkhiể n với thiết bị ngoại vi thường gặp thực tế vi uyeu q điề Ban Nội dung sách nhằm trang bị kiến thức vi xử lý vi điề u khiể n cho sinh viên ngành điệ n – điện tử, đặc biệ t vi điều khiển họ MCS51 ứng dụng giia o tiếp điề u khiển Mọ i đóng gó p xâ y dựng xin gởi tác giả theo địa phu_nd@yahoo.com - xin chân thành cảm ơn Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM http://www.hcmute.edu.vn MUÏC LỤC LỜI NÓI ĐẦU CHƯƠNG LỊCH SỬ PHÁT TRIỂN VI XỬ LÝ I GIỚI THIỆU LỊCH SỬ PHÁ T TRIỂ N CỦ A CÁ C HỆ VI XỬ LÝ II 2 Giới thiệu lị ch sử phát triể n vi xử lý Chức năn g vi xử lý Máy vi tính CÁ C KHÁI NIỆM CƠ BẢ N VỀ CẤ U TRÚ C CỦ A VI XỬ LÝ Chiều dài từ li ệu Khả truy xuất nhớ Tốc độ m việ c vi xử lý Các ghi vi xử lý Các lệ nh vi xử lý Các kiể u truy xuất nhớ Các loại nhớ Các mạch điệ n giao tiế p ngoại vi vi xử lý K pham M P HC uat T y th u DH S ngLÝ BIT VÀ TẬP LỆNH CHƯƠNG CẤU TRÚC VI XỬ ruo n©T yeBIT CƠ BẢ N I SƠ ĐỒ KHỐI CPUu8 q Ban Sơ đồ khối vi xử lý II TỔ CHỨ C CÁ C THANH GHI III Tập lệ nh vi xử lý Từ gợi nhớ Các nhóm lệnh kiểu truy xuấ t địa vi xử lý VI XỬ LÝ Z80 V Các ghi bên vi xử lý Chức năn g ghi LỆ NH CỦ A VI XỬ LÝ IV Khối ALU Sơ đồ cấ u trúc bên vi xử lý Z80 Tổ chức ghi bê n vi xử lý Z80 Chức năn g châ n vi xử lý Z80 Giả n đồ thờ i gia n vi xử lý Z80 Đáp ứ ng yê u cầ u ngắt vi xử lý Z80 Phầ n ng phần mề m vi xử lý Z80 VI XỬ LÝ 8085A Sơ đồ cấ u trúc bên vi xử lý 8085A Tổ chức ghi bê n vi xử lý 8085A Sơ đồ châ n vi xử lý 8085A Giả n đồ thờ i gia n vi xử lý 8085A Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn 5 6 7 10 13 14 14 14 15 15 16 24 24 25 25 26 27 27 29 31 33 38 41 56 56 57 57 61 Truong DH SPKT TP HCM http://www.hcmute.edu.vn VI Giải đa hợ p địa liệ u cho vi xử lý 8085A Tập lệ nh vi xử lý 8085A TÓM TẮ T – CÂ U HỎI ÔN TẬ P – BÀI TẬP Tóm tắt Câu hỏi ôn tậ p – tập CHƯƠNG CẤU TRÚC VI XỬ LÝ 16 BIT 8086 72 72 74 77 I CẤ U II CÁ C PHƯƠNG PHÁ P ĐỊNH ĐỊA CHỈ CỦ A VI XỬ LÝ 8086 97 III TẬP LỆ NH CỦ A VI XỬ LÝ 8086 HCM TP t Mã lện h củ a vi xử lý 8086/8088 thua Tổng quan tậ p lệnh củ a vi xử lý 8086 ham Ky p Khả o sá t tập lệnh củ a vi xử lý 8086 Su DH g ruon n©T CÂ U HỎI VÀ BÀquyeP I TẬ Ban 110 110 111 116 I GIỚI THIỆU VI ĐIỀ U KHIỂN MCS51 120 II KHẢ O SÁ T PHẦN CỨ NG VI ĐIỀ U KHIỂN MCS51 121 Sơ đồ cấu trúc bê n vi điều khiể n MCS51 121 Khả o sá t sơ đồ châ n 89C51 123 Sơ đồ mạ ch kế t nố i mộ t số ứng dụng đơn giả n dù ng nhớ nộ i 126 IV TRÚ C VI XỬ LÝ 8086/8088 Cấu trúc bên vi xử lý 8086/8088 Cá c ghi bên vi xử lý Bộ nhớ phâ n đoạn củ a vi xử lý Reset vi xử lý Tó m tắ t phầ n cứng vi xử lý 8086 62 62 CHƯƠNG HỌ VI ĐIỀU KHIỂN 8051 78 80 80 87 89 89 117 119 III CẤ U TRÚ C BỘ NHỚ CỦ A VI ĐIỀU KHIỂ N Tổ c nhớ Cá c ghi có chức nă ng đặ c biệt 130 130 133 IV KHẢ O SÁ T TẬP LỆNH CỦA VI ĐIỀ U KHIỂ N Giới thiệ u Cá c kiểu định địa Khả o sá t tập lệnh vi điều khiển 137 137 138 141 V KHẢ O SÁ T HOẠ T ĐỘ NG TIMER/COUNTER CỦ A VI ĐIỀU KHIỂN Giới thiệ u Thanh ghi chọn kiểu m việ c cho timer – Mode Register Thanh ghi điều khiể n timer – Control Register 176 176 177 178 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM VI http://www.hcmute.edu.vn Cá c kiểu hoạt độ ng củ a timer cờ tràn Cá c nguồn xung đế m Điều khiển timer hoạ t độ ng Khởi tạ o truy xuấ t củ a timer/counter Khả o sá t timer T2 củ a họ vi điều khiển MCS52 HOẠT ĐỘ NG TRUYỀN DỮ LIỆ U CỦA VI ĐIỀ U KHIỂ N Giới thiệ u Thanh ghi điều khiể n truyền li ệu nối tiếp Cá c kiểu truyề n liệ u nối tiế p Khởi tạ o truy xuấ t ghi truyề n liệu nố i tiế p Truyền li ệu nố i tiếp hệ thống nhiều vi điều khiển Thiết lập tốc độ truyền li ệu nối tiếp VII HOẠT ĐỘ NG NGẮT CỦ A VI ĐIỀU KHIỂ N Giới thiệ u Thanh ghi điều khiể n truyền li ệu nối tiếp HCM TP Cá c kiểu truyề n liệ u nối tiế p huat Ky t Khởi tạ o truy xuấ t ghi truyềpham äu nố i tiế p n lie Su H nhiều vi điều khiển D Truyền li ệu nố i tiếp hệ thố ng ong Truil ệu nối tiếp Thiết lập tốc độ yen ©n truyề u an q B VIII BÀI TẬP CHƯƠNG LẬP TRÌNH CHO VI ĐIỀU KHIỂN 80C51 Giới thiệ u Hoạ t độ ng củ a trình biê n dịch assembler Cấu trúc củ a Trình dịch hợp ngữ Đá nh giá biểu thức thời gian dịch Cá c dẫ n cho assembler Cá c điều khiể n củ a trình dịcch hợp ngữ Hoạ t độ ng li ên kết sử dụng Macro Cá ch viết chương trình hợp ngữ 178 180 181 182 183 186 186 187 187 191 192 193 196 196 197 198 199 200 201 203 205 206 206 207 210 214 219 220 220 223 CHƯƠNG KHẢO SÁT CÁC IC NGOẠI VI VÀ THIẾT KẾ HỆ THỐNG VI XỬ LÝ 229 I CÁ C LINH KIỆ N SỐ IC chố t IC giải mã IC đệ m IC nhớ ERPOM RAM 230 230 231 233 235 II CÁ C LINH KIỆ N IC NGOẠI VI 242 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM http://www.hcmute.edu.vn IC ngoaïi vi lậ p trình 8255A IC ngoại vi lậ p trình 8279 242 250 III THIẾ T KẾ HỆ THỐNG VI XỬ LÝ Bài thiế t kế số Bài thiế t kế số 2 255 255 262 IV BÀI TẬP 266 CHƯƠNG GIAO TIẾP ỨNG DỤNG DÙNG VI ĐIỀU KHIỂN Vi Điề u Khiể n Giao Tiế p Vớ i Led Giao tiếp với led đơn Giao tiếp với led đoạn 268 269 271 VI ĐIỀU KHIỂN GIAO TIẾP VỚI PHÍM NHẤN Giao tiếp với hoặ c nú t nhấn Giao tiếp với ma trận phím 277 278 280 M P HC uat T VI ĐIỀU KHIỂN GIAO TIẾP VỚI ADC VÀ DAC th Ky Giao tiếp với ADC 0809 pham H Su Giao tiếp với ADC 7109 ng D uo ©T Giao tiếp với DAC 0808 r yen qu Ban VI ĐIỀU KHIỂN GIAO TIẾP VỚI RELAY VÀ ĐỘNG CƠ BƯỚC Giao tiếp với RELAY Giao tiếp với độ ng bướ c 296 VI ĐIỀU KHIỂN GIAO TIẾP VỚI LCD 302 VI ĐIỀU KHIỂN GIAO TIẾP VỚI LED MA TRẬN VI ĐIỀU KHIỂN GIAO TIẾP VỚI REALTIME Tài liệu tham khảo Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn 285 285 291 293 294 294 311 316 Truong DH SPKT TP HCM http://www.hcmute.edu.vn Chương GIỚI THIỆU LỊCH SỬ PHÁT TRIỂN CỦA CÁC HỆ VI XỬ LÝ Giớ i thiệ u lịch sử phá t triể n củ a cá c vi xử lý Chứ c nă n g củ a vi xử lý Má y vi tính Chiề u dà i từ liệ u Khả nă n g truy xuấ t nhớ Tố c độ m việ c củ a vi xử lý Cá c ghi củ a vi xử lý Cá c lệ n h củ a vi xử lý Cá c kiể u truy xuấ t nhớ Cá c loạ i nhớ Cá c mạ c h điệ n giao tiế p ngoạ i vi củ a vi xử lý H Su ng D ruo K pham M P HC uat T y th n©T quye VỀ CẤU TRÚC CỦA VI XỬ LÝ CÁC KHÁI NIỆM CƠ BAÛN Ban Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT I http://www.hcmute.edu.vn GIỚI THIỆU LỊCH SỬ PHÁT THỂN CỦA CÁC HỆ VI XỬ LÝ: Giới thiệu lịch sử phát triển hệ vi xử lý: Máy tính số hệ thống bao gồm mạch điện tử xử lý tín hiệu dạng số điều khiển chương trình, làm công việc mà người mong muốn Chương trình điều khiển mạch điện số cách di chuyển xử lý liệu (data) cách điều khiển mạch logic số học, nhớ (memory), thiết bị xuất / nhập (Input/output) Cách thức mạch điện logic máy tính số kết hợp lại với tạo thành mạch logic số học, vi mạch nhớ thiết bị xuất / nhập gọi cấu trúc Vi xử lý có cấu trúc giống máy tính số xem máy tính số hai tính toán điều khiển chương trình Lịch sử phát triển vi xử lý gắn liền với phát triển vi mạch điện tử vi xử lý vi mạch điện tử chế tạo theo công nghệ LSI (large scale integrated) VLSI (very large scale integrated) Với khám phá transistor phát triển công nghệ chế tạo vi mạchM SSI, MSI, máy Hn PniêC 70, với phát tính nhóm gồm nhiều IC kết hợp lại với nhau, cho đếnuthậT at p y th thiết kế chế tạo triển công nghệ LSI, cấu trúc máy tính rút gọn bởhamcKnhà i cá Su p thành IC gọi vi xử lý (microprocessor) g DH ruon T Vi xử lý kết hợp với thiết bị quyec tạo máy tính có khả tính toán lớn n © n B phẩ máy vi tính tạo sản a m khác máy điện thoại, tổng đài điện thoại, hệ thống điều khiển tự động Vi xử lý có khả xử lý bit liệu, vi xử lý có tốc độ xử lý chậm, nhà thiết kế cải tiến thành vi xử lý 8bit, sau vi xử lý 16 bit 32 bit Sự phát triển dung lượng bit vi xử lý làm tăng thêm số lượng lệnh điều khiển lệnh tính toán phức tạp Lịch sử phát triển vi xử lý gắn liền với hãn g INTEL: Tháng năm 1972, Intel cải tiến cho vi xử lý bit có mã số 8008 truy xuất 16K ô nhớ bit có 48 lệnh Tháng năm 1974, Intel cải tiến vi xử lý 8008 thành vi xử lý 8080 truy xuất 64Kbyte nhớ có nhiều lệnh hơn, chạy nhanh gấp 10 lần so với 8008 Tháng năm 1976, Intel cải tiến vi xử lý 8080 thành vi xử lý 8085 có thêm mạch tạo xung clock tích hợp bên trong, có nhiều ngắt chip phục vụ cho nhiều ứng dụng tích hợp mạch điều khiển hệ thống chip Tháng năm 1971, Intel sản xuất vi xử lý bit có mã số 4004 truy xuất 4096 ô nhớ bit có 45 lệnh Tháng năm 1978, Intel sản xuất vi xử lý 16 bit có mã số 8086: có 20 đường địa cho phép truy xuất 1MB nhớ bus liệu bên bên 16bit Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Vi xử lý Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Tháng năm 1979, Intel sản xuất vi xử lý 16 bit có mã số 8088 chủ yếu dựa vào vi xử lý 8086 khác với vi xử lý 8086 bus liệu bên có bit bus liệu bên vi xử lý 16 bit, mục đích cải tiến nhằm hạ giá thành hệ thống trở thành vi xử lý máy tính IBM-PC/XT Vào cuối năm 1981 1982, Intel cho đời vi xử lý 80186 phiên mở rộng vi xử lý 8086 có hổ trợ quản lý nhớ theo phân đoạn bảo vệ nhớ, bus địa có 24 đường cho phép truy xuất 16Mbyte nhớ Tháng năm 1982, Intel cho đời vi xử lý 80286 vi xử lý 16 bit chủ yếu phát triển từ vi xử lý 8086 có thêm nhiều chức mạch định thời tích hợp, mạch điều khiển DMA, mạch điều khiển ngắt mạch chọn chip nhớ thiết kế riêng cho ứng dụng nhúng với giá chip thấp Tháng 10 năm 1985, Intel cho đời vi xử lý 80386 vi xử lý 32bit, có quản lý nhớ theo trang phân đoạn nhớ, bus liệu bên bên 32 bit, tập ghi mở rộng Tháng năm 1989, Intel cho đời vi xử lý 80486, có cải thiện kiến trúc để tăng M hiệu suất, cung cấp nhớ cache board, đơn vị TP.uHchấm động board Có dấ C uat thêm lệnh so với vi xử lý 80386 Lệnh địnhKy tihđược cải tiến để tăng hiệu suất thờ am u ph Tháng năm 1993, Intel cho DHiS xử lý Pentium vi xử lý 64 bit có đơn vị dấu đờ vi uong chấm động hiệu suấen © Tr nh định thời cải tiến so với 80486 t cao Lệ quy Ban Tháng năm 1995, Intel cho đời vi xử lý Pentium Pro có cấp cache có sẵn Tháng năm 1997, Intel cho đời vi xử lý Pentium II - Pentium Pro + MMX Naêm 1999, Intel cho đời vi xử lý Pentium III – IA64, mở rộng tạo luồng SIMD Năm 2000, Intel cho đời vi xử lý Pentium IV Chức vi xử lý Vi xử lý dùng cổng logic giống cổng logic sử dụng đơn vị xử lý trung tâm (central processing unit) máy tính số Do cấu trúc giống CPU xây dựng từ mạch vi điện tử nên có tên vi xử lý: microprocessor Giống CPU, microprocessor có mạch điện tử cho việc điều khiển liệu (data) tính toán liệu điều khiển chương trình Ngoài microprocessor đơn vị xử lý liệu Côn g việc xử lý liệu chức năn g vi xử lý Việc xử lý liệu bao gồm tính toán điều khiển liệu Việc tính toán thực mạch điện logic gọi đơn vị xử logic số học (arithmetic logic unit: ALU ) thực phép toán Add, Subtract, And, Or, Compare, Increment, Decrement ALU thực phép toán mà liệu, ví dụ ALU cộng liệu với liệu phải đặt vị trí trước cộng ALU thực việc chuyển liệu từ nơi đến nơi khác Để ALU có liệu cho việc xử lý mạch điện ALU, vi xử lý có mạch điện logic khác để điều khiển liệu Các mạch điện logic điều khiển liệu di chuyển liệu vào vị trí để khối ALU xử lý liệu Sau thực xong, khối điều khiển di chuyển liệu đến nơi mong muốn Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Để xử lý liệu, vi xử lý phải điều khiển mạch logic, để vi xử lý điều khiển mạch logic cần phải có chương trình Chương trình tập hợp lệnh để xử lý liệu thực lệnh lưu trữ nhớ, công việc thực lệnh bao gồm bước sau: đón lệnh từ nhớ, sau mạch logic điều khiển giải mã lệnh sau mạch logic điều khiển thực lệnh sau mã giải mã Do lệnh lưu trữ nhớ nên thay đổi lệnh cần Khi thay đổi lệnh vi xử lý tức thay đổi cách thức xử lý liệu Các lệnh lưu trữ nhớ định công việc mà vi xử lý làm Tóm tắt: Chức năn g vi xử lý xử lý liệu Để làm điều vi xử lý phải có mạch logic cho việc xử lý điều khiển liệu mạch logic điều khiển Các mạch logic xử lý di chuyển liệu từ nơi sang nơi khác thực phép toán liệu, mạch logic điều khiển định mạch điện cho việc xử lý liệu vi xử lý thực lệnh với trình tự sau: đón lệnh từ nhớ, mạch logic điều khiển giải mã lệnh để xem lệnh yêu cầu vi xử lý thực công việc gì, sau vi xử lý thực đún g công việc lệnh yêu cầu, trình gọi chu kỳ đón - - thực lệnh (fetch / execute cycle) M P HC Tn điều khiển Ngoài chức đón thực lệnh, mạch logic điều uat khiể h Ky tphải có trợ giúp mạch điện giao tiếp bên kết nối với vi xử lý Vi xử amcần h lý Sn p Hlệu h để vi xử lý xử lý gọi nhớ, mạch điện bên Các mạch điện dùng để lưu trữ D uong mạch điện giao tiếp để di chuyển n © u r bên vào bên vi xử lý xuất liệu liệ T từ uye từ bên vi xử lý đượan q i thiết bị I/O hay thiết bị ngoại vi B c gọ Máy vi tính (Microcomputer): Vi xử lý IC chuyên xử lý liệu điều khiển máy vi tính hệ thống máy tính hoàn chỉnh xây dựng từ vi xử lý Máy vi tính hoàn chỉnh bao gồm vi xử lý, nhớ cổng I/O Sơ đồ khối hệ thống máy vi tính hình 1-1: Video Disk keyboard CPU µP clock CPU and IO Video U A R T Disk controller Disk Graphic Microcomputer bus Power supply Hình 1-1 Cấu trúc máy vi tính Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Vi xử lý Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Máy vi tính tổ chức theo card bao gồm: CPU card, card nhớ RAM, card điều khiển đóa, card điều khiển hình, máy vi tính có hình video, bàn phím Tất card máy vi tính kết nối với vi xử lý thông qua bus, bus bao gồm nhiều đường tín hiệu để phân biệt xử lý card khác Trong card CPU có mạch tạo xung Clock dùng để tạo tín hiệu clock cho vi xử lý Card CPU có IC giao tiếp để nâng cao khả giao tiếp CPU Bộ nhớ ROM dùng để lưu trữ lệnh chương trình phép nạp chương trình từ đóa mềm , card nhớ RAM bao gồm IC RAM để vi xử lý lưu trữ chương trình liệu xử lý Trong card nhớ có phần xuất nhập data nối tiếp UART ( Universal asynchronous receiver - transmitter ), hai khối tách rời UART dùng để chuyển đổi liệu song song thành nối tiếp để máy vi tính giao tiếp với máy in, modem, thiết bị điều khiển khác Để giao tiếp với hình video cần phải có card video, bên cạch IC giao tiếp với bus vi xử lý có IC điều khiển hình Video Màn hình Video dùng để hiển thị nội dung vùng nhớ đặc biệt nhớ RAM Card video có IC RAM HCM TP Khối nguồn cung cấp điện cho tất hệ thống huat Ky t p am II CÁC KHÁI NIỆM CƠ BẢN VỀ CẤU TRÚC h A VI XỬ LÝ: H Su CỦ D ong Chiều dài từ liệu: en © Tru quy Ban Vi xử lý có chiều dài từ liệu bit, vi xử lý bit, 16 bit, 32 bit 64 bit Mỗi vi xử lý có chiều dài từ liệu khác có khả ứng dụng khác nhau, vi xử lý có chiều dài từ liệu lớn, tốc độ làm việc nhanh, khả truy xuất nhớ lớn dùng công việc xử lý liệu, điều khiển phức tạp, vi xử lý có chiều dài từ liệu nhỏ hơn, khả truy xuất nhớ nhỏ hơn, tốc độ làm việc thấp sử dụng công việc điều khiển xử lý đơn giản, vi xử lý tồn Các vi xử lý 16 bit, 32 bit sử dụng nhiều máy tính Máy vi tính IBM sử dụng vi xử lý 8088 vào năm 1981 Cấu trúc bên vi xử lý 8088 xử lý từ liệu 16 bit, bus liệu giao tiếp bên có bit Do cấu trúc bên 16 bit nên máy tính PC sử dụng vi xử lý 8088 tương thích với máy tính sử dụng vi xử lý 16 bit: 286, vi xử lý 32 bit: 386, 486 vi xử lý Pentium Hầu hết ứng dụng điều khiển máy tính tốt nhiều so với vi xử lý tùy theo yêu cầu điều khiển mà chọn điều khiển máy tính hay điều khiển vi xử lý Các lónh vực điều khiển vi xử lý như: công nghiệp, khoa học, y học Một lónh vực điều khiển phức tạp robot vi xử lý 16 bit 32 bit thích hợp Tùy theo yêu cầu độ phức tạp mà chọn vi xử lý thích hợp Vi xử lý 32 bit phát triển vi xử lý 16 bit ứng dụng vi xử lý 32 bit máy tính 32 bit Các vi xử lý 32 bit có khả làm việc nhanh lần lấy liệu từ nhớ vi xử lý lấy lần byte, vi xử lý bit phải làm lần, với vi xử lý 16 bit phải thực lần Vậy so với vi xử lý bit vi xử lý 32 bit có tốc Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn độ tăng gấp 4, với vi xử lý 16 bit tốc độ vi xử lý 32 bit tăng gấp đôi Để tăng tốc độ làm việc vi xử lý mục tiêu hàng đầu nhà chế tạo vi xử lý Khái niệm Bus liệu : đường truyền liệu chiều để chuyển liệu vi xử lý thành phần khác hệ thống nhớ, IC ngoại vi Vi xử lý bit bus liệu bit, vi xử lý 16 bit bus liệu giao tiếp 16 bit ngoại trừ vi xử lý 8088 Khả truy xuất nhớ: Dung lượng nhớ mà vi xử lý truy xuất phần cấu trúc vi xử lý Các vi xử lý bị giới hạn khả truy xuất nhớ: vi xử 4004 có 14 đường địa nên truy xuất 214 = 16384 ô nhớ, vi xử lý bit có 16 đường địa nên truy xuất 216 = 65536 ô nhớ, vi xử lý 16 bit có 20 đường địa nên truy xuất 220 = 1024000 ô nhớ, vi xử lý 32 bit 386 hay 68020 truy xuất G ô nhớ Vi xử lý có khả truy xuất nhớ lớn nên xử lý chương trình lớn Tùy theo ứng dụng cụ thể mà chọn vi xử lý thích hợp Khái niệm Bus địa tất đường địa vi xử lý dùng để xác định địa ô nhớ hay thiết bị ngoại vi trước thực việc truy xuất liệu CM Khái niệm Bus điều khiển tất đường mà vi xử lý dùatgTP H u khiển đối n để điề thu K ghi tượng khác hệ thống điều khiển đọc nhớ, điều khiển y nhớ, điều khiển đọc IO, pham điều khiển ghi IO H Su ng D Truo © uyen an: q Tốc độ làm việc vi xử lý B Tần số xung clock cung cấp cho vi xử lý làm việc định đến tốc độ làm việc vi xử lý, vi xử lý có tốc độ làm việc lớn khả xử lý lệnh nhanh Tần số xung clock làm việc vi xử lý cho nhà chế tạo: Vi xử lý 8051 Z80A Z80B 286 486DX2-66 Pentium Các ghi vi xử lý: Tần số xung clock 12MHz 4MHz 6MHz 16MHz 66Mhz 66MHz chiều dài từ liệu 8-bit 8-bit 8-bit 16-bit 32-bit 32-bit Các ghi phần quan trọng cấu trúc vi xử lý Các ghi bên vi xử lý dùng để xử lý liệu, có nhiều loại ghi khác cho chức khác vi xử lý, số lượng ghi đóng vai trò quan trọng vi xử lý người lập trình Các vi xử lý khác có số lượng chức khác Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Vi xử lý Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Nếu vi xử lý có số lượng ghi nhiều người lập trình viết chương trình điều khiển vi xử lý đơn giản hơn, làm tăng tốc độ xử lý chương trình Nếu vi xử lý có số lượng ghi chương trình phức tạp hơn, tốc độ xử lý chương trình chậm Để hiểu rõ ghi bên vi xử lý cần phải khảo sát vi xử lý cụ thể Vậy số lượng ghi bên vi xử lý ảnh hưởng đến tốc độ khả xử lý chương trình Các lệnh vi xử lý: Tập lệnh vi xử lý yếu tố để đánh giá tốc độ làm việc vi xử lý Nếu vi xử lý có nhiều mạch điện logic bên để thực số lệnh điều khiển vi xử lý nhiều, vi xử lý lớn độ phức tạp lớn Ví dụ so sánh tập lệnh vi xử lý bit 80C51 Z80 80X51 có 111 lệnh khác Z80 có 178 lệnh Tập lệnh vi xử lý nhiều có ích lập trình hay viết chương trình cho vi xử lý Các kiểu truy xuất nhớ: Một yếu tố định mềm dẻo lập trình số lượng kiểu truy xuất nhớ khác vi xử lý, vi xử lý có nhiều kiểu truy xuất nhớ có khả xử lý nhanh cấu trúc mạch điện bên phức tạp Các kiểu truy xuấtCM nhớ vi xử lý P H uat T bit 16 bit: y th am K u ph DH S Kiểu truy xuất nhớ ( Addressingg Vi xử lý 6800 Vi xử lý Z80 Vi xử lý 8088 ruon n©T ye mode ) qu Ban Implied - hiểu ngầm x x x 8-bit x x x 16-direct x x x 8-bit immediate x x x 16-bit immediate x x x 8-bit relative x x x 8-bit index x x x 16-bit index x Bit x x 8-bit indirect x 16-bit indirect x x 16-bit computed x 8-bit I/O x x 16-bit I/O x Vi xử lý 16 bit 32 bit có số lượng kiểu truy xuất nhớ lớn, tuỳ thuộc vào yêu cầu điều khiển mà chọn vi xử lý thích hợp Bộ nhớ: Ô nhớ Bit đơn vị nhớ nhỏ nhất, ô nhớ bit ô nhớ lưu liệu bit số nhị phân có giá trị ‘0’ hay ‘1’ Ô nhớ bit thường tích hợp vi xử lý điều khiển công nghiệp Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Ô nhớ Byte ô nhớ chứa liệu số nhị phân bit Ô nhớ Word ô nhớ chứa liệu số nhị phân 16 bit – thường kết hợp ô nhớ byte kết nối song song Mỗi ô nhớ có địa nhất, địa nhớ số nhị phân liệu lưu ô nhớ số nhị phân Các loại nhớ: Bộ nhớ RAM (Random Access Memory) loại nhớ cho phép đọc ghi liệu ô nhớ nhớ Điều khác với nhớ nhớ băng từ đọc ghi tuỳ ý Bộ nhớ bán dẫn làm từ flip flop, ta lưu liệu vào flip flop liệu se lưu lại liệu thay đổi ta thay đổi liệu liệu mất điện Loại RAM gọi SRAM Bộ nhớ DRAM (Dynamic RAM = RAM động) sử dụng tụ điện gate – source (cổng nguồn) MOSFET để lưu trữ thông tin điện tích tụ Do có rò ró điện tích tụ điện nên sử dụng DRAM phải cần làm tươi sau thời gian vài ms (thường khoảng đến 10ms) Quá trình làm tươi nhớ thường thực IC điều khiển nhớ động chế tạo sẵn đường điều khiển làm tươi nhớ CPU Cả loại nhớ SRAM DRAM nhớ bay (mất điện liệu) HCM TP huat ROM (Read Only Memory) loại nhớ đọc nội dungybộ nhớ ghi trước, K t u trình ghi liệu kết hợp với trình sản xuất Dữpliệmdo người dùng cung cấp cho nhà H Su ng D sản xuất Dữ liệu nhớ không bị khiomất điện ROM thường dùng để lưu Tru © liệu cố định – không thay đổi Bộ nhớunày không cho phép xoá ghi lại liệu yen an q B PROM (Programmable ROM) giống nhớ ROM việc ghi liệu vào nhớ độc lập với trình sản xuất, nhà sản xuất PROM chưa có liệu người dùng thực việc ghi liệu tuỳ ý vào nhớ phép ghi lần Dữ liệu bên liệu người lập trình thay đổi trạng thái từ cách đốt cầu chì bên PROM EPROM (Erasable PROM) giống nhớ PROM cho phép xoá ghi lại liệu nhiều lần, xoá phải dùng tia cực tím chiếu vào cửa sổ thể khôi phục lại trạng thái liệu Sau ghi xong liệu phải che cửa sổ lại để tránh tia cực tím làm liệu EEPROM (Electrically EPROM) giống nhớ EPROM cho phép xoá xung điện thay xoá tia cực tím cho phép ghi lại liệu Quá trình nạp xoá thực từ 1000 đến 100000 lần Dung lượng nhớ: Một nhớ có N đường địa m đường liệu có dung lượng 2N × m Dung lượng nhớ tính theo kilobyte (KB), megabyte (MB) gigabyte (GB) với m = Cấu trúc nhớ: Mảng nhớ (memory array): phần nhớ mảng nhớ, hàng tế bào nhớ (memory cell) điều khiển đường từ (word line) Khi hàng cụ thể kích hoạt qua đường từ, giá trị liệu hàng tế bào hàng đọc hay ghi vào qua đường bit (bit line) Ví dụ: sơ đồ nhớ 16 bit tổ chức theo mảng 4×4 hình 1-2 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Vi xử lý Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Hình 1-2 Tổ chức mảng nhớ 4×4 Các kiểu nhớ khác phân biệt chủ yếu dựa vào cách thức lưu trữ tế bào nhớ Mạch hổ trợ: M Ngoài mảng nhớ có mạch hổ trợ để giao tiếp với cáTP HC bị bên Sơ đồ khối c thiết huat nhớ hình 1-3: Ky t pham H Su ng D Truo © uyen an q B Hình 1-3 Mạch hổ trợ cho nhớ Mạch hổ trợ có chức năng: - Giải mã địa để xác định ô nhớ cần truy xuất - Cung cấp tín hiệu điều khiển để đọc ghi mảng nhớ Các tín hiệu điều khiển: Vi xử lý Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT http://www.hcmute.edu.vn Tín hiệu CS (chip select): tín hiệu chọn chip: CS nhớ không chọn đường liệu trạng thái tổng trở cao, CS nhớ phép truy xuất ghi hay đọc Tín hiệu OE (Output Enable): cho phép xuất liệu từ nhớ đưa cho thiết bị khác ví dụ vi xử lý điều khiển chân OE để yêu cầu nhớ xuất liệu Tín hiệu WR (Write Enable): cho phép ghi liệu từ bên nhớ ví dụ vi xử lý điều khiển chân WR để yêu cầu nhớ nhận liệu từ bus liệu để cất vào ô nhớ Giản đồ thời gian đọc ghi liệu nhớ hình 1-4: H Su ng D ruo K pham M P HC uat T y th n©T quye an B Hình 1-4 Giản đồ thời gian đọc ghi nhớ Các mạch điện giao tiếp ngoại vi vi xử lý: Ngoài giao tiếp với nhớ, vi xử lý có mạch điện giao tiếp với mạch điện bên để điều khiển hay mở rộng khả điều khiển Các mạch điện bên IC gọi IC ngoại vi Mỗi IC ngoại vi có chức riêng, tùy thuộc vào yêu cầu điều khiển mà chọn IC ngoại vi Bảng danh sách sau trình bày IC ngoại vi giao tiếp với Z80: 10 Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn Vi xử lý Truong DH SPKT TP HCM Chương Giớ i thiệ u lịch sử phá t triể n củ a vi xử lý SPKT Mã số IC 8410 8420 8430 8440 8470 8530 Chức Direct memory access controller Parallel input/output controller Counter timer circuit Serial input/output controller Dual channel asynchronous receiver transmitter Serial communications controller http://www.hcmute.edu.vn daïng voõ 40 pin -DIP 40 pin -DIP 28 pin -DIP 40 pin -DIP 40 pin -DIP 40 pin -DIP Baûng danh sách sau trình bày IC ngoại vi giao tiếp với 8088/80286: Mã số IC 8087/80287 8116 8202 8224 8250 8253 8272 Vi xử lý Chức dạng võ Arithmetic coprocessor 40 pin -DIP Dual baud rate clock generator (programmable) 18 pin -DIP Dynamic RAM controller 40 pin -DIP Clock generator/driver 16 pin -DIP M P HC pin -DIP Asynchronous communications element uat T 40 y th Programmable interval pham K timer 24 pin -DIP H Su Floppy diskgcontroller 40 pin -DIP n D Truo © uyen an q B Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn 11 ... Macro Cá ch vi? ??t chương trình hợp ngữ 17 8 18 0 18 1 18 2 18 3 18 6 18 6 18 7 18 7 19 1 19 2 19 3 19 6 19 6 19 7 19 8 19 9 200 2 01 203 205 206 206 207 210 214 219 220 220 223 CHƯƠNG KHẢO SÁT CÁC IC NGOẠI VI VÀ THIẾT... xử lý thích hợp Vi xử lý 32 bit phát triển vi xử lý 16 bit ứng dụng vi xử lý 32 bit máy tính 32 bit Các vi xử lý 32 bit có khả làm vi? ??c nhanh lần lấy liệu từ nhớ vi xử lý lấy lần byte, vi xử lý. .. vi xử lý 8085A Tổ chức ghi bê n vi xử lý 8085A Sơ đồ châ n vi xử lý 8085A Giả n đồ thờ i gia n vi xử lý 8085A Thu vien DH SPKT TP HCM - http://www.thuvienspkt.edu.vn 5 6 7 10 13 14 14 14 15 15