Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 122 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
122
Dung lượng
2,65 MB
Nội dung
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ệ vixửlý 14
1.3.1 Sự ra đời và phát triển của các bộ vixửlý 14
1.3.2 Sơ đồ khối cấu trúc và hoạt động của hệ vixửlý 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ửlý 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Ộ VIXỬLÝ 47
3.1 Giới thiệu bộ vixửlý 8 bit tổng quát 47
3.2 Bộ vixử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ộ vixửlý 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ộ vixửlý 8088 57
3.2.4 Các chế độ địa chỉ của bộ vixửlý 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ộ vixửlý 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ộ vixửlý 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ộ vixửlý 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 lý 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 lý 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 lý 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 ký 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 VIXỬLÝ 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 ký 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 ký 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 ký 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 ký 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 ký 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 ký 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ửlý 15 1.3.2 Sơ đồ khối cấu trúc và hoạt động của hệ vixửlý M CPU I/O Out In Abus Dbus Cbus Hình 1.1: Sơ đồ khối của hệ vixửlý 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ệ vixửlý bao gồm: - Khối xửlý 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ộ vixửlý (Microprocessor) hay còn... Thế hệ náy có các bộ vixửlý 32 bit (80386, 80486) và 64 bit Pentium của Intel, các vixửlý 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ửlý xen kẽ liên tục dòng mã lệnh, bộ nhớ cache - Có bộ quản lý bộ nhớ và nhiều bộ đồng xửlý toán học bên trong - Công nghệ sản xuất HCMOS - Tất cả đều có bộ đồng xửlý toán học, bộ quản lý bộ nhớ MMU Chú ý:... Chú ý: Một số thông số của các bộ vixửlý (xem thêm bảng 2.1 sách vxl) Ngoài các bộ vixửlý đƣợ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ộ vixử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 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 vixửlý 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 vixửlý là chuỗi các bit 0 và 1 cung cấp cho vixửlý để nó thực hiện một chức năng cơ bản Chƣơng trình của hệ thống vixửlý 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 Ví 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ệ vixửlý 1.3.1 Sự ra đời và phát triển của các bộ vi xửlý a) Thế hệ 1 (1971 -1973) Năm 1971, Intel đã cho ra bộ vi xửlý đầ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ửlý khác: 4040, 8008 của Intel PPS – 4, IPM – 16 Đặc điểm chung của các vi xửlý 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ửlý hoàn chỉnh b) Thế hệ 2 (1974 – 1977) Bộ vi xử. .. – 5 MHz c) Thế hệ 3 (1978 – 1982) 14 Bộ vixửlý là các vixửlý 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 ký tự - Khả năng quản lý 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ửlý 0.1 – 1 µs/lệnh với tần số f = 5 – 10... thời, trao đổi dữ liệu, xửlý 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ệ vixửlý 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ộ vixửlý tiêu biểu là vixửlý 8 bit 6502 của MOS Technology, 6800 và 6809 của Motorola, 8080 và 8085 của Intel, đặc biệt là bộ vixửlý 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 lý 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ệ vixửlý 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 vixửlý 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