Tải bản đầy đủ (.ppt) (88 trang)

ĐIỆN tử VIỄN THÔNG chuong 5 1 microcontroller 8051 khotailieu

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 (443.89 KB, 88 trang )

• Phần 1
Microprocessors course
Phạm Thế Duy
()


Nội dung:
Giới Thiệu Chung
Sơ đồ khối và mô tả các tín hiệu của 8051
Các thanh ghi
Các lệnh cơ bản của 8051.
Cấu trúc ngôn ngữ Assembly và chạy các
chương trình 8051.
Bản đồ bộ nhớ của 8051.
Các bit cờ và thanh ghi PSW của 8051.
Các chế độ địa chỉ của 8051.
Các phép tính số học và BCD 16 bit.
Ngăn xếp của 8051
Các lệnh LOOP và JUMP.
Các lệnh chương trình con.
Lập trình cho các cổng vào ra.


Giới thiệu

Hệ thống vi xử lý đa dụng






CPU thực hiện các lệnh điều khiển hoạt động của toàn bộ hệ thống.
Không có các bộ nhớ RAM, ROM, và các vào ra trong CPU.
Bộ nhớ và vào ra là các chip riêng biệt.
Ví dụ : Intel’s x86, Motorola’s 680x0
CPU
Bộ vi xử lý
đa dụng

Nhiều chip kết nối với nhau

Data Bus

RAM

ROM

I/O
Port

Address Bus
Control Bus
Hệ thống vi xử lý đa dụng

Timer

Serial
COM
Port



Bộ vi điều khiển :
• Là một hệ thống vi xử lý nhỏ được kết nối sẵn trong một IC.
• CPU, RAM, ROM, I/O cùng nằm trong một CHIP.
• Ví dụ : Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X

Power
RAM
Monitoring
Reset
Control
Clock &
Timming

CPU

ROM
I/O
Port

Một Chip

Serial
Timer Port
Bộ vi điều khiển


So sánh giữa Vi Xử Lý và Vi Điều Khiển
Vi Xử Lý
• CPU, ROM, RAM và các
vào ra là các IC riêng

• Người thiết kế có thể quyết
định dung lượng ROM,
RAM và cổng vào ra.
• Giá thành cao.
• Có thể sử dụng cho nhiều
ứng dụng khác nhau.

Vi Điều Khiển
• CPU, RAM, ROM, I/O và
timer nằm trên cùng một chip.
• Dung lượng ROM, RAM và
số lượng vào ra là cố định.
• Thường sử dụng cho các ứng
dụng có giá thành hạ, tiêu thụ
công suất ít và chiếm diện tích
nhỏ.
• Thường sử dụng cho các ứng
dụng đơn giản.


Hệ thống nhúng
• Hệ thống nhúng là hệ thống vi xử lý được nhúng vào các ứng dụng
cụ thể.
• Một hệ thống nhúng sử dụng các bộ vi xử lý hoặc vi điều khiển
nhưng chỉ thực hiện một nhiệm vụ duy nhất.
• Trong các hệ thống nhúng thông thường chỉ có một phần mềm ứng
dụng duy nhất, thông thường được nạp vào ROM.
• Ví dụ : Máy in, bàn phím, card trò chơi.



Ba yếu tố để lựa chọn một bộ vi điều khiển.
1.

Phối hợp giữa ba yếu tố: hiệu suất tính toán, hiệu quả thực hiện
nhiệm vụ và giá thành hệ thống.
• Tốc độ, dung lượng ROM và RAM, số lượng cổng vào ra, các
loại cổng vào ra, số lượng Timer, kích thước, kiểu chân IC,
công suất tiêu thụ.
• Dễ dàng nâng cấp khi cần.
• Giá thành mỗi IC.
2. Các công cụ phần mềm sẵn có.
• Các phần mềm hợp dịch (Assemblers), Các phần mềm gỡi
rối (debuggers), Các phần mềm biên dịch C (C compilers),
Phần mềm chạy thử (emulator), Phần mềm mô phỏng
(simulator), hỗ trợ kỹ thuật (technical support).
3. Có sẵn trên thị trường và có nguồn cung cấp tin cậy.


