HỌ VI ĐIỀU KHIỂN 8051
1
Hiệu đính từ slide của thầy Hồ Trung Mỹ
Bộ môn Điện tử - DH BK TPHCM
Nội dung
3.1 Giới thiệu họ vi điều khiển 8051
3.2 Kiến trúc phần cứng 8051
2
3.1 Giới thiệu
họ vi điều khiển 8051
3
Các kiến trúc vi điều khiển
4
CPU
Program
+ Data
Address Bus
Data Bus
Memory
Von Neumann
Architecture
CPU
Program
Address Bus
Data Bus
Harvard
Architecture
Memory
Data
Address Bus
Fetch Bus
0
0
0
2n
Họ VĐK 8051
 8051 là vi điều khiển đầu tiên của họ vi điều khiển MCS51
được Intel sản xuất vào năm 1980. Họ MCS51 là họ 8-bit có
khả năng định địa chỉ 64KB bộ nhớ chương trình và 64KB
bộ nhớ dữ liệu.
5
So
So sánh
sánh các
các dòng
dòng MCS
MCS-
-51
51
6
3
256 bytes
8K EPROM
8752
3
256 bytes
0K
8032
3
256 bytes
8K ROM
8052
2
128 bytes
4K EPROM
8751
2
128 bytes
0K
8031
2
128 bytes
4K ROM
8051
Timers
On-Chip Data
Memory
On-Chip Code
Memory
Part
Number
3.2 Kiến trúc phần cứng 8051
7
3.2.1 Sơ đồ khối 8051/8031
8
9
Ý nghĩa các chân trên MCU 8051
 Port 0 (Cổng 0)
Port 0 là một port hai chức năng trên các chân 32–39. Trong các thiết kế cỡ nhỏ (không
dùng bộ nhớ mở rộng) nó có chức năng như các đường I/O. Đối với các thiết kế lớn với
bộ nhớ mở rộng, nó được dồn kênh giữa bus địa chỉ và bus dữ liệu.
 Port 1 (Cổng 1)
Port 1 là cổng dành riêng cho nhập/xuất trên các chân 1–8. Các chân được ký hiệu P1.0,
P1.1, P1.2, ... có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức
năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị ngoài.
 Port 2 (Cổng 2)
Port 2 là một cổng công dụng kép trên các chân 21–28 được dùng như các đường xuất
nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng.
 Port 3 (Cổng 3)
Port 3 cũng là một cổng công dụng kép trên các chân 10–17. Các chân của port này có
nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của
8051/8031
10
Các chức năng chuyển đổi ở Port 3
11
12
3.2.2 Cấu trúc cổng I/O
 Khả năng lái là 4 tải TTL loại LS (Low Power Schottky)
với các cổng P1, P2, và P3; và 8 tải TTL loại LS với cổng
P0.
 Chú ý là điện trở kéo lên bên trong không có trong Port 0
(ngoại trừ lúc làm việc như bus dữ liệu / địa chỉ bên
ngoài). Điện trở kéo lên có thể được sử dụng với P0 tùy
theo đặc tính vào của thiết bị mà nó lái.
13
14
15
A Pin of Port 1
16
8051 IC
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
TB1
TB2
P0.x
Writing “1” to Output Pin P1.X
17
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
Vcc
1. write a 1 to the pin
1
0 output 1
TB1
TB2
Writing “0” to Output Pin P1.X
18
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P1.X
pin
P1.X
8051 IC
2. output pin is
ground
1. write a 0 to the pin
0
1 output 0
TB1
TB2
Reading “High” at Input Pin
19
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=High
1. write a 1 to the pin MOV
P1,#0FFH
1
0
3. Read pin=1 Read latch=0
Write to latch=1
1
TB1
TB2
Reading “Low” at Input Pin
20
D Q
Clk Q
Vcc
Load(L1)
Read latch
Read pin
Write to latch
Internal CPU bus
M1
P1.X pin
P1.X
8051 IC
2. MOV A,P1
external pin=Low
1. write a 1 to the pin
MOV P1,#0FFH
1
0
3. Read pin=1 Read latch=0
Write to latch=1
0
TB1
TB2
Other Pins
 P1, P2, and P3 have internal pull-up resisters.
 P1, P2, and P3 are not open drain.
 P0 has no internal pull-up resistors and does not
connects to Vcc inside the 8051.
 P0 is open drain.
 Compare the figures of P1.X and P0.X. 
 However, for a programmer, it is the same to program
P0, P1, P2 and P3.
 All the ports upon RESET are configured as output.
21
A Pin of Port 0
22
8051 IC
D Q
Clk Q
Read latch
Read pin
Write to latch
Internal CPU
bus
M1
P0.X
pin
P1.X
TB1
TB2
P1.x
Port 0 with Pull-Up Resistors
23
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
DS5000
8751
8951
Vcc
10 K
Port
0
Port 3 Alternate Functions
24
17
RD
P3.7
16
WR
P3.6
15
T1
P3.5
14
T0
P3.4
13
INT1
P3.3
12
INT0
P3.2
11
TxD
P3.1
10
RxD
P3.0
Pin
Function
P3 Bit

