Ghép nối bộ nhớ và thiết bị ngoại vi trong hệ vi xử lý – vi điều khiển; một số bài toán ứng dụng tiêu biểu.. Giới thiệu chung về vi xử lý – vi điều khiển Một bộ vi xử lý MicroProces
Trang 1Bài giảng môn học
Bộ môn: Kỹ thuật máy tính
Trang 205/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 2
Mục tiêu của môn học
Sau khi học xong học phần sinh viên phải nắm được:
(bao gồm cả phần cứng và phần mềm) sử dụng vi điều khiển cho bài toán cụ thể
2
Trang 305/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 3
Tổng quan về các hệ đếm và biểu diễn thông tin trong các
Hoạt động định thời, ngắt và truyền thông nối tiếp;
Giới thiệu một số họ vi xử lý thông dụng khác
Ghép nối bộ nhớ và thiết bị ngoại vi trong hệ vi xử lý –
vi điều khiển; một số bài toán ứng dụng tiêu biểu.
Mô tả vắn tắt nội dung học phầnTrong quá trình học tập, SV được học các nội dung:
Trang 405/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 4
Tài liệu học tập
• Bài giảng Vi xử lý – vi điều khiển ”, Nguyễn Tuấn Anh
Sách tham khảo:
• Văn Thế Minh, Kỹ thuật vi xử lý, NXB KHKT, 1997
• Tống Văn On, Họ vi điều khiển 8051, NXB KH&KT,
Trang 5Tổng quan về Vi xử lý
& Vi điều khiển
Trang 605/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 6
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.1 Giới thiệu chung về vi xử lý – vi
điều khiển
Tổng quan Lịch sử phát triển của các bộ xử lý
Vi xử lý và vi điều khiển
Trang 7Chương I: Tổng quan về vi xử lý – vi điều khiển
1.1 Giới thiệu chung về vi xử lý – vi điều khiển
Một bộ vi xử lý (MicroProcessor
- µP hay uP) là một mạch tích
hợp chứa hàng ngàn, thậm chí
hàng triệu transistor (LSI, VLSI)
được kết nối với nhau
Các transistor ấy cùng nhau làm
việc để lưu trữ và xử lý dữ liệu
Trang 8Bộ vi xử lý
Bộ vi xử lý đầu tiên của
Intel,4004, được giới thiệu
(microcomputer) với vai trò
là CPU Ngoài ra, chúng còn
có mặt ở nhiều thiết bị khác.
Trang 905/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 9
Chương I: Tổng quan về vi xử lý – vi điều khiển
Trang 10History of Intel Microprocessor
The Continuing Evolution of Intel Microprocessors
CIS105 December 2002
Trang 1105/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 11
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.1 Giới thiệu chung về vi xử lý – vi điều khiển
còn được gọi là bộ vi xử lý, là một linh
kiện điện tử máy tính được chế tạo từ các tranzito thu nhỏ tích hợp lên trên một vi mạch tích hợp đơn
hợp thêm các ngoại vi là các “vi điều khiển”
Trang 1205/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 12
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Khối xử lý trung tâm (CPU)
Bộ nhớ (Memory) Khối phối ghép vào/ra (I/O)
Hệ thống bus
Trang 1305/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 13
Trang 14các cổng I/O theo địa chỉ của chúng.
Trang 15Hệ thống vi xử lý
3 khối chức năng: Vi xử lý, Bộ nhớ, Các cổng I/O của một hệ thống vi xử lý trao đổi tín hiệu với
nhau thông qua Bus hệ thống.
Bus hệ thống là một tập hợp các đường truyền dẫn dùng chung, bao gồm: Bus địa chỉ (A-Bus), Bus dữ liệu (D-Bus) và Bus điều khiển (C-Bus)
Các tín hiệu địa chỉ di chuyển trên A-Bus theo
hướng từ vi xử lý đến Bộ nhớ và các cổng I/O
Số lượng đường truyền dẫn của A-Bus (gọi là
Độ rộng của A-Bus) tính bằng bit, phản ánh khả năng quản lý bộ nhớ của chip vi xử lý.
Trang 16Hệ thống vi xử lý
Các tín hiệu dữ liệu di chuyển trên D-Bus theo cả
2 hướng từ vi xử lý đến Bộ nhớ và các cổng I/O
và ngược lại (mỗi lúc một hướng) Số lượng
đường truyền dẫn của D-Bus (gọi là Độ rộng của D-Bus) tính bằng bit, phản ánh một phần tốc độ trao đổi dữ liệu của chip vi xử lý vớI các khối
chức năng khác.
Đa số các tín hiệu trên C-Bus là các tín hiệu điều khiển riêng lẽ, có tín hiệu xuất phát từ vi xử lý, có tín hiệu đi vào vi xử lý Vi xử lý sử dụng các tín hiệu này để điều khiển hoạt động và nhận biết
trạng thái của các khối chức năng khác.
Trang 17 Thiết kế bộ nhớ cho hệ thống vi xử lý: Ghép nối các chip nhớ bán dẫn sẵn có với bus hệ thống sao cho khi bộ vi xử lý truy cập bộ nhớ thì không xảy ra xung đột giữa các chip nhớ với nhau và không xung đột với các chip dùng làm cổng I/O
Tương tự, Thiết kế các cổng I/O cho hệ thống vi
xử lý: Ghép nối các chip MSI hoặc LSI thường dùng làm cổng I/O với bus hệ thống sao cho khi
bộ vi xử lý truy cập các thiết bị I/O thì không xảy
ra xung đột giữa các chip đó với nhau và không xung đột với các chip dùng làm bộ nhớ
Thiết kế phần cứng của hệ thống vi xử lý
Trang 18 Kiểm tra hoạt động của hệ thống và thực hiện
các hiệu chỉnh nếu cần thiết
Có thể nhờ sự trợ giúp của các chương trình mô phỏng trên máy tính
Trang 1905/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 19
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Trang 20Các thành phần của bộ vi xử lý
Trang 21ALU và Control Unit
ALU
Thực hiện các phép toán logic (AND, OR, XOR,
NOT) và các phép toán số học (cộng, trừ, nhân, chia)
Thực hiện việc chuyển dữ liệu
Việc thực hiện lệnh thực sự diễn ra ở ALU
Trang 22Các thanh ghi (Registers)
Thanh ghi là nơi mà bộ vi xử lý có thể lưu trữ được
một số nhị phân (Kích cỡ của thanh ghi tính bằng bit)
Bộ vi xử lý dùng các thanh ghi để lưu trữ dữ liệu tạm thời trong quá trình thực hiện chương trình
Các thanh ghi có thể được truy cập bằng các câu lệnh ngôn ngữ máy thường được gọi là các thanh ghi người
sử dụng có thể nhìn thấy được (có thể truy cập được)
Các thanh ghi điều khiển và các thanh ghi trạng thái được CU dùng để điều khiển việc thực hiện chương trình Đa số các thanh ghi này người sử dụng không thể nhìn thấy được
Trang 2305/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 23
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Trang 2405/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 24
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Trang 2505/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 25
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Hệ thống bus
Bus địa chỉ - Address bus:
• Là các đường tín hiệu song song 1
chiều nối từ CPU đến bộ nhớ
• Độ rộng bus: là số các đường tín hiệu,
có thể là 8, 18, 20, 24, 32 hay 64.
• CPU gửi giá trị địa chỉ của ô nhớ cần
truy nhập (đọc/ghi) trên các đường tín hiệu này
• 1 CPU với n đường địa chỉ sẽ có thể địa
chỉ hoá được 2n ô nhớ Ví dụ, 1 Cpu có
16 đường địa chỉ có thể địa chỉ hoá được 216 hay 65,536 (64K) ô nhớ.
Trang 2605/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 26
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.2 Cấu trúc chung của hệ vi xử lý
Hệ thống bus
Bus dữ liệu - Data bus
• Độ rộng Bus: 4, 8, 16, 32 hay 64 bits
• Là các đường tín hiệu song song 2 chiều, nhiều thiết bị khác nhau có thể được nối với bus dữ liệu; nhưng tại một thời điểm, chỉ có 1 thiết bị duy nhất có thể được phép đưa dữ liệu lên bus
Trang 2705/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 27
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.3 Định dạng dữ liệu và biểu diễn
thông tin trong hệ vi xử lý – vi điều khiển
phân
Trang 2805/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 28
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.3 Định dạng dữ liệu và biểu diễn thông tin trong hệ vi xử lý – vi điều khiển
Hệ đếm thập phân (Decimal)
Còn gọi là hệ đếm cơ số mười
(Vì có quá ít người có chín ngón tay hoặc mười một ngón chân?)
Trang 29Các hệ đếm
(Các hệ thống điện tử số chỉ sử dụng hai mức điện áp?)
Trang 30Số nhị phân
Mỗi ký hiệu 0 hoặc 1 đượ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ó
MSB (Most Significant Bit): Bit sát trái
LSB (Least Significant Bit): Bit sát phải
là một số nhị phân 16-bit
Trang 31Số nhị phân không dấu
âm (>= 0)
từ 0 đến 2n – 1
không dấu 1101 được tính:
V(1101) = 1x23 + 1x22 + 0x21 + 1x20
= 8 + 4 + 0 + 1 = 13
Trang 32Số nhị phân không dấu
Trang 34Số nhị phân không dấu
8-bit là [0,255] (unsigned char trong C)
16-bit là [0,65535] (unsigned int trong C)
Trang 35Chuyển đổi thập phân sang nhị
phân
Ví dụ 1.4
Chuyển 25 sang nhị phân không dấu Dùng phương pháp
chia 2 liên tiếp
Chia 2 Thương số Dư số
Trang 37Các số nhị phân có dấu 4-bit biểu diễn được các giá trị từ ? đến ?
Trang 41Chuyển số thập phân sang nhị phân có
dấu
phân sang nhị phân không dấu rồi
dấu:
phân có dấu rồi lấy bù 2
Trang 42Chuyển số thập phân sang nhị phân có
Trang 43Số thập lục phân
Quen gọi là số Hexa (Hexadecimal)
Còn gọi là hệ đếm cơ số mười sáu
Sử dụng 16 ký hiệu để biểu diễn:
0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Mỗi ký hiệu tương ứng với 4-bit
Mục đích: Biểu diễn số nhị phân ở dạng ngắn gọn
Trang 44Mỗi ký hiệu tương ứng với 4-bit
Trang 45Chuyển đổi Hexa & nhị phân
Trang 46Chuyển đổi Hexa & nhị phân
Kết quả: 1100101011111110b = CAFEh
Trang 4705/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 47
Chương I: Tổng quan về vi xử lý – vi điều khiển
1.3 Định dạng dữ liệu và biểu diễn thông tin trong hệ vi xử lý – vi điều khiển
Trang 501100011
Cách 2 - Lặp lại phép cộng
Cách 3 - Cộng và dịch phải
Trang 51ELE3230B Tutorial 1
Multiplication
multiply two n-bit numbers
Cần thanh ghi n bit cho số nhân và thanh ghi 2n bit để cho số được nhân
• Tại mỗi bước sẽ dịch trái số được nhân 1 bit và
dịch phải số nhân 1 bit
Phụ thuộc vào bit của số nhân là 1 hay 0, cộng vào kết quả số được nhân hoặc 0
Trang 520000 0000 1000
Kết quả: 0000 0110
4 Dịch phải Mp, trái
Mc, bit=0, không cộng
0000 0001 0000
Kết quả: 0000 0110
Trang 54 Phép chia nhị phân được thực hiện như chia thập phân
05/08/24 Bộ môn Kỹ thuật máy tính, Khoa Điện tử, ĐH Kỹ thuật Công nghiệp 54
Trang 551.2 Các hệ thống mã hoá
ASCII: A merican S tandard C ode for
I nformation I nterchange
Gồm ký tự hiển thị được và ký tự điều khiển
mã ASCII của ký tự đó
Các chữ cái in và thường: A Z và a z
Các chữ số thập phân: 0,1,…,9
Các dấu chấm câu: ; , : vân vân
Các ký tự đặc biệt: $ & @ / { vân vân
Các ký tự điều khiển: carriage return (CR) , line feed (LF), beep, vân vân
Trang 57Bảng mã ASCII
Trang 59(Bộ giải mã BCD-LED bảy đoạn 7447)
Trang 61Mã BCD
chuyển đổi thập phân sang nhị phân:
Ví dụ 1.9: Cho số thập phân 15
Số nhị phân không dấu
Trang 62Bit, Nibble, Byte, Word
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)