Block Diagram
External interrupts

Interrupt
Control

On-chip
ROM for
program
code

Timer/Counter


On-chip
RAM

Timer 1
Timer 0

CPU

OSC

Bus
Control

4 I/O Ports

P0 P1 P2 P3

Address/Data

Serial
Port

TxD RxD

Counter
Inputs


So sánh các vi điều khiển trong họ 8051


Đặc tính
8051
ROM (program space in bytes) 4K
RAM (bytes)
128
Timers
2
I/O pins
32
Serial port
1
Interrupt sources
6

8052
8K
256
3
32
1
8

8031
0K
128
2
32
1
6




Các tín hiệu của 8051
PDIP/Cerdip
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
(RXD)P3.0
(TXD)P3.1
(INT0)P3.2
(INT1)P3.3
(T0)P3.4
(T1)P3.5
(WR)P3.6
(RD)P3.7
XTAL2
XTAL1
GND

1
2
3
4

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

8051
(8031)

40
39
38
37
36
35
34
33
32
31

30
29
28
27
26
25
24
23
22
21

Vcc
P0.0(AD0
P
) 0.1(AD1)
P0.2(AD2
P
) 0.3(AD3)
P0.4(AD4)
P0.5(AD5)
P0.6(AD6)
P0.7(AD7)
EA/VPP
ALE/PROG
PSEN
P2.7(A15)
P2.6(A14)
P2.5(A13)
P2.4(A12)
P2.3(A11)

P2.2(A10)
P2.1(A9)
P2.0(A8)




