Giáo trình kỹ thuật vi xử lý doc

122 625 6
Giáo trình kỹ thuật vi xử lý doc

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

1 MỤC LỤC MỤC LỤC 1 Chƣơng 1 GIỚI THIỆU CHUNG 4 1.1. Các hệ đếm 4 1.1.1. Hệ đếm thập phân (R = 10 hay hệ đếm Decimal) 4 1.1.2. Hệ đếm nhị phân (R = 2 hay hệ đếm Binary) 4 1.1.3. Hệ đếm 16 (R = 16 hay hệ đếm Hexa) 9 1.2. Các hệ thống mã hóa 11 1.2.1 Mã ASCII (American Standard Code for Information Interchange) - mã tiêu chuẩn cho trao đổi thông tin. 11 1.2.2 Mã nhị thập phân BCD (Binary Coded Decimal) 13 1.3. Giới thiệu chung về hệ vi xử 14 1.3.1 Sự ra đời và phát triển của các bộ vi xử 14 1.3.2 Sơ đồ khối cấu trúc và hoạt động của hệ vi xử 16 Chƣơng 2 BỘ NHỚ BÁN DẪN 20 2.1. Thuật ngữ liên quan đến bộ nhớ 20 2.2 Đại cƣơng về vận hành của bộ nhớ 22 2.2.1 Các tác vụ và các nhóm chân của một IC nhớ 22 2.2.2 Giao tiếp giữa IC nhớ và bộ xử trung tâm (CPU) 24 2.3 Phân loại bộ nhớ 25 2.3.1 Bộ nhớ cố định 25 2.3.2 Bộ nhớ bán cố định 29 2.3.3 Bộ nhớ đọc/viết 31 2.3.4 Bộ nhớ ngoài 32 2.2 Phân cấp bộ nhớ 32 2.4 Cấu trúc của mạch nhớ tĩnh SRAM 34 2.4.1 Giới thiệu công nghệ 34 2.4.2 Cấu trúc mạch nhớ SRAM 34 2.4 Cấu trúc của mạch nhớ SRAM 42 2 Câu hỏi và bài tập chƣơng 2 46 Chƣơng 3: CÁC BỘ VI XỬ 47 3.1 Giới thiệu bộ vi xử 8 bit tổng quát 47 3.2 Bộ vi xử 8086/8088 47 3.2.1. Giới thiệu cấu trúc bên trong và hoạt động của bộ vi xử 8088 47 3.2.2. So sánh 8086 với 8088 56 3.2.3. Cách mã hoá lệnh của bộ vi xử 8088 57 3.2.4 Các chế độ địa chỉ của bộ vi xử 8088 60 3.2.5 Các tín hiệu của CPU 8088 66 3.2.6. Biểu đồ thời gian của chu kỳ đọc ghi số liệu 71 3.3. Bộ vi xử nhúng 8 bit (họ 8051) 73 3.3.1. Đặc điểm của vi điều khiển 8051 73 3.3.2. Sơ đồ chân của MS8051 76 3.4. Giới thiệu các bộ vi xử tiên tiến 81 3.4.1. Vi điều khiển AVR 81 Các đặc tính 85 3.4.2. Giới thiệu PsoC 87 Chức năng 87 3.5. Ghép nối bộ vi xử và bộ nhớ 90 Chƣơng 4 CÁC BỘ ĐIỀU KHIỂN VÀ GHÉP NỐI DỮ LIỆU 92 4.1 Vào/ra số liệu điều khiển vào ngắt 92 4.1.1 Nguyên vào/ra điều khiển ngắt 92 4.1.2 Bộ điều khiển ngắt PIC (8259A) 95 4.2 Vào/ra số liệu bằng thâm nhập bộ nhớ trực tiếp DMA 97 4.2.1 Nguyên vào/ra bằng DMA 97 4.2.2 Mạch DMAC 8237A 100 4.2.3 Ghép 8088 với DMAC và phƣơng pháp viết lệnh 103 4.3 Bộ đếm lập trình đƣợc 104 4.3.1. Sơ đồ khối của bộ lập trình đƣợc 104 3 4.3.2. Các chế độ làm việc của bộ đếm lập trình 104 4.4 Phối ghép vào ra nối tiếp 107 4.4.2 Nguyên vào ra nối tiếp 107 4.4.2 Mạch thu phát thông tin nối tiếp USART(8251A) 109 Dị bộ 111 Độ dài tự 111 Đồng bộ 111 4.5 Phối ghép với thiết bị vào/ra qua cổng song song 113 4.5.1 Ghép nối song song đơn giản 113 4.5.2 Mạch phối ghép vào/ra song song lập trình đƣợc PPI 113 CHƢƠNG 5. THIẾT KẾ HỆ THỐNG VI XỬ 117 5.1. Thiết kế phần cứng 117 5.2. Thiết kế phần mềm 119 5.2.1. ROM Mapping 119 5.2.2. RAM Mapping 120 5.3. Thiết kế các chƣơng trình hệ thống 121 TÀI LIỆU THAM KHẢO 121 4 Chƣơng 1 GIỚI THIỆU CHUNG 1.1. Các hệ đếm Hệ đếm thông dụng nhất trong đời sống là hệ đếm cơ số 10 (thập phân – Decimal), sử dụng 10 tự số từ 0 đến 9. Trong các hệ thống máy tính, để xử lý, tính toán, ta sử dụng hệ đếm cơ số 2 (nhị phân – Binary), hệ cơ số 8 (bát phân – Octal), hệ cơ số 16 (Hexa). Tuy nhiên, việc nhập dữ liệu hay đƣa kết quả xử lý, ta lại dùng hệ đếm cơ số 10. Một số N trong một hệ đếm bất kỳ có n+l chữ số , trong đó gồm n chữ số thuộc phần nguyên và l chữ số thuộc phần thập phân, đƣợc triển khai theo công thức tổng quát: 1n k k kl N a R     (1.1) trong đó: R là cơ số của hệ đếm a k là trọng của chữ số ở vị trí thứ k (0  a k < R) { a k } R = {0, 1, 2, 3, …, R – 1} l, n là số nguyên N = a n a n-1 …a 1 a 0 ,a -1 a -2 …a -l Theo công thức trên, các số đƣợc biểu diễn trong các hệ đếm khác nhau sẽ nhƣ sau: 1.1.1. Hệ đếm thập phân (R = 10 hay hệ đếm Decimal) { a k } D = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} – gồm 10 trị 123,45 D = 1 x 10 2 + 2 x 10 1 + 3 x 10 0 + 4 x 10 -1 + 5 x 10 -2 1.1.2. Hệ đếm nhị phân (R = 2 hay hệ đếm Binary) { a k } B = {0, 1} – gồm 2 trị 11011.01 B = 1 x 2 4 + 1 x 2 3 + 0 x 2 2 + 0 x 2 1 + 1 x 2 0 + 0 x 2 -1 + 1 x 2 -2 = = 16 + 8 + 0 + 2 + 1 + 0 + 0,25 = 27,25 D 5 Mỗi hiệu 0 hoặc 1 đƣợc gọi là đƣợc gọi là 1 Bit (Binary Digit – chữ số nhị phân). Kích cỡ của một số nhị phân là số bit của nó. Most significant Bit (MSB): Bit quan trọng nhất (bit cao nhất), bit ngoài cùng bên trái. Least significant Bit (LSB): Bit ít quan trọng nhất (bit thấp nhất), bit ngoài cùng bên phải. Ví dụ: 1 0 1 0 1 0 1 0 là một số nhị phân 8 bit MSB LSB a) Số nhị phân không dấu - Chỉ biểu diễn đƣợc các giá trị không âm ( ≥ 0) - Với n bit có thể biểu diễn đƣợc các giá trị từ 0 đến 2 n – 1 Ví dụ: Giá trị V của một số nhị phân không dấu 1101 đƣợc tính: V(1101) = 1×2 3 + 1×2 2 + 0×2 1 + 1×2 0 = 8 + 4 + 0 + 1 = 13 Tổng quát: Nếu số nhị phân N có n bit: N = b (n-1) b (n-2) …b 1 b 0 thì giá trị V của nó là: V = b (n-1) ×2 (n-1) + b (n-2) ×2 (n-2) +…+ b 1 ×2 1 + b 0 ×2 0 Ví dụ: Viết mã nhị phân của số từ 0 đến 15. * Chuyển đổi thập phân sang nhị phân Ví dụ: Chuyển 25 10 sang nhị phân không dấu. Dùng phƣơng pháp chia 2 liên tiếp, chia tới khi kết quả thƣơng bằng 0 thì dừng và viết phần dƣ theo chiều ngƣợc lại, kết quả là biểu diễn nhị phân của số thập phân. 6 Ví dụ: Chuyển đổi số 0.8125 thành số nhị phân Thực hiện phép nhân liên tiếp với 2, phần nguyên của tích bao giờ cũng là các giá trị hoặc bằng “0” hoặc bằng “1”, thu đƣợc kết quả sau: 0.8125 x 2 = 1.625 = 1 + 0.625 MSB 0.625 x 2 = 1.25 = 1 + 0.25 0.25 x 2 = 0.5 = 0 + 0.5 0.5 x 2 = 1 = 1 + 0 LSB Kết quả: 0.1101 Ví dụ: Chuyển đổi số 0.8128 thành số nhị phân 0.8128 x 2 = 1.6256 = 1 + 0.6256 MSB 0.6256 x 2 = 1.2512 = 1 + 0.2512 0.2512 x 2 = 0.5024 = 0 + 0.5024 0.5024 x 2 = 1.0048 = 1 + 0.0048 LSB 0.0048 x 2 Quá nhỏ có thể bỏ qua Chia 2 Thƣơng số Số dƣ 25/2 = 2 1 LSB 12/2 = 6 0 6/2 = 3 0 3/2 = 1 1 1/2 = 0 1 MSB Kết quả: 11001 7 Kết quả: 0.1101 Lưu ý: Quá trình biến đổi này kết thúc khi phần phân số của tích số bằng 0, tuy nhiên, nếu quá kéo dài, tuỳ theo yêu cầu của độ chính xác dữ liệu khi tính toán và xử lý, có thể bỏ qua. b) Số nhị phân có dấu - Biểu diễn đƣợc tất cả giá trị âm. Nó còn gọi là số bù 2 - Với n bit có thể biểu diễn đƣợc các giá trị từ -2 (n-1) đến 2 (n-1) -1 Ví dụ: Giá trị V của một số nhị phân có dấu 1101 đƣợc tính: V(1101) = -1×2 3 + 1×2 2 + 0×2 1 + 1×2 0 = -8 + 4 + 0 + 1 = -3 Tổng quát: Nếu số nhị phân N có n bit: N = b (n-1) b (n-2) …b 1 b 0 thì giá trị V của nó là: V = -b (n-1) ×2 (n-1) + b (n-2) ×2 (n-2) +…+ b 1 ×2 1 + b 0 ×2 0 Ví dụ: Bảng 16 giá trị từ - 8 đến 7 8 * Tìm đối số (lấy bù 2) Tổng của một số với đối số của nó bằng 0 Ví dụ: Tìm đối số của số nhị phân có dấu 10011101 10011101 Số có dấu (-99) 01100010 Lấy bù 1 (đảo các chữ số trong số đó) + 1 Cộng 1 (lấy bù 2, tƣơng ứng với bù 1 cộng thêm 1) 01100011 Kết quả (+99) * Chuyển số thập phân sang nhị phân có dấu - Với số dương: giống nhƣ chuyển thập phân sang nhị phân không dấu rồi thêm bit 0 vào phía ngoài cùng bên trái. Ví dụ: Chuyển 25 sang số nhị phân có dấu. Kết quả: 011001 bit thêm vào - Với số âm: Chuyển đối số sang nhị phân có dấu rồi lấy bù 2 Ví dụ: Chuyển -26 sang nhị phân 1. Chuyển đối số: + 26 = 11010 2. Đƣa 0 vào sát bên trái 011010 3. Bù 1: 100101 4. Cộng 1: + 1 -26 = 100110 9 Chú ý: - Trong hệ nhị phân có dấu số âm có bit MSB bằng 1, số dƣơng có bit MSB bằng 0 - Trong hệ nhị phân có dấu số âm là số bù 2 của số dƣơng tƣơng ứng c) Đơn vị Bit: Một chữ số nhị phân 0 hoặc 1 Nibble: 4 bit (nửa byte) Byte: 8 bit (còn gọi là Octet) Word (từ) : 16 bit Double Word (từ kép): 32 bit K = 2 10 = 1024 Kb (kilobit) = 1024 bit = 128 byte KB (kilobyte) = 1024 byte Kbps (kilobit per second): kilobit trên giây M = 2 20 = 1024 K = 1048576 Mb (megabit) = 1024 Kb = 1048576 bit MB (megabyte) = 1024 KB = 1048576 byte G = 2 30 = 1024 M = 1048576 K Gb (gigabit) = 1024 Mb = 1048576 Kb GB (gigabyte) = 1024 MB = 1048576 KB 1.1.3. Hệ đếm 16 (R = 16 hay hệ đếm Hexa) Hệ đếm 16 sử dụng 16 tự để biểu diễn: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. 3A7,C H = 3 x 16 2 + 10 x 16 1 + 7 x 16 0 + 12 x 16 -1 = = 768 + 160 + 7 + 0,75 = 935,75 D Mỗi tự tƣơng ứng với 4 bit. Mục đích của hệ này để biểu diễn hệ nhị phân ở dạng ngắn gọn. 10 Ví dụ: Hệ nhị phân Hệ 16 11110000 = FO 10101010 = AA 01010101 = 55 Mỗi hiệu tương đương với 4 bit * Chuyển đổi Hexa và nhị phân Từ dạng Hexa chuyển đổi sang dạng nhị phân thì ta biểu diễn 1 số dạng hexa bằng 4 bit nhị phân Ngƣợc lại muốn chuyển đổi từ số nhị phân sang số Hexa thì ta nhóm 4 bit nhị phân từ trái qua phải, nếu cuối cùng không đủ 4 bit thì ta thêm bit 0 ở đầu để đủ. Mỗi nhóm 4 bit nhóm đƣợc sẽ biểu diễn một số dạng Hexa. Ví dụ: Chuyển số hexa 2F8 và ABBA sang số nhị phân Thay thế mỗi hiệu hexa bằng 4 bit tƣơng ứng với nó 2 F 8 0010 1111 1000 A B B A [...]... trong sự phát triển của các bộ vi xử 15 1.3.2 Sơ đồ khối cấu trúc và hoạt động của hệ vi xử M CPU I/O Out In Abus Dbus Cbus Hình 1.1: Sơ đồ khối của hệ vi xử với các thanh ghi trong và ngoài Nhìn vào sơ đồ khối ta thấy rõ các khối chức năng chính của hệ vi xử bao gồm: - Khối xử trung tâm - Bộ nhớ - Khối phối ghép vào ra (I/O) - Các bus truyền thông tin Bộ vi xử (Microprocessor) hay còn... Thế hệ náy có các bộ vi xử 32 bit (80386, 80486) và 64 bit Pentium của Intel, các vi xử 32 bit của Motolora là 68020, 68040, 68060 Đặc điểm: - Có khả năng làm vi c với bộ nhớ ảo - Cơ chế xử xen kẽ liên tục dòng mã lệnh, bộ nhớ cache - Có bộ quản bộ nhớ và nhiều bộ đồng xử toán học bên trong - Công nghệ sản xuất HCMOS - Tất cả đều có bộ đồng xử toán học, bộ quản bộ nhớ MMU Chú ý:... Chú ý: Một số thông số của các bộ vi xử (xem thêm bảng 2.1 sách vxl) Ngoài các bộ vi xử đƣợc dùng để xây dựng các máy tính với tập lệnh đầy đủ (Complex Instruction Set Computer – CISC) ở trên, còn các bộ vi xử 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 RISC) với nhiều tính năng có thể so sánh với các máy tính thế hệ trƣớc Các vi xử RISC là sự bắt đầu cho một thế... thực hiện sự biến đổi dữ liệu hoặc thay đổi dữ liệu theo các yêu cầu đã xác định trƣớc Một lệnh của vi xử là chuỗi các bit 0 và 1 cung cấp cho vi xử để nó thực hiện một chức năng cơ bản Chƣơng trình của hệ thống vi xử là tập hợp các lệnh đƣợc sắp xếp theo giải thuật của một bài toán hay một công vi c nào đó Máy tính PC ngày nay Hình 1.2: Sơ đồ máy tính PC ngày nay Máy tính ngày nay gồm các thành... vi c chuyển đổi thập phân sang nhị phân dụ: Cho số thập phân 15 13 Mã BCD của nó là: 00010101 Số nhị phân không dấu 8 bit tƣơng ứng là: 00001111 1.3 Giới thiệu chung về hệ vi xử 1.3.1 Sự ra đời và phát triển của các bộ vi xử a) Thế hệ 1 (1971 -1973) Năm 1971, Intel đã cho ra bộ vi xử đầu tiên là 4004 (4 bit số liệu, 12 bit địa chỉ) Sau Intel và các nhà sản xuất khác cũng cho ra đời bộ vi. .. xử khác: 4040, 8008 của Intel PPS – 4, IPM – 16 Đặc điểm chung của các vi xử này: - Độ dài từ thƣờng là 4 bit - Công nghệ chế tạo PMOS với đặc điểm phân tử nhỏ, tốc độ thấp, giá thành rẻ, dòng ra thấp - Tốc độ thực hiện lệnh: 10 – 60 µs/lệnh, tốc độ xung đồng hồ 0.1 – 0.8 MHz - Tập lệnh đơn giản, cần nhiều vi mạch phụ trợ để tạo nên một hệ vi xử hoàn chỉnh b) Thế hệ 2 (1974 – 1977) Bộ vi xử. .. – 5 MHz c) Thế hệ 3 (1978 – 1982) 14 Bộ vi xử là các vi xử 16 bit 8086, 186, 286 của Intel hoặc 68000, 68010 của Motolora Đặc điểm: - Chế tạo theo công nghệ HMOS, là cải tiến của NMOS - Có các lệnh nhân, chia và thao tác với các chuỗi tự - Khả năng quản bộ nhớ từ 1- 16 MB và 64 K địa chỉ thiết bị ngoại vi - Sản xuất theo công nghệ HMOS - Tốc độ xử 0.1 – 1 µs/lệnh với tần số f = 5 – 10... thời, trao đổi dữ liệu, xử dữ liệu với mức độ tích hợp khac nhau Bộ nhớ bán dẫn (bộ nhớ trong) là bộ phận rất quan trọng của hệ vi xử ROM có thể chứa các chƣơng trình điều khiển hoạt động của toàn hệ thống khi bật điện thì CPU có thể lấy lệnh từ đây mà khởi động hệ thống Một phần của chƣơng trình điều khiển hệ thống, các chƣơng trình ứng dụng, dữ liệu cùng các kết quả chƣơng trình thƣờng đƣợc lƣu... chỉnh b) Thế hệ 2 (1974 – 1977) Bộ vi xử tiêu biểu là vi xử 8 bit 6502 của MOS Technology, 6800 và 6809 của Motorola, 8080 và 8085 của Intel, đặc biệt là bộ vi xử Z80 của Zilog Đặc điểm: - Chế tạo theo công nghệ NMOS (có mật độ phân tử nhớ lớn hơn PMOS) - Tập lệnh phong phú, khả năng quản bộ nhớ 64 KB - Có khả năng phân biệt 256 địa chỉ thiết bị ngoại vi - Ứng dụng rộng rãi trong công nghiệp... mất điện thì các dữ liệu lƣu trữ trong RAM bị mất, do đó dữ liệu và chƣơng trình muốn lƣu trữ lâu dài sẽ đƣợc đặt ở bộ nhớ ngoài Khối phối hợp ghép vào/ra (I/O – input/output) tạo ra khả năng giao tiếp giữa hệ vi xử với thế giới bên ngoài Các thiết bị bên ngoài nhƣ bàn phim, chuột, máy in, ADC, DAC…đều liên hệ với vi xử qua bộ phận này Bộ phận phối ghép giữa bus hệ thống với thế giới bên ngoài . 46 Chƣơng 3: CÁC BỘ VI XỬ LÝ 47 3.1 Giới thiệu bộ vi xử lý 8 bit tổng quát 47 3.2 Bộ vi xử lý 8086/8088 47 3.2.1. Giới thiệu cấu trúc bên trong và hoạt động của bộ vi xử lý 8088 47 3.2.2 lệnh của vi xử lý là chuỗi các bit 0 và 1 cung cấp cho vi xử lý để nó thực hiện một chức năng cơ bản. Chƣơng trình của hệ thống vi xử lý là tập hợp các lệnh đƣợc sắp xếp theo giải thuật của. MHz - Tập lệnh đơn giản, cần nhiều vi mạch phụ trợ để tạo nên một hệ vi xử lý hoàn chỉnh. b) Thế hệ 2 (1974 – 1977) Bộ vi xử lý tiêu biểu là vi xử lý 8 bit 6502 của MOS Technology, 6800

Ngày đăng: 31/03/2014, 03:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan