Bộ tạo dao động CPU Điều khiển ngắt.. Nguån ng¾t 4Kbyte Bé nhí ch−¬ng tr×nh trong.. XTAL 1.2 |PSEN/ALE Cæng I/O 8 bit Cổng I/O Đchỉ cao Dữ liệu 8 bit Cổng I/O Đchỉ thấp Dữ liệu 8 bit
Trang 1Electrical Engineering 1
Vi điều khiển 8051(microcontroller)
• 8031 do hãng Intel chế tạo
• 8051 có 4kbyte Flash Ram
• 89C51, 52 do hãng Intel chế tạo
• 87C51 do hãng Philip chế tạo
• 80515, 535 do hãng Siemens chế tạo
Vi điều khiển 89C51
Trang 2Electrical Engineering 3
Đặc điểm chung AT89C51/52
•Do hãng Atmel chế tạo
•4K byte Flash, 128 byte RAM
•32 đường xuất nhập,
•Hai bộ định thời / bộ đếm 16 bit,
•5 ngắt
•Một port nối tiếp song công
•Mạch dao động và tạo xung nhịp trên chip.
Trang 3Electrical Engineering 5
Làm việc với 89C51
• Bộ nạp Flash RAM
– Phần cứng
– Phần mềm
– 8051 programmer
• Chương trình dịch
– Assembler AS51
– Chương trình C: Keil, Read 51,
Phần mềm
Trang 4Electrical Engineering 7
Giới thiệu chung 89c51
H×nh 2.1: CÊu tróc cña vi ®iÒu khiÓn 8051
Bộ tạo
dao động
CPU
Điều khiển
ngắt.
Nguån ng¾t
4Kbyte
Bé nhí ch−¬ng tr×nh trong.
128byte
Bé nhí trong
2bộ đếm / định thời
Khối đ.khiển Bus.
Port 0 Port 1 Port 2 Port 3
Giao diện nối tiép.
XTAL 1.2
|PSEN/ALE Cæng I/O 8 bit
Cổng I/O Đchỉ cao
Dữ liệu 8 bit
Cổng I/O Đchỉ thấp
Dữ liệu 8 bit
Cổng I/O Các chức năng đắc biệt
Dữ liệu 8 bit
Khối xử lý trung tâm CPU
CPU -Central Processing Unit
• Thanh ghi tích luỹ (ký hiệu là A );
• Thanh ghi tích luỹ phụ (ký hiệu là B ) thường được dùng
cho phép nhân và phép chia ;
• Khối logic số học (ALU=Arithmetic Logical Unit) ;
• Từ trạng thái chương trình (PSW= Program Status Word );
• Bốn băng thanh ghi (R0-R7)
• Con trỏ ngăn xếp (SP=Stack Point) cũng như con trỏ dữ
liệu để định địa chỉ cho bộ nhớ dữ liệu ở bên ngoài;
• Thanh ghi đếm chương trình (PC= Progam Counter );
Trang 5Electrical Engineering 9
Mô tả các chân 8051
• 40 chân
• Chân thạch anh:18, 19, dùng đồng hồ thạnh
anh với tần số lớn nhất là 12 Mhz
Các cổng vào ra
• 4 cổng, 32 bít vào ra
– Port 0, 1, 2, 3
• Port 1
– Chân 1 – 8 của 8051, ký hiệu P1.0, P1.1 P1.7
– Dùng làm đường xuất và đường nhập, ghép nối
với thiết bị ngoại vi
Trang 6Electrical Engineering 11
Các cổng vào ra(tiếp)
• Port 0 (chân 32-39) có 2 công dụng
– Dùng như nhiệm vụ xuất nhập
– Khi ghép nối với thiết bị nhớ, port 0 trở thành
bus địa chỉ và bus dữ liệu đa hợp
• byte thấp của bus địa chỉ nếu dùng địa chỉ
Các cổng vào ra (tiếp)
• Port 2 (chân 21-28) có 2 công dụng
– Dùng như nhiệm vụ xuất nhập
– Khi ghép nối với thiết bị nhớ, port 2 trở thành
bus địa chỉ
• byte cao của bus địa chỉ nếu dùng địa chỉ
Trang 7Electrical Engineering 13
Các cổng vào ra (tiếp)
• Port 3 (chân 10 – 17)
– Có thể làm các chân vào ra trực tiếp
– Tùy theo phần mềm có thể làm chức năng riêng
Port 3
Trang 8Electrical Engineering 15
Các chân điều khiển
• PSEN
• ALE
• EA
• RESET
RESET
• Khởi động lại hệ thống
• Tích cực ở mức 1
89C51 HI
R3 10K
C1 R3
100
Trang 9Electrical Engineering 17
EA
• Chân 31, cần điều khiển bằng người thiết kế
• EA = 1, thực hiện chương trình trong ROM
nội
• EA = 0, thực hiện chương trình ROM ngoài
Kết cấu bộ nhớ chương trình 8051
Trang 10Electrical Engineering 19
Bộ nhớ RAM trong
Ghép nối bộ nhớ (vào ra) ngoài
• Ghép nối thiết bị vào ra ngoài
– Khi giới hạn bởi sổ cổng vào ra
– Khi dung lương nhớ bổ xung thêm
• Về lý thuyết , 8051 có thể có
– 64k bộ nhớ chương trình (code memory )
– 64K bộ nhớ dữ liệu
• Việc ghép nối bộ nhớ liên quan tới việc sử dụng tín hiệu địa
chỉ để tạo ra tín hiệu chọn chip CE
• Chân PSEN sử dụng cho vùng nhớ chương trình
• Đường RD, WR cho vùng nhớ dữ liệu
• EA = Vcc dùng cho - on chip code rom
Trang 11Electrical Engineering 21
PSEN (program store enable)
• Cung cấp bởi 8051
• Cho phép truy xuất bộ nhớ chương trình
ngoài
• Thường nối với chân OE (output enable)
của EPROM
• Bình thường PSEN ở mức 1
Nguyên tắc chung
• Bộ nhớ và các thiết bị ngoại vi đều có đường điều khiển
ghép nối với vi xử lý
– CS, CE : chip select or chip enable
• Đường này kết hợp với tín hiệu giải mã từ vi điều khiển
• Thường là tích cực thấp
• Thương thì tín hiệu đọc RD được nối với chân OE : output
enable
• Trong bộ nhớ RAM thì thêm tín hiệu
Trang 12Electrical Engineering 23
ALE (address latch enable)
• Chân 30, cung cấp bởi 8051
• Cho phép chốt địa chỉ và dữ liệu, giải mã
bus địa chỉ và bus dữ liệu
• ALE = 1, dữ liệu
• ALE = 0, địa chỉ thấp
Sử dụng ALE trong thực tế
Trang 13Electrical Engineering 25
Truy xuất bộ nhớ ngoài
Giải mã địa chỉ
P ort 0
P ort 2
E A
A L E
P S E N
7 4 H C 57 3/3 73
D 0 - D 7
A 0 - A 7
A 8 -A 1 4
O E
D 0 - D 7
A 0 - A 7
A 8 -A 1 4
O E
27 25 6
`
A 1 5
Trang 14Electrical Engineering 27
Ví dụ 4K Rom ngoài tại địa chỉ 1000
• 1000H = 0001 0000 0000 0000b
• 4 đường địa chỉ liên qua chính là
– – A15, A14, A13, A12
• Mục tiêu
• Thiết kế mạch lô gic tạo ra tin hiệu tích cực
thấp khi [A15:A12] = 0001 and PSEN=0
• Địa chỉ là 1000H to 1FFFH
Sơ đồ ROM ngoài
Trang 15Electrical Engineering 29
Sơ đổ 4K Ram ngoài tại 1000H
Ghép nối mạch thực tế có Rom,
RAm
Bộ nhớ chương trình 8K ROM chia làm hai vùng:
• Bộ nhớ dữ liệu được mở rộng thêm 32K RAM ngoài có địa chỉ vật lý:
2000H ÷ 9FFFH.
• Mạch ghép nối vào/ ra sử dụng IC 8255 với địa chỉ của từng cấu hình
như sau:
Trang 16Electrical Engineering 31
Vi mạch 74LS138
Giải mã từ 3 – 8 theo mã BCD Logic 0 là mức tích cực
Giải mã địa chỉ
B C
D
6 5
4 3
2 1
D
C
B
D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27
PA0 4 PA1 3 PA2 2 PA3 1 PA4 40 PA5 39 PA6 38 PA7 37 PB0 18 PB1 19 PB2 20 PB3 21 PB4 22 PB5 23 PB6 24 PB7 25 PC0 14 PC1 15 PC2 16 PC3 17 PC4 13 PC5 12 PC6 11 PC7 10
RD 5 WR 36 A0 9 A1 8 RESET 35 CS 6 U?
AD[0 8]
AD0 AD3 AD6 AD7
AD0 AD3
EA/VP 31 X1 19 X2 18 RESET 9 RD 17 WR 16
INT0
12 INT1 13
T0
14 T1 15
P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8
P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28
PSEN 29 ALE/P TXD RXD 30 11 10
OC 1 11 1D 2 2D 3 3D 4 4D 5 5D 6 6D 7 7D 8 8D 9
1Q 19 2Q 18 3Q 17 4Q 16 5Q 15 6Q 14 7Q 13 8Q 12
12Hz Y1
100
R2
P1.0 P1.3 P1.6
AD0 AD3 AD6 A8 A10 A13
AD0 AD3 AD6
A0 A3 A6 EA
A7 EA
AD0
EA
AD2 AD5
C2 30P
C3 30P
R1
100K
1 4 7 10 R-4,7K
S1
RESET
Y2
A[0 15]
A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2 CE 20 OE 22 WE 27
DQ0 11 DQ1 12 DQ2 13 DQ3 15 DQ4 16 DQ5 17 DQ6 18 DQ7 19 A14
1 A13 26 RAM62256 +5V
A14
A15 A
E1 4 E2 5 E3 6
Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7
A0
A12
A1
A11 A9 A6 A3 A0
C1
CAPACITOR
VCC
A4
A13
A5
A14
A0 10 A1 9 A2 8 A3 7 A4 6 A5 5 A6 4 A7 3 A8 25 A9 24 A10 21 A11 23 A12 2
D0 11 D1 12 D2 13 D3 15 D4 16 D5 17 D6 18 D7 19
D0 D3 D6
A12 A9 A6 A3 A0
1 2
3 4
5 6
7 8
9 10 LOW_ADDRESS
1 2
3 4
5 6
7 8
9 10 PORT A
P1.1 PC3 P1.0 PC2
PB2 PA7
PA0 1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
21 22
23 24
25 26
1 2
3 4
5 6
7 8
9 10 PORT B
1 2
3 4
5 6
7 8
9 10 PORT C
1 2
3 4
5 6
7 8
9 10 PORT3+138
1 2
3 4
5 6
7 8
9 10
PORT1 P1.0 P1.1 P1.2 P1.5 P1.6 P1.7
Y0
RD
INT0
Y3 Y6 Y5
1 2
3 4
5 6
7 8
9 10
DATA BUS
PA.0 PA.6 PA.1 PA 3 PA.5
VCC
PB.0 PB.6 PB.1 PB.7
VCC
PC.0 PC 2 PC.6 PC 1 PC 7
VCC
VCC
C5 10u C4
10u
1
7
4
DB9 FEMALE
C8
C6
R1I
13
T1O
14 R10 12
T1I 11 R2O 9 T2I 10 R2I
8
T2O
7
GND
15
V-6
V+
2
VCC
16
C1+ 1 C1- 3 C2+ 4 C2- 5
VCC
RXD
LED232 R_L232B
VCC
RXD
R_POWER
LED_POWER
VCC
CT
V V
GND
IN OUT
78L05
VCC +12V VCC + 5V
sơ đồ nguyên lý Board 1
HD: TS Nguyễn Hồng Quang TH: Trần Bình Dương-Phạm Gia Điềm
Triệu Tuyêng Hoàng-Nguyễn tuấn Nghĩa-TĐH3-K43