Pins of 8051 ( 1/4 (
• Vcc : pin 40 ::
– Vcc cung cấp nguồn cho hoạt động của 8051.
– Nguồn cần cung cấp là +5V.
• GND : pin 20 :: ground
• XTAL1 và XTAL2 : pins 19,18 ::
– Là 2 chân nối linh kiện cung cấp nguồn Clock bên ngoài.
– Cách 1 : sử dụng bộ dao động thạch anh 
– Cách 2 : Sử dụng các bộ tạo dao động TTL 
– Ví dụ 7-1 cho thấy quan hệ giữ XTAL và chu kỳ máy của vi
điều khiển. 


Pins of 8051 ( 2/4 (
• RST : pin 9 :: reset
– Là ngõ vào tác động mức cao : bình thường mức thấp : .
• Tín hiệu này cần phải ở mức cao trong ít nhất 2 chu kỳ máy.
– Reset khi bật nguồn.
• Khi cung cấp xung mức cao tới chân RST, bộ vi điều khiển
sẽ được Reset giá trị trong RAM và các thanh ghi sẽ bị mất.
• Giá trị của các thanh ghi 8051 sau khi reset 
– Cách 1 : Dùng mạch Power – on reset 
– Way 2 : Dùng mạch Power-on reset và nút reset 



Pins of 8051 ( 3/4 (
• /EA : pin 31 :: External Access (truy cập bộ nhớ ngoài)
– Các vi điều khiển 8031 và 8032 không có ROM nội.
– /EA nối tới GND chỉ thị chương trình được chứa trong bộ nhớ
ngoài.
– /PSEN : ALE sử dụng cho việc truy cập bộ nhớ ROM ngoài.
– Với 8051, /EA thường được nối tới Vcc.
– “/” nghĩa là tác động mức thấp.
• /PSEN : pin 29 :: program store enable (Cho phép bộ nhớ chương
trình)
– Tín hiệu ra này dùng nối tời chân OE của bộ nhớ ROM.
– Xem thêm về giao tiếp bộ nhớ ngoài 14.


Pins of 8051 ( 4/4 (
• ALE : pin 30 :: address latch enable (cho phép cài địa chỉ)
– Là tín hiệu ra tác động mức cao.
– Port 0 của 8051 sử dụng cho cả dữ liệu và địa chỉ.
– ALE sử dụng để de-multiplexing địa chỉ và dữ liệu bằng cách
nối tới chân G của bộ cài (ví dụ 74LS373).
• Các chân vào ra song song.
– Có 4 cổng song song P0, P1, P2, và P3.
– Mỗi cổng có 8 chân.
– Tất cả các chân vào ra song song đều hai chiều.


Hình 7-2 (a). Nối thạch anh cho 8051




Sử dụng bộ dao động thạnh anh.
Có thể quan sát được dao động trên chân XTAL2.
C2
XTAL2
30pF
C1
XTAL1
30pF
GND




Hình 7-2 (b). Sử dụng nguồn tạo dao động bên ngoài

N
C



Sử dụng bộ tạo dao động TTL
EXTERNAL
XTAL2 bỏ trống.
OSCILLATOR
SIGNAL

XTAL2


XTAL1

GND




Ví dụ 7-1 :
Tìm chu kỳ máy với:
(a) XTAL = 11.0592 MHz
(b) XTAL = 16 MHz.
Giải:
(a) 11.0592 MHz / 12 = 921.6 kHz;
machine cycle = 1 / 921.6 kHz = 1.085 s
(b) 16 MHz / 12 = 1.333 MHz;
machine cycle = 1 / 1.333 MHz = 0.75 s




Giá trị các thanh ghi 8051 sau khi RESET:

Các thanh ghi
PC
ACC
B
PSW
SP
DPTR


Giá trị sau Reset
0000
0000
0000
0000
0007
0000

Tất cả các ô nhớ RAM bằng 0




Hình 7-3 (a). Mạch Power-On RESET
Vcc

+
10 uF

31
30 pF

8.2 K
30 pF

11.0592 MHz

19
18


EA/VPP
X1
X2

9 RST




Hình 7-3 (b). Power-On RESET có nút Reset
Vcc

31
10 uF

30 pF

9

EA/VPP
X1

X2
RST

8.2 K





Tín hiệu các cổng song song
• 8051 có 4 cổng vào ra song song
– Port 0 : chân 32-39 :: P0 : P0.0 : P0.7 :
– Port 1 : chân 1-8 : : P1 : P1.0 : P1.7 :
– Port 2 : chân 21-28 :: P2 : P2.0 : P2.7 :
– Port 3 : chân 10-17 :: P3 : P3.0 : P3.7 :
– Mỗi cổng có 8 chân.
• Tên P0.X : X=0,1,...,7 : , P1.X, P2.X, P3.X
• Ví dụ : P0.0 là bit 0 : LSB : của P0
• Ví dụ : P0.7 là bit 7 : MSB : của P0
• 8 bits tạo thành 1 byte.
• Mỗi cổng có thể sử dụng làm ngõ ra hoặc vào (bi-direction).




Các thanh ghi
A
B
R0

DPTR

DPH

DPL

R1
R2


PC

PC

R3
R4
R5
R6
R7
Các thanh ghi 8 bit của
8051

Các thanh ghi 16 bit của 8051


Một số lệnh cơ bản của 8051
MOV dest,source
MOV
MOV
MOV
MOV

A,#72H
A, #’r’
R4,#62H
B,0F9H

MOV
MOV
MOV


DPTR,#7634H
DPL,#34H
DPH,#76H

MOV

P1,A

; dest = source
;A=72H
;A=‘r’ OR 72H
;R4=62H
;B=nội dung ô nhớ thứ 79 trong RAM

;mov A tới P1

Chú ý 1:
MOV
A,#72H

MOV
A,72H
Sau lệnh “MOV A,72H ” nội dung ô nhớ 72 của RAM sẽ chép vào thanh chứa.

8086
MOV
MOV
MOV
MOV


8051
AL,72H
AL,’r’
BX,72H
AL,[BX]

MOV
MOV

A,#72H
A,#’r’

MOV

A,72H

MOV

A,3

Chú ý 2:
MOV

A,R3




ADD A, Source


;A=A+SOURCE

ADD

A,#6

;A=A+6

ADD

A,R6

;A=A+R6

ADD

A,6

;A=A+[6] or A=A+R6

ADD

A,0F3H

;A=A+[0F3H]


×