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

giới thiệu về vi điều khiển 8051

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 (516.26 KB, 41 trang )

GV. LÊ TIẾN DŨNG
Bộ môn Tự ñộng hóa – Khoa ðiện
Trường ðại học Bách khoa – ðại học ðà Nẵng
Email:


NỘI DUNG MÔN HỌC
CHƯƠNG 1:

GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN

CHƯƠNG 2:

TÓM TẮT PHẦN CỨNG CHÍP VI ðIỀU KHIỂN

CHƯƠNG 3:

TÓM TẮT TẬP LỆNH

CHƯƠNG 4:

HOẠT ðỘNG ðỊNH THỜI

CHƯƠNG 5:

HOẠT ðỘNG CỦA CỔNG NỐI TIẾP

CHƯƠNG 6:

HOẠT ðỘNG NGẮT


CHƯƠNG 7:

LẬP TRÌNH HỢP NGỮ

CHƯƠNG 8:

THIẾT KẾ VÀ GIAO TIẾP

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu.
1.2 Thuật ngữ.
1.3 ðơn vị xử lý trung tâm
1.4 Bộ nhớ bán dẫn: RAM và ROM.
1.5 Các bus: ñịa chỉ, số liệu và ñiều khiển.
1.6 Các thiết bị xuất nhập.
1.7 Chương trình: lớn và nhỏ.
1.8 So sánh vi xử lý và vi ñiều khiển.
1.9 Hệ thống nhúng
1.10 Ưu và khuyết ñiểm.

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu


Năm 1971, hãng Intel ñã cho ra ñời bộ vi xử lý
(microprocessor) ñầu tiên trên thế giới tên gọi là Intel-4004,
nhằm ñáp ứng nhu cầu cấp thiết của một công ty kinh doanh
là hãng truyền thông BUSICOM.
Intel-4004 là kết quả của một ý tưởng quan trọng trong kỹ
thuật vi xử lý số. ðó là một kết cấu logic mà có thể thay ñổi
ñược chức năng của nó bằng chương trình ngoài chứ không
phát triển theo hướng tạo ra một cấu trúc cứng chỉ thực hiện
một số chức năng nhất ñịnh như trước ñây.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu

Sau ñó, các bộ vi xử lý mới liên tục ñược ñưa ra thị trường
và ngày càng ñược phát triển, hoàn thiện hơn trong các thế hệ
sau:
- Vào năm 1971, hãng Intel ñưa ra bộ vi xử lý 8-bit ñầu
tiên với tên Intel-8008.
- Năm 1975, Intel chế tạo bộ vi xử lý 8-bit 8080 và 8085.
- Cũng vào khoảng thời gian 1975, một loạt các hãng
khác trên thế giới cũng ñã giới thiệu các bộ vi xử lý tương tự:
6800 của Motorola với 5000 tranzitor, Signetics 6520, 1801
của RCA, kế ñến là 6502 của hãng MOS Technology và Z80
của hãng Zilog.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007



CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu

Vào năm 1976 Intel giới thiệu bộ vi ñiều khiển
(microcontroller) 8748, một chip tương tự như các bộ vi
xử lý và là chip ñầu tiên trong họ vi ñiều khiển MCS-48.
8748 là một vi mạch chứa trên 17000 transistor, bao gồm
một CPU, 1K byte EPROM, 64 byte RAM, 27 chân xuất
nhập và một bộ ñịnh thời 8-bit. IC này và các IC khác tiếp
theo của họ MCS-48 ñã nhanh chóng trở thành chuẩn
công nghiệp trong các ứng dụng hướng ñiều khiển
(control-oriented application).
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu
Năm 1978 xuất hiện Intel 8086 là loại bộ xi xử lý 16 bit với
29.000 tranzitor, Motorola 68000 tích hợp 70.000 tranzitor, APX
432 chứa 120.000 tranzitor. Bộ vi xử lý của Hewlet Pakard có
khoảng 450.000 tranzitor. Từ năm 1974 ñến 1984 số tranzitor tích
hợp trong một chip tăng khoảng 100 lần.
Năm 1983, Intel ñưa ra bộ vi xử lý 80286 dùng trong các máy vi
tính họ AT (Advanced Technology). Năm 1987, Intel ñưa ra bộ vi
xử lý 80386 32-bit. Năm 1989 xuất hiện xuất hiện bộ vi xử lý Intel
80486 là cải tiến của Intel 80386 với bộ nhớ ẩn và mạch tính phép
toán ñại số dấu phẩy ñộng.

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu
Năm 1992, xuất hiện Intel 80586 còn gọi là Pentium 64 bit chứa 4 triệu tranzitor.

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.1 Mở ñầu

