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

Tài liệu Microcontroller 8051 - Phần 1: Microprocessors course pptx

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 (531.66 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
CPU
Bộ vi xử lý
đa dụng
RAM ROM
I/O
Port
Timer
Serial
COM
Port


Data Bus
Address Bus
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
Nhiều chip kết nối với nhau
Hệ thống vi xử lý đa dụng
Control Bus
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
Một Chip
Bộ vi điều khiển :
ROM
I/O
Port
Timer
Serial
Port
CPU

Power
Monitoring
Reset
Control
Clock &
Timming
RAM
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.
So sánh giữa Vi Xử Lý và Vi Điều Khiển

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.
Hệ thống nhúng
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.
Ba yếu tố để lựa chọn một bộ vi điều khiển.
Block Diagram
CPU
On-chip
RAM
On-chip
ROM for
program
code
4 I/O Ports
Timer 0
Serial
Port
OSC
Interrupt
Control
External interrupts
Timer 1
Timer/Counter
Bus
Control
TxD RxD
P0 P1 P2 P3
Address/Data
Counter

Inputs
Đặc tính 8051 8052 8031
ROM (program space in bytes) 4K 8K 0K
RAM (bytes) 128 256 128
Timers 2 3 2
I/O pins 32 32 32
Serial port 1 1 1
Interrupt sources 6 8 6
So sánh các vi điều khiển trong họ 8051

Các tín hiệu của 8051
PDIP/Cerdip
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7

RST
(RXD)P3.0
(TXD)P3.1
(T0)P3.4
(T1)P3.5
XTAL2
XTAL1
GND
(INT0)P3.2
(INT1)P3.3
(RD)P3.7
(WR)P3.6
Vcc
P0.0(AD0
)
P0.1(AD1)
P0.2(AD2
)
P0.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)
8051
(8031)

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
C2
30pF
C1
30pF
XTAL2

XTAL1
GND

Sử dụng bộ dao động thạnh anh.

Có thể quan sát được dao động trên chân XTAL2.

Hình 7-2 (b). Sử dụng nguồn tạo dao động bên ngoài
N
C
EXTERNAL
OSCILLATOR
SIGNAL
XTAL2
XTAL1
GND

Sử dụng bộ tạo dao động TTL

XTAL2 bỏ trống.

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:
0000DPTR
0007SP
0000PSW
0000B
0000ACC
0000
PC
Giá trị sau ResetCác thanh ghi
Tất cả các ô nhớ RAM bằng 0

Hình 7-3 (a). Mạch Power-On RESET
30 pF
30 pF
8.2 K
10 uF
+
Vcc
11.0592 MHz
EA/VPP
X1
X2
RST
31
19
18
9

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

EA/VPP
X1
X2
RST
Vcc
10 uF
8.2 K
30 pF
9
31

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
R1
R3
R4
R2
R5
R7
R6
DPH DPL
PC
DPTR
PC
Các thanh ghi 16 bit của 8051
Các thanh ghi 8 bit của
8051
Một số lệnh cơ bản của 8051
MOV dest,source ; dest = source
MOV A,#72H ;A=72H
MOV A, #’r’ ;A=‘r’ OR 72H
MOV R4,#62H ;R4=62H
MOV B,0F9H ;B=nội dung ô nhớ thứ 79 trong RAM
MOV DPTR,#7634H

MOV DPL,#34H
MOV DPH,#76H
MOV P1,A ;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 8051
MOV AL,72H MOV A,#72H
MOV AL,’r’ MOV A,#’r’
MOV BX,72H
MOV AL,[BX] MOV A,72H
Chú ý 2:
MOV A,R3 ≡ MOV A,3
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]

×