1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

CHƯƠNG 3: HỌ VI ĐiỀU KHIỂN 8051 pptx

101 575 4
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Chương 3: Họ Vi Điều Khiển 8051
Người hướng dẫn Thầy Hồ Trung Mỹ
Trường học Điện tử - Đại học Bách Khoa Thành Phố Hồ Chí Minh
Chuyên ngành Kỹ thuật điện tử
Thể loại Chương
Năm xuất bản 2023
Thành phố TPHCM
Định dạng
Số trang 101
Dung lượng 3,67 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.. Định t

Trang 1

Hiệu đính từ slide của thây Hồ Trung Mỹ

Bộ môn Điện tử - DH BK TPHCM

CHUONG 3

HO VI DiEU KHIEN 8051

Trang 2

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

3.3 Các phương pháp định địa chỉ

Trang 3

3.1 Giới thiệu

họ vi điêu khiên 8051

Trang 4

Các kiên trúc vi điều khién

Trang 5

Họ VĐK 8051

° 8051 là vi điều khién dau tiên của họ vi điều khiên

MCS51 được Intel sản xuât vào năm 1980 Họ MCS5†1

là họ 8-bit có khả năng định địa chỉ 64KB bộ nhớ

ROM EPROM ROM (bytes) | (bytes) | cong I/O | dinh thi/ Bo

trong trong trong 8 bit dém 16 bit

8052 87C52 80C32 8K 256 4 3 CÓ

Chú ý: - Loạt S80C3X không có ROM/EPROM trong chịp

— Loạt 80C5X có ty 2KB dén 8KB ROM/EPROM trong chip

— Loat 89XX có bộ nhớ chương trình bên trong la “Flash EPROM”

— Loạt 80CXI có 128 byte RAM nội

— Loạt 80CX2 có 256 byte RAM nội

— Về công nghệ chế tạo: loạt 8SXXXX với công nghệ NMOS, loạt SXCXX với công nghệ CMOS

Trang 6

Comparison of MCS-51 ICs

Trang 7

3.2 Kiên trúc phần cứng 8051

Trang 9

Hình 3.9 Sơ đồ chân 8051

AD7 AD6 ADS5 AD4 AD3 AD2 ADI ADO

Al5 Al4 Al3 Al2 All Al0 A9 AS

Trang 10

Y 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 chan 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 l/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, c6 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 tinh

Trang 11

Các chức năng chuyên đổi ở Port 3

Bit Tên Địa chỉ bit Chức năng chuyển đổi

P3.0 RXD BOH Dữ liêu nhận cho port nối tiếp P3.1 TXD BiH Dữ liêu phát cho port nối tiếp

P3.2 INTO B2H Ngắt 0 bân ngoài

P3.3 INTI B3H Ngắt 1 bân ngoài

P3.4 TO B4H Ngõ vào của timer/counter 0O

P3.5 T1 BH Ngõ vào của timer/counter 1

P3.6 WR B6H Xung ghi bộ nhớ đữ liệu ngoài:

11

Trang 12

Hinh 3.3 Dao dong trén chip (C1=C2= 30pF + 10pF véi thach anh [crystal] va

C1=C2= 30pF + 10pF voi bo céng huởng gốm [ceramic resonator])

a) 8051 loại NMOS hoac CMOS b) chi cho loai NMOS c) chi cho loai CMOS

Trang 13

Câu trúc công I/O

¢ Kha nang lai la 4 tai TTL loại LS (Low Power

Schottky) với các công P1, P2, và P3; và § tải

TTL loại LS với công P0

¢ Chu y 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

Trang 15

Read Function

Int Bus

Write to Latch

Read Pin

15

Trang 17

Writing “1” to Output Pin P1.X

Trang 18

Writing “O” to Output Pin P1.X

8051 IC

pin

output 0

18

Trang 19

Reading “High” at Input Pin

Trang 20

Reading “Low” at Input Pin

Trang 21

Other Pins

PI, P2, and P3 have internal pull-up resisters

— P], P2, and P3 are not open drain

PO has no internal pull-up resistors and does not

connects to Vcc inside the 8051

— PO is open drain

— Compare the figures of P1.X and P0.X @i

However, for a programmer, it is the same to program

P0, PI, P2 and P3

All the ports upon RESET are configured as output

21

Trang 23

Port 0 with Pull-Up ResIstors

Trang 24

Port 3 Alternate Functions

Trang 25

Chu kỳ lệnh, chu kỳ máy và trạng thái

Hình 53.7 Chia một chu kỳ lệnh thành các chu kỳ máy và các trạng thái (Các chu kỳ

may Mi và tạng thái Si được vẽ trong là nhiệm ý)

25

Trang 27

Dôn kênh bus địa chỉ (byte thâp) và bus dữ liệu

X—

X—

2/

Trang 28

Truy cập bộ nhớ chương trình bên ngoài

28

Trang 29

Port O PCL Opcode PCL (on)

Hình 3.8 Giản đồ định thì đọc bộ nhớ chương trình bên ngoài 29

Trang 32

Câu trúc bộ nhớ 8051

DATA MEMORY (Bộ nhớ dữ liệu)

PROGRAM MEMORY (B6 nhé chương trình)

Trang 33

76 \75 \74 73 BO P3

B

5 3 AS IE D|SC|SB

5 [54 [53 AO P2 'D|4C|4B

5 3 99 không được địa chí hóa bit SBUF

13D|3C|3B 98 |97192E19D|92C}9B 9A |922 2S{ SCON

35 |34 |33

)|2C]2B 90 197 |96 195 194 193 192 |9/7 [90 | PI

5 |2 |23 I

"JJEI7D|7C|7B /9 SD không được địa chí hóa bit TH1

16 {15 \14 [13 [12 Yl SC không được địa chí hóa bit THO

OE |OD\OC|OB 09 SB không được địa chỉ hóa bít | TLT

@ }O5 {4 |03 O7 SA không được địa chí hóa bit TLO Bank 3 S9 không được địa chi héa bit | TMOD

(mac dinh cho RO-R7) SO 187 3 1 PO

RAM CAC THANH GHI CHUC NANG DAC BIET 33

Trang 34

34

Trang 35

Lower 128 Bytes of Internal RAM

17H 10H

OFH 08H

4 Banks of

8 Registers RO-R7

Reset Value of Stack Pointer

20H-2FH: 128 Bit-addressable bits occupying bit address OOH-/FH

30H-/7FH: General purpose RAM (can be accessed through direct or

indirect addressing)

35

Trang 36

Upper 128 Bytes of Internal RAM

Available as stack

space in devices with 256 bytes RAM Not implemented in 8051

Available only in 8052 Can be accessed by indirect

addressing only (via @RO or @R1) Can be used as stack

area by setting SP to FFH 36

Trang 37

Vùng nhớ 8032/8052

' Chỉ có thể truy cập | Truy cập được bằng

được bằng cách định | định địa chỉ trực tiếp

128 byte cao — địa chỉ gián tiếp

L

L

định địa chỉ trực tiếp| lung 4

Stack Pointer, Accumulator

XN

MOV Ri, #5FH (1 = 0 or 1) MOV A, 5FH

3/

Trang 38

D2H D1H DOH

Co nho (Carry flag)

Co nhé phu (Auxiliary carry flag)

Cờ 0

Chon bang thanh ghi, bit 1

Chon bang thanh ghi, bit 0

00 = bank 0; địa chỉ 00H-07H O1 = bank 1; địa chỉ 0SH-0FH

10 = bank 2; địa chỉ IOH-I7H

11 = bank 3; dia chi 1SH-1LFH

Co bao tran (Overflow flag)

Dự trữ

Cờ kiếm tra chẳn (Even parity flag)

38

Trang 39

PD IDL

Bit tăng gấp đôi tốc độ baud; khi được đặt lên 1 thì tốc độ baud

được tăng gấp đôi trong các chế độ cổng nối tiếp 1, 2, hoặc 3

Không được định nghĩa

Không được định nghĩa

Không được định nghĩa

Co da dung (General Purpose Flag), bit 1

Trang 40

Truy cập bộ nhớ chương trình bên ngoài

40

Trang 41

Định thi đọ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)

ALE

PSEN

ie Port 2 OX PCH (Byte cao của bộ đếm chương tinh) PCH

Trang 43

Giản đồ định thì cho lệnh MOVX

Port 2 x PCH DPH (Byte cao cua con tré dt liéu) x

43

Trang 44

Mạch giải mã dia chi cac EPROM 8KB va RAM 8KB voi hé 8051

Bus dia chi (AQ—A15)

Trang 45

Phủ lâp vùng nhớ dữ liệu và

chương trình bên ngoài

m ⁄

Trang 46

Hoạt đồng reset

46

Trang 48

Các giá trị thanh ghi sau khi reset hé thong

Trang 49

3.3 CÁC PHƯƠNG PHÁP

ĐỊNH ĐỊA CHỈ

49

Trang 50

Các cách định vi địa chỉ

¢ Be the way to access data

¢ 8051 has different addressing mode:

— Immediate (constant data}

— Register (register data}

— Direct (RAM data)

— Register indirect (RAM data)

— Indexed (ROM data)

Trang 51

(g) Long addressing (e.g., LIMP FAR_AHEAD)

Base register Offset

Trang 53

Số

Trang 54

Notes of Immediate Addressing

* Add “#” before any immediate data

# Only the source operand can be immediate

# Add “h” after a base-16 number, “b” after a

base-2 number; otherwise assumed base-10

# Use ‘ ’ to enclose any character

# Precede all base-76 numbers that begin with

A-F by a “0”

MO s#©Bh

MOV A,Z0ABH

54

Trang 55

mov r3,0E8h ‘machine code=ABE8

Trang 56

Addressing Modes

2) Direct Mode — play with RO-R7 by direct

address

MOV A,4 = MOV A,R4

MOV A,7 = MOV A,R7

MOV 7,6 = MOV>FEL, RE

MOV R2,#5 ;Put 5 in R2

56

Trang 57

Addressing Modes

2) Direct Mode — specify data by its 8-bit address

Usually for 30h-7Fh of RAM

Mov 56h,a ; put contents of a at 56h

Mov ODOh,a ; put contents of a into PSW

DATA MEMORY (RAM) INTERNAL DATA ADDRESS SPACE OxFF Upper 128 RAM Special Function

(Indirect Addressing Register's 0x80 Only) (Direct Addressing Only)

(Direct and Indirect

Addressing) Lower 128 RAM

0x30 (Direct and Indirect 0x2F

0x20 0x1F

Trang 58

Examples of Direct Addressing

Instruction Operation

MOV 80h,A or Copy contents of register A to location 80h

MOV A, 80h or Copy contents of location 80h (Port 0 pins) to

MOV IE, 77h register of SFRs | WOv direct,direct

Note: No “#’ sign in the instruction

08

Trang 59

Examples of Direct Addressing

MOV A, 2 ‘ copy location 02 (R2) toA MOV B, 2 ; copy location 02 (R2) to B MOV 7, 2 ; copy location 02 to 07 (R2 to R7)

‘since “MOV R7, R2” Is invalid

MOV DIRECT, DIRECT

[28 and Indirect aa ane

: Addressinc ¬ Control Bits,

Trang 60

Stack and Direct Addressing Mode

Only direct addressing mode is allowed for

pushing onto the stack

PUSH _ direct POP — direct

Trang 61

Example

Show the code to push R5, R6, and A onto the stack and then pop

them back into R2, R3, and B, where register B = register A, R2 = RO,

and R3 = RS

PUSH 05 ‘ push R5 onto stack

PUSH 06 ‘ push R6 onto stack

PUSH OEOh ‘ push register A onto stack

POP OFOh ‘ pop top of stack into register B

‘now register B = register A POP 02 ‘pop top of stack into R2

‘now R2 = R6

POP 03 ‘pop top of stack into R3

“now R3 = Rd

Trang 62

+

Notes of Direct Addressing

The address value is limited to one byte, OO — FFh (128- byte RAM and SFR)

Using MOV to move data from itself to itself can lead to

MOV data to a port changes the port latch

MOV data from port gets data from port pins

62

Trang 63

Addressing Modes

3) Register Addressing — either source or

destination is one of CPU register

Trang 64

O70D E8 mov a,xr0O

O '70E B9 mov a,r1

O7OF EA mov a,r2

0710 ED mov a,r5

O711 EF mov a,xr/

O712 2F add a,r7

Trang 65

Notes of Register Addressing

The most efficient addressing mode:

# No need to do memory access

+ Instructions are much shorter

* Result: soeed (hence efficiency) increased

# We can move data between Acc and Rn (n = 0

to 7) but movement of data between Rn

registers is not allowed

e.g MOV R4, R7 4œ (Invalid)

Trang 66

Why is the following invalid? “MOV R2, DPTR’

True or false DPTR is a 16-bit register that is also accessible in low-byte and high-byte formats

Is the PC (program counter) also available in low-

byte and high-byte formats?

66

Trang 67

Addressing Modes

4) Register Indirect — the address of the source or

destination is specified in registers

Uses registers RO or R1 for 8-bit address:

mov psw, #0 ; use register bank 0

Trang 68

070D 93 move a,@a+dptr

O70E 83 movc a,(a+pc

O70F EO movx a,@dptr

0710 FO movx @dptr,a

Trang 69

Use Register Indirect to access upper

(indtrect Addressing Register's

Ox7F

(Direct and Indirect

Addressing) Lower 128 RAM

Trang 70

(address ranges from 00h - 7Fh)

Register Indirect Addressing

# Use a register to hold the address of the operand; I.e using

| Timer,

_ Funclion s‹ Registers,

Stack Pointer, Accumulator

(Etc.)

70

Trang 71

Register Indirect Addressing (eg ADD A,@RO)

Trang 72

Examples of Indirect Addressing

Copy the number 35h to the address pointed to

Copy the contents of the port 0 pins to the address pointed to by register RO

Trang 73

Example

Write a program segment to copy the

value 55h into RAM memory locations

40h to 44h using:

(a) Direct addressing mode:

(bo) register indirect addressing mode

without a loop; and

(c) with a loop

13

Trang 74

Solution to Example (a)

40h, A; copy A to RAM location 40h 41h, A; copy A to RAM location 41h 42h, A; copy A to RAM location 42h 43h, A; copy A to RAM location 43h 44h, A; copy A to RAM location 44h

14

Trang 75

register indirect addressing mode without a loop

19

Trang 77

Example (looping)

Write a program segment to clear 15 RAM

locations starting at RAM address 60h

; clear one ram location at address 60h

Trang 78

Example (block transfer)

Write a program segment to copy a block of 10 bytes of

data from RAM locations starting at 35h to RAM

MOV A, @RO _ ; get a byte from source

MOV @R1,A — ; copy it to destination

INC RO ‘increment source pointer INC R1 ‘increment destination pointer DJNZ R3, BACK ; keep doing it for all ten bytes

78

Trang 79

Notes of Indirect Addressing

* Using pointer in the program enables handling

dynamic data structures ề an advantage

# Dynamic data: the data value is not fixed

# In this mode, we can defer the calculation of the

address of data and the determination of the amount

of memory to allocate at (program) runtime (eg

MOV A, @RO)

Register or direct addressing (eg MOV A, 30H) cannot be used ,

since they require operand addresses to be known at assemble-time

79

Trang 80

Addressing Modes

5) Register Indexed Mode — source or

destination address is the sum of the base

address and the accumulator (Index)

Trang 81

Addressing Modes

5) Register Indexed Mode continue

¢ Base address can be DPTR or PC

Trang 82

Indexed Addressing MOVC A, @A+PC

* Using a base register (starting point) and an

offset (how much to parse through) to form

the effective address for a JMP or MOVC

instruction

* Used to parse through an array of items ora

look-up table

# Usually, the DPTR Is the base register and the

“A” is the offset

+ A increases/decreases to parse through the

list

82

Trang 84

Examples of Indexed Addressing

Copy the code byte, found at the ROM address formed by adding A and the PC, to A Jump to the address formed by adding A to the DPTR, this is an unconditional jump and will always be done

84

Ngày đăng: 09/03/2014, 12:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối 8051/8031 - CHƯƠNG 3: HỌ VI ĐiỀU KHIỂN 8051 pptx
Sơ đồ kh ối 8051/8031 (Trang 8)

TỪ KHÓA LIÊN QUAN

w