3.2.3 Định thì CPU
Chu kỳ lệnh, chu kỳ máy và trạng thái
25
12MHz internal clock
6 state cycles
26
Dồn kênh bus địa chỉ (byte thấp) và bus dữ liệu
27
Truy cập bộ nhớ chương trình bên ngoài
28
29
30
31
3.2.4 Cấu trúc bộ nhớ 8051
32
Tóm tắt bộ nhớ dữ liệu trên chip
33
Bộ nhớ dữ liệu 8051
34
Lower 128 Bytes of Internal RAM
35
20H-2FH: 128 Bit-addressable bits occupying bit address 00H-7FH.
30H-7FH: General purpose RAM (can be accessed through direct or
indirect addressing)
Upper 128 Bytes of Internal RAM
36
Vùng nhớ 8032/8052
37
MOV A, 5FH
MOV A, FFH
MOV Ri, #5FH ( I = 0 or 1)
MOV A, @Ri
Tóm tắt thanh ghi PSW
38
Tóm tắt thanh ghi PCON
39
Truy cập bộ nhớ chương trình bên ngoài
40
Định thì đọc bộ nhớ chương trình bên ngoài
(PCH byte của PC và PCL là byte thấp của PC)
41
/PSEN ở mức thấp trong thời gian lấy lệnh
Truy cập bộ nhớ dữ liệu bên ngoài
42
Giản đồ định thì cho lệnh MOVX
43
Mạch giải mã địa chỉ các EPROM 8KB và RAM 8KB với hệ 8051
44
Phủ lấp vùng nhớ dữ liệu và chương trình
bên ngoài
45
3.2.8 Hoạt động reset
46
Mạch reset hệ thống
47
Vc(0+) = Vc(0-)
Các giá trị thanh ghi sau khi reset hệ thống
48

