Tải bản đầy đủ (.pdf) (151 trang)

Giáo trình vi điều khiển cơ bản (nghề điện tử dân dụng trình độ cao đẳng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (4.66 MB, 151 trang )

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


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


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.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



GIÁO 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 chun 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 q 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 độ chun mơn
Nội dung của mơ đun:
Thời gian (giờ)
Số
TT

Tên các bài trong mơ đun

Tổng
số


thuyết

Thực hành,
thí nghiệm,
thảo luận,
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

Kiểm
tra


xử lý

2

3

4

5

6

2. Cấu trúc của hệ vi xử lý và máy vi

tính

1

0.5

0.5

Bài 2: Các đơn vi vi xử lý trung
tâm

2

0.5

1.5

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


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


1

3

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

1


1

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

4

2


1. Tổng quan

0.25

0.25

2. Sơ đồ chân

0.25

0.25

Bài 5: Sơ lược về lịch sử và hướng
phát triển của vi điều khiển

Bài 6: Cấu trúc họ vi điều khiển
8051

6

1

1


7

8

9


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

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

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

8


1.5

5.5

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

2

0.25

1.75

2


0.25

1.75

Bài 9: Bộ định thời

4. Khởi động, dừng, điều khiển Timer
5. Khởi tạo và truy xuất thanh ghi
Timer - Đọc thời gian đang hoạt
động
7

1

1


6. Timer 2 của 8052

10

2.25
1

Bài 10: Cổng nối tiếp

8

1.5


1. Thanh ghi điều khiển

0.25

0.25

2. Chế độ làm việc

0.25

0.25

2.75

0.25

2.5

2.75

0.25

2.5

5. Tốc độ BAUD

2

0.5


1.5

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
số chương trình ứng dụng


18

1.5

15.5

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
đoạn.

3

0.25

2.75

3. Lập trình giao tiếp với ma trận
phím bấm

3

0.25


2.75

4. Lập trình giao tiếp với LCD

3

0.25

2.75

2.5

0.25

2.25

PORT nối tiếp
4. Truyền thông đa xử lý

12

2

Kiểm tra

3. Khởi tạo và truy suất thanh ghi

11

0.25


5. Lập trình giao tiếp với động cơ
8

1
6.5

1


bước
6. Lập trình giao tiếp điều khiển van
từ, xi lanh..
Kiểm tra

2.5

0.25

2.25

1
Cộng

75

9

1
15


57

03


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 tốn, chuyển đổi được các phép tố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 tố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


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, ngồ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


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ố ngun 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ố ngun 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


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 tố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


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


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 AppleMotorola-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 tố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 ngồ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 tốn số học và logic (ALU, Arithmetic
15


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
tồ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
ngồ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ừ ngồi vào và cổng ra để đưa thông tin từ trong hệ thống ra ngồ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 q trình thực hiện. µP sẽ đọc một lệnh từ bộ nhớ (memory),
16


thực thi lệnh và sau đó đọc lệnh kế. Quá trình đọc lệnh gọi là instruction fetch cịn
q 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 u cầu, mục đích sử dụng và có giao diện thân thiện với con
17


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 tố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 tố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 tố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 tố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ớ ngồ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 hồ 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 tốn thơng dụng, điều khiển các q 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 ln ln đượ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


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 tố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 tồ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 tồn và vệ sinh
cơng nghiệp.


19


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 chun dụng. Tính
phát huy và kế thừa ln được coi trọng trong q 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 tồ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 ngồ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



×