ðộ phức tạp, sự gọn nhẹ về kích thước và khả năng của
các bộ vi ñiều khiển ñược tăng thêm một bậc quan trọng
vào năm 1980 khi Intel công bố chip 8051, bộ vi ñiều
khiển ñầu tiên của họ vi ñiều khiển MCS-51. So với 8048,
chip 8051 chứa trên 60.000 transistor bao gồm 4K byte
ROM, 128 byte RAM, 32 ñường xuất nhập, 1 port nối tiếp
và 2 bộ ñịnh thời 16-bit – một số lượng mạch ñáng chú ý
trong một IC ñơn.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
VI ðIỀU KHIỂN:


Một bộ vi ñiều khiển là một hệ vi xử lý thật
sự ñược tổ chức trong một chip (trong một vỏ
IC) bao gồm một bộ vi xử lý (microprocessor),
bộ nhớ chương trình (ROM), bộ nhớ dữ liệu
(RAM), ngoài ra trên chip còn có bộ xử lý số
học-logic (ALU) cùng với các thanh ghi chức
năng, các cổng vào/ra, cơ chế ñiều khiển ngắt,
truyền tin nối tiếp, các bộ ñịnh thời...
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
Kiến trúc máy tính hay kiến trúc vi ñiều khiển cũng tương
tự nhau. (Vi ñiều khiển còn ñược gọi là MicroComputer). Do
ñó, trong phần mở ñầu này chúng ta có thể tìm hiểu về kiến
trúc máy tính, ñể làm cơ sở hiểu rõ về kiến trúc vi ñiều khiển.

Máy tính (computer) ñược ñịnh nghĩa bởi 2 ñiểm chính:
- Khả năng ñược lập trình ñể thao tác trên dữ liệu mà
không cần ñến sự can thiệp của con người.
- Khả năng lưu trữ và khôi phục dữ liệu.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.2 Thuật ngữ

Một hệ máy tính (Computer system) bao gồm các

thiết bị ngoại vi (peripheral device) ñể giao tiếp với con
người và các chương trình (program) ñể xử lý dữ liệu.
Các thiết bị là phần cứng (hardware) và chương trình
là phần mềm (software).
Sơ ñồ khối ñơn giản, không chi tiết của một hệ máy
tính như hình vẽ sau:
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.2 Thuật ngữ

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.2 Thuật ngữ
Một hệ máy tính bao gồm:
- ðơn vị xử lý trung tâm CPU (Central Processing Unit).
- Bộ nhớ truy xuất ngẫu nhiên RAM (Random Access Memory).
- Bộ nhớ chỉ ñọc ROM (Read Only Memory).
- Bus ñịa chỉ (address bus).
- Bus dữ liệu (data bus).
- Bus ñiều khiển (control bus).
- Các mạch giao tiếp (interface circuit) kết nối các bus của hệ thống
với các thiết bị ngoại vi (Peripheral devices).
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007



CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm
CPU, trái tim của hệ máy tính, quản lý tất cả các hoạt ñộng của
hệ và thực hiện tất cả các thao tác trên dữ liệu.
Hầu hết các CPU chỉ bao gồm một tập các mạch logic thực hiện
liên tục 2 thao tác: Tìm nạp lệnh và thực thi lệnh.
CPU có khả năng hiểu và thực thi các lệnh dựa trên một tập
các mã nhị phân, gọi là tập lệnh (instruction set). Mỗi một mã
nhị phân biểu diễn một thao tác ñơn giản. Các lệnh này thường là
các lệnh số học (cộng, trừ, nhân, chia), các lệnh logic (AND, OR,
NOT,…), các lệnh di chuyển dữ liệu hoặc các lệnh rẽ nhánh.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

