Đột phá ở chỗ: "Đó là một kết cấu logic mà có thể thay theo hướng tạo một cấu trúc phần cứng chỉ thực hiện theo một số chức năng nhất định như trước đây" Tức là phần cứng chỉ đóng vai tr
Trang 202/29/24 2
VI ĐIỀU KHIỂN LÀ GÌ
Là bước đột phá mới trong công nghệ điện tử khi công ty Intel cho ra đời bộ vi xử lý đầu tiên
Đột phá ở chỗ: "Đó là một kết cấu logic mà có thể thay
theo hướng tạo một cấu trúc phần cứng chỉ thực hiện theo một số chức năng nhất định như trước đây"
Tức là phần cứng chỉ đóng vai trò thứ yếu, phần mềm
thực hiện Nhờ vậy vi xử lý có sự mềm dẻo hóa trong các chức năng của mình Ngày nay vi xử lý có tốc độ tính toán rất cao và khả năng xử lý rất lớn
Trang 3VI ĐIỀU KHIỂN LÀ GÌ
Vi điều khiển có các khối chức năng cần thiết để lấy dữ liệu, xử lý dữ liệu và xuất dữ liệu ra ngoài sau khi đã xử lý Và chức năng chính của Vi điều khiển chính là xử lý dữ liệu, chẳng hạn như cộng, trừ, nhân, chia, so sánh.v.v
thị kí tự trên màn hình đòi hỏi phải kết hợp vi điều khiển với các mạch điện giao tiếp với bên ngoài, được gọi là các thiết bị I/
O (nhập/xuất) hay còn gọi là các thiết bị ngoại vi
Trang 402/29/24 4
MỤC LỤC
Chương 1: Giới thiệu hệ thống vi xử lý
Chương 2: Cấu trúc phần cứng vi điều khiển 8051
Chương 3: Tổ chức bộ nhớ và các thanh ghi chức năng
đặc biệt
Chương 4: Tập lệnh họ vi điều khiển 8051
Chương 5: Hoạt động của bộ định thời
Chương 7: Kỹ thuật ngắt
Trang 5CHƯƠNG 1
GIỚI THIỆU HỆ THỐNG VI XỬ LÝ
Trang 6bên ngoài, hoặc có sẵn trong CPU và chỉ cần gắn thêm thạch anh hoặc tụ - trở bên ngoài
Trang 802/29/24 8
1.2 Bộ nhớ
Little Endian và Big Endian:
- Little Endian: địa chỉ ô nhớ được đánh thứ tự từ phải sang trái (sẽ gặp trong 8051)
phải
Trang 91.3 Khái niệm về địa chỉ
Các ô nhớ, thanh ghi hay các ngõ vào, ngõ ra đều có địa chỉ
Địa chỉ thường được biễu diễn ở dạng số HEX
VD: 00H, 50H
Ta cũng có thể biễu diễn ở dạng số nhị phân
VD: 0000 0000B, 0101 0000 B
Trang 1002/29/24 10
Trang 111.4 Chương trình
khiển CPU thực hiện công việc xử lý dữ liệu mong muốn
Có nhiều loại ngôn ngữ lập trình:
- Ngôn ngữ máy (machine language):
+ Mã nhị phân+ Mã bát phân hay thập luc phân
- Hợp ngữ (assembly language): Các ký hiệu
- Ngôn ngữ cấp cao
Trang 1202/29/24 12
1.4 Chương trình
công việc mà vi xử lý sẽ thực thi, ngôn ngữ này khó lập trình
VD:
0000 0100: Cộng
0000 1001: Trừ
Trang 131.4 Chương trình
diễn 1 loại lệnh (sẽ học trong 8051)
ngữ và dữ liệu ra là chương trình bằng ngôn ngữ máy (nhị phân)
Trang 14CHƯƠNG 2 CẤU TRÚC PHẦN CỨNG
VI ĐIỀU KHIỂN 8051
Trang 151.1 Giới thiệu tổng quát về vi điều khiển 8051
8051 là bộ vi điều khiển đầu tiên của họ MCS-51, gồm
4KB ROM và 128 Byte RAM
Chip thuộc họ 8051 tiêu biểu là AT89C51
Trang 1602/29/24 16
1.2 Khảo sát phần cứng
Trong chương trình sẽ khảo sát vi điều khiển 89C51 có 40 chân
Trang 171.2 Khảo sát phần cứng
1.2.1 Các chân cấp nguồn
Vi điều khiển 8051 hoạt động với khoảng điện áp 2V – 6V, tần số xung nhịp thường dùng là 12 Mhz
Thường ta sẽ cấp nguồn 5V cho 8051
Trang 1802/29/24 18
1.2 Khảo sát phần cứng
1.2.1 Các chân cấp nguồn
Ví dụ về 1 mạch cấp nguồn
Trang 191.2 Khảo sát phần cứng
1.2.2 Các chân tạo dao động:
chính là 2 chân tạo dao động
Tần số bộ dao động có thể lên đến 24 Mhz
Trang 2002/29/24 20
1.2 Khảo sát phần cứng
Trang 211.2 Khảo sát phần cứng
1.2.3 Chân Reset
quay lại trạng thái ban đầu
Dòng vi điều khiển 8051 nói chung và AT89C51 nói riêng thì chân reset tích cực mức cao
Trang 2202/29/24 22
1.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
Họ vi điều khiển 8051 loại 40 chân có:
- 32 chân xuất nhập (Input/Output) gồm 4 Port
- 24 chân trong số 32 chân đó có tác dụng kép (nghĩa là 1 chân
có hơn 1 chức năng)
- Có 4 port: Port 0, Port 1, Port 2, Port 3 Mỗi Port có 8 chân
Trang 231.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
Trang 2402/29/24 24
1.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
- Nếu sử dụng bộ nhớ mở rộng, Port 0 vừa đóng vai trò byte thấp của bus địa chỉ, vừa đóng vai trò bus dữ liệu
- Nếu không sử dụng bộ nhớ mở rộng, Port 0 có chức năng như các đường xuất nhập thông thường
chân 1-8
Trang 251.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
dùng như các đường xuất nhập và vừa là byte cao của bus địa chỉ trong các thiết kế có sử dụng bộ nhớ mở rộng
Trang 2602/29/24 26
1.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập Port 3: có 2 chức năng trên các chân 10-17 Ngoài vai trò xuất nhập, các chân của port này có nhiều chức năng
Bit Tên Địa chỉ bit Chức năng
P3.0 RXD B0H Dữ liệu nhận từ port nối tiếp
P3.1 TXD B1H Dữ liệu phát cho port nối tiếp
P3.2 /INT0 B2H Ngắt 0 bên ngoài
P3.3 /INT1 B3H Ngắt 1 bên ngoài
P3.4 T0 B4H Ngõ vào của timer/counter 0
P3.5 T1 B5H Ngõ vào của timer/counter 1
P3.6 /WR B6H Xung ghi bộ nhớ dữ liệu ngoài
P3.7 /RD B7H Xung đọc bộ nhớ dữ liệu ngoài
Trang 271.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
Các Port khi xuất mức logic 1 thì dòng xuất ra rất nhỏ
dưới 5mA(P0,P2 dòng xuất khoảng 1mA; P1,P3 dòng xuất ra khoảng 1mA đến 5mA), không đủ để có thể làm led sáng
Các Port xuất tín hiệu ở mức logic 0 dòng điện cho phép
đi vào VDK lớn hơn:
- Dòng lớn nhất vào P0 : 25mA
- Dòng lớn nhất vào P1,P2,P3 : 15mA
Trang 28- Cho led sáng khi chân VDK ở mức 0
- Cho led sáng khi chân VDK ở mức 1
Trang 291.2 Khảo sát phần cứng
1.2.4 Các chân xuất nhập
Cho led sáng khi chân VDK ở mức 0
Trang 311.2 Khảo sát phần cứng
1.2.5 Các chân điều khiển của 8051 Chân 31 - Ngõ tín hiệu vào EA sẽ được cấp mức 1 hoặc mức 0
- Mức 1: 8051 thực hiện chương trình trong ROM nội
- Mức 0: chương trình chỉ được thi hành từ bộ nhớ mở rộng
Trang 32CHƯƠNG 3
TỔ CHỨC BỘ NHỚ
VÀ CÁC THANH GHI CHỨC NĂNG ĐẶC BIỆT
Trang 333.1 Tổ chức bộ nhớ
Bộ nhớ AT89C51 bao gồm:
- 4 Kb bộ nhớ ROM: chứa chương trình
- 128 byte bộ nhớ RAM: chứa dữ liệu, được chia thành:
+ RAM đa dụng+ RAM địa chỉ hóa từng bit+ Các thanh ghi chức năng đặc biệt
Trang 3402/29/24 34
3.1 Tổ chức bộ nhớ
Vùng bộ nhớ cho chương trình và dữ liệu riêng biệt với nhau
Trang 353.2 Bản đồ bộ nhớ dữ liệu trên vi điều khiển
Trang 3602/29/24 36
RAM bên trong 8051 được phân chia như sau:
3.2 Bản đồ bộ nhớ dữ liệu trên vi điều khiển
Trang 373.2.1 Các bank thanh ghi
Trang 38Đọc nội dung ở thanh ghi R1 vào thanh ghi A
3.2.1 Các bank thanh ghi
Trang 393.2.2 Vùng RAM đa dụng
Trang 413.3 Các thanh ghi có chức năng đặc biệt
Trang 4202/29/24 42
Được sử dụng rộng rãi nhất của 8051 Thanh ghi tích lũy
A được sử dụng cho tất cả mọi phép toán số học và logic
3.3.2 Thanh ghi A
Ở địa chỉ E0H
Trang 43Ở địa chỉ F0H
3.3.3 Thanh ghi B
Được dùng cùng với thanh ghi A cho các phép toán nhân chia
Lệnh “MUL AB” sẽ nhân giá trị 8 bit trong A và B rồi trả về kết quả 16 bit, chứa trong A (byte cao) và B (byte thấp)
Lệnh “DIV AB” sẽ chia A cho B rồi trả về kết quả nguyên trong
A và phần dư trong B
Trang 4402/29/24 44
8051 có 2 bộ định thời gian/đếm sự kiện 16 bit
Trang 458051 có 5 nguồn ngắt:
- 2 ngắt ngoài
- 2 ngắt từ timer
- 1 ngắt từ cổng nối tiếpCác ngắt bị cấm sau khi bị reset hệ thống và sẽ được cho phép bằng thanh ghi cho phép ngắt IE ở địa chỉ A8H
3.3.9 Các thanh ghi ngắt