Vxl ch03-8051-3.1 3.2-v03

  • 1.
    HỌ VI ĐIỀUKHIỂN 8051 1 Hiệu đính từ slide của thầy Hồ Trung Mỹ Bộ môn Điện tử - DH BK TPHCM
  • 2.
    Nội dung 3.1 Giớithiệu họ vi điều khiển 8051 3.2 Kiến trúc phần cứng 8051 2
  • 3.
    3.1 Giới thiệu họvi điều khiển 8051 3
  • 4.
    Các kiến trúcvi điều khiển 4 CPU Program + Data Address Bus Data Bus Memory Von Neumann Architecture CPU Program Address Bus Data Bus Harvard Architecture Memory Data Address Bus Fetch Bus 0 0 0 2n
  • 5.
    Họ VĐK 8051 8051 là vi điều khiển đầu tiên của họ vi điều khiển MCS51 được Intel sản xuất vào năm 1980. Họ MCS51 là họ 8-bit có khả năng định địa chỉ 64KB bộ nhớ chương trình và 64KB bộ nhớ dữ liệu. 5
  • 6.
    So So sánh sánh các cácdòng dòng MCS MCS- -51 51 6 3 256 bytes 8K EPROM 8752 3 256 bytes 0K 8032 3 256 bytes 8K ROM 8052 2 128 bytes 4K EPROM 8751 2 128 bytes 0K 8031 2 128 bytes 4K ROM 8051 Timers On-Chip Data Memory On-Chip Code Memory Part Number
  • 7.
    3.2 Kiến trúcphần cứng 8051 7
  • 8.
    3.2.1 Sơ đồkhối 8051/8031 8
  • 9.
  • 10.
    Ý nghĩa cácchân trên MCU 8051  Port 0 (Cổng 0) Port 0 là một port hai chức năng trên các chân 32–39. Trong các thiết kế cỡ nhỏ (không dùng bộ nhớ mở rộng) nó có chức năng như các đường I/O. Đối với các thiết kế lớn với bộ nhớ mở rộng, nó được dồn kênh giữa bus địa chỉ và bus dữ liệu.  Port 1 (Cổng 1) Port 1 là cổng dành riêng cho nhập/xuất trên các chân 1–8. Các chân được ký hiệu P1.0, P1.1, P1.2, ... có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị ngoài.  Port 2 (Cổng 2) Port 2 là một cổng công dụng kép trên các chân 21–28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng.  Port 3 (Cổng 3) Port 3 cũng là một cổng công dụng kép trên các chân 10–17. Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8051/8031 10
  • 11.
    Các chức năngchuyển đổi ở Port 3 11
  • 12.
  • 13.
    3.2.2 Cấu trúccổng I/O  Khả năng lái là 4 tải TTL loại LS (Low Power Schottky) với các cổng P1, P2, và P3; và 8 tải TTL loại LS với cổng P0.  Chú ý là điện trở kéo lên bên trong không có trong Port 0 (ngoại trừ lúc làm việc như bus dữ liệu / địa chỉ bên ngoài). Điện trở kéo lên có thể được sử dụng với P0 tùy theo đặc tính vào của thiết bị mà nó lái. 13
  • 14.
  • 15.
  • 16.
    A Pin ofPort 1 16 8051 IC D Q Clk Q Vcc Load(L1) Read latch Read pin Write to latch Internal CPU bus M1 P1.X pin P1.X TB1 TB2 P0.x
  • 17.
    Writing “1” toOutput Pin P1.X 17 D Q Clk Q Vcc Load(L1) Read latch Read pin Write to latch Internal CPU bus M1 P1.X pin P1.X 8051 IC 2. output pin is Vcc 1. write a 1 to the pin 1 0 output 1 TB1 TB2
  • 18.
    Writing “0” toOutput Pin P1.X 18 D Q Clk Q Vcc Load(L1) Read latch Read pin Write to latch Internal CPU bus M1 P1.X pin P1.X 8051 IC 2. output pin is ground 1. write a 0 to the pin 0 1 output 0 TB1 TB2
  • 19.
    Reading “High” atInput Pin 19 D Q Clk Q Vcc Load(L1) Read latch Read pin Write to latch Internal CPU bus M1 P1.X pin P1.X 8051 IC 2. MOV A,P1 external pin=High 1. write a 1 to the pin MOV P1,#0FFH 1 0 3. Read pin=1 Read latch=0 Write to latch=1 1 TB1 TB2
  • 20.
    Reading “Low” atInput Pin 20 D Q Clk Q Vcc Load(L1) Read latch Read pin Write to latch Internal CPU bus M1 P1.X pin P1.X 8051 IC 2. MOV A,P1 external pin=Low 1. write a 1 to the pin MOV P1,#0FFH 1 0 3. Read pin=1 Read latch=0 Write to latch=1 0 TB1 TB2
  • 21.
    Other Pins  P1,P2, and P3 have internal pull-up resisters.  P1, P2, and P3 are not open drain.  P0 has no internal pull-up resistors and does not connects to Vcc inside the 8051.  P0 is open drain.  Compare the figures of P1.X and P0.X.   However, for a programmer, it is the same to program P0, P1, P2 and P3.  All the ports upon RESET are configured as output. 21
  • 22.
    A Pin ofPort 0 22 8051 IC D Q Clk Q Read latch Read pin Write to latch Internal CPU bus M1 P0.X pin P1.X TB1 TB2 P1.x
  • 23.
    Port 0 withPull-Up Resistors 23 P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 DS5000 8751 8951 Vcc 10 K Port 0
  • 24.
    Port 3 AlternateFunctions 24 17 RD P3.7 16 WR P3.6 15 T1 P3.5 14 T0 P3.4 13 INT1 P3.3 12 INT0 P3.2 11 TxD P3.1 10 RxD P3.0 Pin Function P3 Bit 
  • 25.
    3.2.3 Định thìCPU Chu kỳ lệnh, chu kỳ máy và trạng thái 25
  • 26.
    12MHz internal clock 6state cycles 26
  • 27.
    Dồn kênh busđịa chỉ (byte thấp) và bus dữ liệu 27
  • 28.
    Truy cập bộnhớ chương trình bên ngoài 28
  • 29.
  • 30.
  • 31.
  • 32.
    3.2.4 Cấu trúcbộ nhớ 8051 32
  • 33.
    Tóm tắt bộnhớ dữ liệu trên chip 33
  • 34.
    Bộ nhớ dữliệu 8051 34
  • 35.
    Lower 128 Bytesof Internal RAM 35 20H-2FH: 128 Bit-addressable bits occupying bit address 00H-7FH. 30H-7FH: General purpose RAM (can be accessed through direct or indirect addressing)
  • 36.
    Upper 128 Bytesof Internal RAM 36
  • 37.
    Vùng nhớ 8032/8052 37 MOVA, 5FH MOV A, FFH MOV Ri, #5FH ( I = 0 or 1) MOV A, @Ri
  • 38.
    Tóm tắt thanhghi PSW 38
  • 39.
    Tóm tắt thanhghi PCON 39
  • 40.
    Truy cập bộnhớ chương trình bên ngoài 40
  • 41.
    Định thì đọcbộ nhớ chương trình bên ngoài (PCH byte của PC và PCL là byte thấp của PC) 41 /PSEN ở mức thấp trong thời gian lấy lệnh
  • 42.
    Truy cập bộnhớ dữ liệu bên ngoài 42
  • 43.
    Giản đồ địnhthì cho lệnh MOVX 43
  • 44.
    Mạch giải mãđịa chỉ các EPROM 8KB và RAM 8KB với hệ 8051 44
  • 45.
    Phủ lấp vùngnhớ dữ liệu và chương trình bên ngoài 45
  • 46.
  • 47.
    Mạch reset hệthống 47 Vc(0+) = Vc(0-)
  • 48.
    Các giá trịthanh ghi sau khi reset hệ thống 48