Bên trong CPU bao gồm:
+ Một tập các thanh ghi (Register): Có nhiệm
vụ lưu giữ tạm thời các thông tin.
+ Một ñơn vị số học ALU (Arithmetic-logic
unit): Có nhiệm vụ thao tác trên các thông tin.
+ Một ñơn vị giải mã và ñiều khiển
(Instruction decode and control unit): Có nhiệm
vụ xác ñịnh các thao tác cần thực hiện và thiết lập
các hoạt ñộng cần thiết ñể thực hiện thao tác.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007



CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

+ Thanh ghi lệnh (Instruction Register): Lưu
giữ mã nhị phân của lệnh ñể ñược thực thi.
+ Bộ ñếm chương trình PC (Program
Counter): Lưu giữ ñịa chỉ của lệnh kế tiếp
trong bộ nhớ cần ñược thực thi. Mỗi khi CPU
nhận mã lệnh từ bộ nhớ ROM, thì bộ nhớ
chương trình ñược tăng lên 1 ñể trỏ ñến lệnh kế
tiếp.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

Các bước CPU tìm nạp lệnh ñược thực hiện
theo thứ tự sau:


1- Nội dung của PC ñược ñặt lên bus ñịa
chỉ.
2- Tín hiệu ñiều khiển READ chuyển sang
trạng thái tích cực.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

3- Dữ liệu (Opcode của lệnh) ñược ñọc từ
ROM (RAM) và ñưa lên bus dữ liệu.
4- Opcode ñược chốt vào thanh ghi lệnh bên
trong CPU.
5- PC ñược tăng ñể chuẩn bị tìm nạp lệnh kế
tiếp từ bộ nhớ.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1
3
4.
Opcode
ñược
chốt
vào IR.


5. PC tăng
lên ñể chuẩn
bị lệnh kế
tiếp.
2

GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.3 ðơn vị xử lý trung tâm

Giai ñoạn thực thi lệnh:
Bao gồm việc giải mã opcode và tạo ra các tín hiệu ñiều
khiển. Các tín hiệu này ñiều khiển việc xuất nhập giữa các
thanh ghi nội với ALU và thông báo ñể ALU thực hiện
các thao tác ñã ñược xác ñịnh.
Các lệnh phức tạp hơn ñòi hỏi thêm nhiều bước nữa,
chẳng hạn như ñọc byte dữ liệu thứ 2 và byte dữ liệu thứ
3 ñể thực hiện thao tác.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.4 Bộ nhớ bán dẫn: RAM và ROM

Chương trình và Dữ liệu ñược lưu giữ trong bộ nhớ.

Các bộ nhớ ñược truy xuất trực tiếp bởi CPU bao gồm
các IC bán dẫn gọi là RAM và ROM.
Có 2 ñặc trưng ñể phân biệt RAM và ROM:
- RAM là bộ nhớ ñọc/ghi trong khi ROM là bộ nhớ
chỉ ñọc.
- RAM không tiếp tục lưu giữ nội dung khi bị mất
nguồn cấp ñiện trong khi ROM thì ngược lại.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.5 Các BUS: ðỊA CHỈ, DỮ LIỆU VÀ ðIỀU KHIỂN

Một BUS là một tập hợp các dây mang thông tin có
cùng một mục ñích.
Việc truy xuất tới một mạch xung quanh CPU sử dụng 3
bus: Bus ñịa chỉ, bus dữ liệu và bus ñiều khiển.
Với mỗi thao tác ñọc hoặc ghi, CPU xác ñịnh rõ vị trí
của dữ liệu (hoặc lệnh) bằng cách ñặt một ñịa chỉ lên bus
ñịa chỉ, sau ñó tích cực một tín hiệu trên bus ñiều khiển ñể
chỉ ra thao tác là ñọc hay ghi.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


CHƯƠNG 1:
GIỚI THIỆU CÁC KHÁI NIỆM CƠ BẢN
1.5 Các BUS: ðỊA CHỈ, DỮ LIỆU VÀ ðIỀU KHIỂN

Thao tác ñọc lấy một byte dữ liệu từ bộ nhớ ở vị

trí ñã xác ñịnh và ñặt byte này lên bus dữ liệu.
Với thao tác ghi, CPU xuất dữ liệu lên bus dữ
liệu. Nhờ vào tín hiệu ñiều khiển, bộ nhớ nhận biết
ñây là thao tác ghi và lưu dữ liệu vào vị trí ñã
ñược xác ñịnh.
GV. Lê Tiến Dũng. Automation Department, Faculty of Electrical Engineering – DUT / 2007


×