Giới thiệu Vi điều khiển AT89C51
Mục tiêu Hỗtrợkỹthuật cho sinh viên yêu thích lĩnh vực thiết kếRobot và các ứng dụng trong điều khiển tự động.
Bạn đang xem nội dung tài liệu Giới thiệu Vi điều khiển AT89C51, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Giới thiệu Vi điều khiển AT89C51
Mục tiêu
>Nội dung>
Hỗ trợ kỹ thuật cho sinh viên yêu thích lĩnh
vực thiết kế Robot và các ứng dụng trong điều
khiển tự động.
¾Giới thiệu một số họ vi điều khiển MCS51, PIC, AVR
và sự lựa chọn AT89C51.
¾Yêu cầu về Kiến thức nền.
¾Cấu trúc bên ngoài: Thông số kỹ thuật, sơ đồ chân IC
và chức năng của các chân.
¾Tổ chức bên trong AT89C51: Các thanh ghi, bộ nhớ
chương trình - Flash ROM, các port vào ra, RAM, bộ
phận timer và các ngắt (Port nối tiếp, Timer).
¾Hướng dẫn thiết kế phần cứng, một số điểm cần chú ý.
¾ Sinh viên đặt câu hỏi.
Nội dung
>Một số họ VĐK>
Giới thiệu một số họ Vi điều khiển
9Vi điều khiển họ PIC: PIC16F83, PIC16F84, PIC16CR83,
PIC16CR84,…→ RISC
9Vi điều khiển họ AVR: ATMEGA8, ATMEGA16,
ATMEGA32, ATMEGA64, AT90S2313…, → RISC
9Vi điều khiển MCS51: AT89C1051, AT89C2051,
AT89C4051, AT89C51, AT89C52, AT89C55,…→ CISC
>Lựa chọn AT89C51>
Sự lựa chọn AT89C51
)Tính năng và tốc độ đáp ứng được yêu cầu
kỹ thuật trong ứng dụng không đòi hỏi tốc độ
cao (như xử lý ảnh, nhận dạng tiếng nói,…).
)Giá thành thấp hơn so với các họ VĐK khác.
)Họ VĐK MCS51 có hỗ trợ lập trình điều khiển
bằng cả hợp ngữ và C.
)Các thiết bị nạp Flash ROM có sẵn tại Khoa.
>Background>
Yêu cầu về kiến thức nền
¾ Kỹ thuật Vi xử lý
¾ Kỹ thuật số
¾ Linh kiện điện tử.
>Thông số kỹ thuật 89C51>
¾Tương thích với họMCS-51
¾ 4K Bytes Flash ROM.
¾Tần số xung clock hoạt động: 0 Hz đến 24 MHz
¾Hỗ trợ bảo mật, chống copy chương trình trong Flash.
¾ 128 x 8-bit Internal RAM
¾ 32 Programmable I/O Lines (4 Port)
¾Hai Timer/Counters 16-bit.
¾Hỗ trợ 6 loại ngắt: Ngắt phần cứng, Timer, Serial Port.
¾Một Port giao tiếp nối tiếp.
¾Hỗ trợ “Low-power Idle” và “Power-down Modes”
Đặt tính kỹ thuật của AT89C51
>Hình dạng>
Các dạng chân của AT89C51
>Cấu trúc ngoài>
Sơ đồ chân và ý nghĩa các chân
Cấu trúc bên ngoài
Port 0
Port 2
Port 1
Port3
Reset
Clock
Chức năng khác
>Tổ chức trong>
¾Đa hợp 8 bits địa chỉ thấp/Dữ liệu khi
truy xuất CTrình hoặc dữ liệu trong
64K ROM/RAM ngoại.
¾Port 8 bits vào/ra có cực thu để hở:
- Nhận dòng tối đa 10mA khi đặt ở
mức thấp.
- Khi được đặt ở mức cao, có thể sử
dụng như các ngõ vào (Phải sử
dụng điện trở kéo lên)
Chức năng Port 0
)Return
¾Phát ra 8 bits địa chỉ cao khi
truy xuất CTrình hoặc dữ liệu
trong ROM/RAM ngoại.
¾Port vào ra 8 bits:
- Nhận dòng tối đa 10mA khi
đặt ở mức thấp.
- Khi được đặt ở mức cao, có
thể sử dụng như các ngõ vào
(không sử dụng điện trở kéo
lên).
Chức năng của Port 2
)Return
¾Port vào ra 8 bits:
- Nhận dòng tối đa 10mA ở
mức thấp.
- Có thể sử dụng như các ngõ
vào khi đặt ở mức cao.
¾ Port 3 còn dùng phục vụ các
chức năng đặc biệt của CPU.
Port 1 và Port 3
>Next>
¾ P3.0: RXD (serial input port)
¾ P3.1: TXD (serial output port)
¾ P3.2: INT0 (external interrupt 0)
¾ P3.3: INT1 (external interrupt 1)
¾ P3.4: T0 (timer 0 external input)
¾ P3.5: T1 (timer 1 external input)
¾ P3.6: WR (external data memory
write strobe)
¾ P3.7: RD (external data memory
read strobe)
Chức năng đặc biệt của Port 3
)Return
Các chức năng khác
33pF 33pF
1K
U1
AT89C51
9
18
19
29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1
PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
VCC
10uF
VCC
CRYSTAL
8.2K
SW1
1
2
Chu kỳ: TCK
Reset nếu RST
được giữ ở mức
cao tgian 24TCK
EA: External Access Enable
VPP: 12V khi lập trình Flash >>Next>>
¾PSEN (Program Store Enable)
dùng cho phép truy xuất bộ nhớ
chương trình ngoài.
¾ALE (Address Latch Enable):
- Chốt 8 bits địa chỉ thấp khi truy
xuất chương trình ngoài.
- Phát ra tín hiệu có f = fCLOCK÷6
¾PROG (program pulse input):
Xung nạp chương trình cho Flash
Các chức năng khác (tt)
6
1
)Return
Tổ chức bên trong
INT0 INT1
Interrupt
Control
4KB
Flash ROM
CPU
OSC Serial
Port
RAM 128Byte thấp
Counter
Inputs
TXD RXD
SFRs 128Byte cao
Bus
Control
I/O
Ports
P0 P2 P1 P3
Timer1
Timer0
256 Bytes RAM
ACC
B
PC
>Hướng dẫn thiết kế>
SFRs: Special Function Registers
F2 F0F1F4F6 F5 F3
E2 E0E1E4E6 E5 E3
D2 D0-D4D6 D5 D3
B8BA B9BC- - BB
B2 B0B1B4B6 B5 B3
A8AA A9AC- - AB
A0A2 A1A4A6 A5 A3
9A 98999C9E 9D 9B
92 90919496 95 93
888A 898C8E 8D 8B
8082 818486 85 83 99
A0
A8
B0
B8
D0
E0
F0
FF
P0
SP
DPL
DPH
PCON
TCON
TMOD
TL0
TL1
TH0
TH1
P1
SCON
not bit addressable
A7
AF
B7
-
D7
E7
F7
87
not bit addressable
not bit addressable
not bit addressable
not bit addressable
8F
not bit addressable
not bit addressable
not bit addressable
not bit addressable
not bit addressable
97
9F
SBUF80
81
P282
83
IE
87
P388
89
IP8A
8B
PSW8C
8D
ACC
90
B
98
Các thanh ghi SFRs có địa chỉ từ 80H đến FFH )Return
PSW: Program Status Word
Thanh ghi từ trạng thái
D0D1D2D3D4D5D6D7Địa chỉ
Tên bit
Vị trí
P-OVRS0RS1F0ACCY
PSW.0PSW.1PSW.2PSW.3PSW.4PSW.5PSW.6PSW.7
Parity flag
Overflow flag
Register Bank Select
00: Bank 0
01: Bank 1
10: Bank 2
11: Bank 3
Auxiliary flag
Carry flag
)Return
IP: Interrupt Priority Register
Thanh ghi ưu tiên ngắt (Các bit tác động cao)
B8B9BABBBCBDBEBFĐịa chỉ
Tên bit
Vị trí
PX0PT0PX1PT1PS---
IP.0IP.1IP.2IP.3IP.4IP.5IP.6IP.7
Serial interface
Timer 1
External interrupt 0
Timer 0
External interrupt 1
1: High Priority
0: Low Priority
Thứ
tự
ưu
tiên
)Return
Đchỉ: 23H 1BH 13H 0BH 03H
IE: Interrupt Enable Register
Thanh ghi ngắt (Các bit tác động cao)
A8A9AAABACADAEAFĐịa chỉ
Tên bit
Vị trí
EX0ET0EX1ET1ES--EA
IE.0IE.1IE.2IE.3IE.4--IE.7
Enable/Disable serial port
EA: Cho phép ngắt
1: Cho phép
0: Cấm tất cả ngắt
Enable/Disable Timer1 overflow
Enable/Disable external interrupt 1
Enable/Disable external interrupt 0
Enable/Disable Timer0 overflow interrupt
)Return
PCON: Power Control Register
Thanh ghi điều khiển công suất
Tên bit IDLPDGF0GF1---SMOD
PD (Power down)
PD = 1: Oscillator dừng
CPU ngưng hoạt động
SMOD: Double baud rate
Tăng tốc độ gấp đôi khi
truyền nhận qua cổng nối tiếp
IDL (Idle)
IDL = 1: CPU ngưng hoạt
động, ngắt CK, các ngắt còn
hoạt động.
)Return
TCON: Timer Control Register
Thanh ghi điều khiển Timer (Các bit tác động cao)
88898A8B8C8D8EAF8Địa chỉ
Tên bit
Vị trí
IT0IE0IT1IE1TR0TF0TR1TF1
TCON.0TCON.1TCON.2TCON.3TCON.4TCON.5TCON.6TCON.7
TF1, TF0 (Timer overflow flag)
Được SET là 1 khi Timer/counter tràn.
TR1, TR0 (Timer run control bit): Cho phép Timer/counter chạy.
IE1, IE0 (External interrupt edge flag)
Cờ ngắt, tự động bật lên = 1 khi có ngắt tác động.
IT1, IT0 (Interrupt type control)
Nếu được SET sẽ cho phép các ngắt tác động cạnh. )Return
Tổ chức 128 bytes RAM
128 BIT BIT ADDRESSABLE
Địa chỉ từ: 00H đến FFH
REGISTER BANK 0
REGISTER BANK 1
REGISTER BANK 2
REGISTER BANK 3
07………………..00
FF………………..F8
R0
R1
R2
R3
R4
R5
R6
R7
00
01
02
03
04
05
06
07
0F
08
17
10
1F
18
20
2F
7F
30General Purpose RAM
)Return
Khi hoạt động, một Bank sẽ
được chọn làm các thanh
ghi. Vùng nhớ còn lại sẽ
được sử dụng lưu trữ dữ liệu
và làm ngăn xếp.
Thiết kế phần cứng
A4
A6
CRYSTAL
U5
74LS138
1
2
3
6
4
5
15
14
13
12
11
10
9
7
A
B
C
G1
G2A
G2B
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
A[0..7]
10uF
A2
A6
U2
74F573
2
3
4
5
6
7
8
9
11
1
19
18
17
16
15
14
13
12
D1
D2
D3
D4
D5
D6
D7
D8
LE
OE
Q1
Q2
Q3
Q4
Q5
Q6
Q7
Q8
A7
A2
A4
A4
8.2K
A5
A7
A0
U6
2764
10
9
8
7
6
5
4
3
25
24
21
23
2
20
22
27
1
11
12
13
15
16
17
18
19
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
CE
OE
PGM
VPP
O0
O1
O2
O3
O4
O5
O6
O7
A3
A1
A1
A3
A0
A5
33pF
A6
ALE
U1
AT89C51
9
18
19
29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1
PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
VCC
A3
A0
33pF
ALE
A5
A7
SW1
1
2 VCC
A1
A2
Sử dụng ROM
chương trình
ngoài.
>Cách sử dụng Port>
Sử dụng các Port
Q1
1
2
3
U7 AT89C51
9
18
19 29
30
31
1
2
3
4
5
6
7
8
21
22
23
24
25
26
27
28
10
11
12
13
14
15
16
17
39
38
37
36
35
34
33
32
RST
XTAL2
XTAL1 PSEN
ALE/PROG
EA/VPP
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
P2.0/A8
P2.1/A9
P2.2/A10
P2.3/A11
P2.4/A12
P2.5/A13
P2.6/A14
P2.7/A15
P3.0/RXD
P3.1/TXD
P3.2/INTO
P3.3/INT1
P3.4/TO
P3.5/T1
P3.6/WR
P3.7/RD
P0.0/AD0
P0.1/AD1
P0.2/AD2
P0.3/AD3
P0.4/AD4
P0.5/AD5
P0.6/AD6
P0.7/AD7
D1
10K
D1
220
8.2K
220
VCC
VCC
220
VCC
8.2K
VCC
D1
Q1
1
2
3
>Các ứng dụng>
Điện trở kéo lên
¾Mạch điều khiển, định thời đóng mở các thiết bị
gia dụng như đèn, quạt…
¾Đồng hồ điện tử đa năng.
¾Mạch đèn chớp với nhiều hiệu ứng.
¾Các thiết bị tính giờ, thiết bị đố vui.
¾Lịch vạn niên.
¾Các thiết bị thông minh.
Một số ứng dụng