Siêu thị PDFTải ngay đi em, trời tối mất

Thư viện tri thức trực tuyến

Kho tài liệu với 50,000+ tài liệu học thuật

© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

VXL_toan_tap pptx
MIỄN PHÍ
Số trang
53
Kích thước
265.3 KB
Định dạng
PDF
Lượt xem
1214

VXL_toan_tap pptx

Nội dung xem thử

Mô tả chi tiết

Giaùo trình VXL B Traàn Quang Hieáu

TOÙM TAÉT NOÄI DUNG VEÀ 89C51

I. Lyù Thuyeát veà 89C51

1. Baûng toùm taét caùc vuøng nhôù 8951.

Baûn ñoà boä nhôù Data treân Chip nhö sau :

7F FF

F0 F7 F6 F5 F4 F3 F2 F1 F0 B

RAM ña duïng

E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC

D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW

30 B8 - - - BC BB BA B9 B8 IP

2F 7F 7E 7D 7C 7B 7A 79 78

2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3

2D 6F 6E 6D 6C 6B 6A 69 68

2C 67 66 65 64 63 62 61 60 A8 AF AC AB AA A9 A8 IE

2B 5F 5E 5D 5C 5B 5A 59 58

2A 57 56 55 54 53 52 51 50 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2

29 4F 4E 4D 4C 4B 4A 49 48

28 47 46 45 44 43 42 41 40 99 khoâng ñöôïc ñòa chæ hoaù bit SBUF

27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON

26 37 36 35 34 33 32 31 30

25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1

24 27 26 25 24 23 22 21 20

23 1F 1E 1D 1C 1B 1A 19 18 8D khoâng ñöôïc ñòa chæ hoaù bit TH1

22 17 16 15 14 13 12 11 10 8C khoâng ñöôïc ñòa chæ hoaù bit TH0

21 0F 0E 0D 0C 0B 0A 09 08 8B khoâng ñöôïc ñòa chæ hoaù bit TL1

20 07 06 05 04 03 02 01 00 8A khoâng ñöôïc ñòa chæ hoaù bit TL0

1F Bank 3 89 khoâng ñöôïc ñòa chæ hoaù bit TMOD

18 88 8F 8E 8D 8C 8B 8A 89 88 TCON

17 Bank 2 87 khoâng ñöôïc ñòa chæ hoaù bit PCON

10

0F Bank 1 83 khoâng ñöôïc ñòa chæ hoaù bit DPH

08 82 khoâng ñöôïc ñòa chæ hoaù bit DPL

07 Bank thanh ghi 0 81 khoâng ñöôïc ñòa chæ hoaù bit SP

00 (maëc ñònh cho R0 -R7) 80 87 86 85 84 83 82 81 80 P0

Trang 1

Ñòa chæ

byte Ñòa chæ bit Ñòa chæ bit

Ñòa chæ

byte

Giaùo trình VXL B Traàn Quang Hieáu

1. Chöùc naêng cuûa caùc chaân cuûa 8951

a. port0 : laø port coù 2 chöùc naêng ôû treân chaân töø 32 ñeán 39 trong caùc thieát keá côõ

nhoû

( khoâng duøng boä nhôù môû roäng ) coù hai chöùc naêng nhö caùc ñöôøng IO. Ñoái vôùi caùc thieát

keá côõ lôùn ( vôùi boä nhôù môû roäng ) noù ñöôïc keát hôïp keânh giöõ a caùc bus )

b. port1 : port1 laø moät port I/O treân caùc chaân 1-8. Caùc chaân ñöôïc kyù hieäu P1.0,

P1.1, P1.2 … coù theå duøng cho caùc thieát bò ngoaøi neáu caàn. Port1 khoâng coù chöùc naêng

khaùc, vì vaäy chuùng ta chæ ñöôïc duøng trong giao tieáp vôùi caùc thieát bò ngoaøi.

c. port2 : port2 laø moät port coâng duïng keùp treân caùc chaân 21 – 28 ñöôïc duøng nhö

caùc ñöôøng xuaát nhaäp hoaëc laø byte cao cuûa bus ñòa chæ ñoái vôùi caùc thieát keá duøng boä nhôù

môû roäng.

d. Port3 : port3 laø moät port coâng duïng keùp treân caùc chaân 10 – 17. Caùc chaân cuûa

port naøy coù nhieàu chöùc naêng, caùc coâng duïng chuyeån ñoåi coù lieân heä vôùi caùc ñaëc tín ñaëc

bieät cuûa 8951 nhö ôû baûng sau :

18

19

12MHz

40

29

30

31

9

17

16

15

14

13

12

11

10

RD\

WR\

T1

T0

INT1

INT0

TXD

RXD

A15

A14

A13

A12

A11

A10

A9

A8

28

27

26

25

24

23

22

21

8

7

6

5

4

3

2

1

32

33

34

35

36

37

38

39

Po.7

Po.6

Po.5

Po.4

Po.3

Po.2

Po.1

Po.0

AD7

AD6

AD5

AD4

AD3

AD2

AD1

AD0

P1.7

P1.6

P1.5

P1.4

P1.3

P1.2

P1.1

P1.0

P2.7

P2.6

P2.5

P2.4

P2.3

P2.2

P2.1

P2.0

PSEN\

ALE

EA\

RET

Vcc

20

Vss

30p

30p

XTAL1

XTAL2

Trang 2

Giaùo trình VXL B Traàn Quang Hieáu

Bit Teân Chöùc naêng chuyeån ñoåi

P3.0 RXD Döõ lieäu nhaän cho port noái tieáp

P3.1 TXD Döõ lieäu phaùt cho port noái tieáp

P3.2 INTO Ngaét 0 beân ngoaøi

P3.3 INT1 Ngaét 1 beân ngoaøi

P3.4 TO Ngoõ vaøo cuûa timer/counter 0

P3.5 T1 Ngoõ vaøo cuûa timer/counter 1

P3.6 WR Xung ghi boä nhôù döõ lieäu ngoaøi

P3.7 RD Xung ñoïc boä nhôù döõ lieäu ngoaøi

Baûng 2.1 : Chöùc naêng cuûa caùc chaân treân port3

e. PSEN (Program Store Enable ) : 8951 coù 4 tín hieäu ñieàu khieån

PSEN laø tín hieäu ra treân chaân 29. Noù laø tín hieäu ñieàu khieån ñeå cho pheùp boä nhôù

chöông trình môû roäng vaø thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa moät

EPROM ñeå cho pheùp ñoïc caùc bytes maõ leänh.

PSEN seõ ôû möùc thaáp trong thôøi gian laáy leänh. Caùc maõ nhò phaân cuûa chöông trình

ñöôïc ñoïc töø EPROM qua bus vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8951 ñeå giaûi maõ

leänh. Khi thi haønh chöông trình trong ROM noäi (8951) PSEN seõ ôû möùc thuï ñoäng (möùc

cao).

f. ALE (Address Latch Enable ) :

tín hieäu ra ALE treân chaân 30 töông hôïp vôùi caùc thieát bò laøm vieäc vôùi caùc xöû lí

8585, 8088, 8086, 8951 duøng ALE moät caùch töông töï cho laøm vieäc giaûi caùc keânh caùc

bus ñòa chæ vaø döõ lieäu khi port 0 ñöôïc duøng trong cheá ñoä chuyeån ñoåi cuûa noù : vöøa laø

bus döõ lieäu vöøa laø buùyt thaáp cuûa ñòa chæ, ALE laø tín hieäu ñeå choát ñòa chæ vaøo moät thanh

ghi beân ngoaøi trong nöõa ñaàu cuûa chu kyø boä nhôù. Sau ñoù, caùc ñöôøng port 0 duøng ñeå xuaát

hoaëc nhaäp döõ lieäu trong nöõa sau chu kyø cuûa boä nhôù.

Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chip vaø coù

theå ñöôïc duøng laø nguoàn xung nhòp cho caùc heä thoáng. Neáu xung treân 8951 laø 12MHz thì

ALE coù taàn soá 2MHz. Chæ ngoaïi tröø khi thi haønh leänh MOVX, moät xung ALE seõ bò

maát. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho xung laäp trình cho EPROM trong 8951.

g. EA (External Access) :

Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc maéc leân möùc cao (+5V) hoaëc möùc

thaáp (GND). Neáu ôû möùc cao, 8951 thi haønh chöông trình töø ROM noäi trong khoaûng ñòa

chæ thaáp (4K). Neáu ôû möùc thaáp, chöông trình chæ ñöôïc thi haønh töø boä nhôù môû roäng. Khi

duøng 8031, EA luoân ñöôïc noái möùc thaáp vì khoâng coù boä nhôù chöông trình treân chip.

Trang 3

Giaùo trình VXL B Traàn Quang Hieáu

Neáu EA ñöôïc noái möùc thaáp boä nhôù beân trong chöông trình 8951 seõ bò caám vaø chöông

trình thi haønh töø EPROM môû roäng. Ngöôøi ta coøn duøng chaân EA laøm chaân caáp ñieän aùp

21V khi laäp trình cho EPROM trong 8951.

h. SRT (Reset) :

Ngoõ vaøo RST treân chaân 9 laø ngoõ reset cuûa 8951. Khi tín hieäu naøy ñöôïc ñöa leân

muùc cao (trong ít nhaát 2 chu kyø maùy ), caùc thanh ghi trong 8951 ñöôïc taûi nhöõng giaù trò

thích hôïp ñeå khôûi ñoäng heä thoáng.

i. Caùc ngoõ vaøo boä dao ñoäng treân chip :

Nhö ñaõ thaáy trong caùc hình treân , 8951 coù moät boä dao ñoäng treân chip. Noù thöôøng

ñöôïc noái vôùi thaïch anh giöõa hai chaân 18 vaø 19. Caùc tuï giöõa cuõng caàn thieát nhö ñaõ veõ.

Taàn soá thaïch anh thoâng thöôøng laø 12MHz.

J. Caùc chaân nguoàn :

8951 vaän haønh vôùi nguoàn ñôn +5V. Vcc ñöôïc noái vaøo chaân 40 vaø Vss (GND) ñöôïc noái

vaøo chaân 20.

c. Caùc bank thanh ghi :

32 byte thaáp nhaát cuûa boä nhôù noäi laø daønh cho caùc bank thanh ghi. Boä leänh cuûa

8951 hoå trôï 8 thanh ghi (RO ñeán R7) vaø theo maëc ñònh (sau khi Reset heä thoáng) caùc

thanh ghi naøy ôû caùc ñòa chæ 00H-07H. Leänh sau ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo

thanh ghi tích luõy.

MOV A,R5

Ñaây laø leänh moät byte duøng ñòa chæ thanh ghi. Taát nhieân, thao taùc töông töï coù theå

ñöôïc thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trong byte thöù hai:

MOV A,05H

Caùc leänh duøng caùc thanh ghi R0 ñeán R7 thì seõ ngaén hôn vaø nhanh hôn caùc leänh

töông öùng nhöng duøng ñòa chæ tröïc tieáp. Caùc giaù trò döõ lieäu ñöôïc duøng thöôøng xuyeân

neân duøng moät trong caùc thanh ghi naøy.

Bank thanh ghi tích cöïc coù theå chuyeån ñoåi baèng caùch thay ñoåi caùc bit choïn bank thanh

ghi trong töø traïng thaùi chöông trình (PSW). Giaû söû raèng bank thanh ghi 3 ñöôïc tích cöïc, leänh

sau seõ ghi noäi dung cuûa thanh ghi tích luõy vaøo ñòa chæ 18H:

MOV R0,A

YÙ töôûng duøng “caùc bank thanh ghi” cho pheùp “chuyeån höôùng” chöông trình

nhanh vaø hieäu quûa (töøng phaàn rieâng reõ cuûa phaàn meàm seõ coù moät boä thanh ghi rieâng

khoâng phuï thuoäc vaøo caùc phaàn khaùc).

Trang 4

Giaùo trình VXL B Traàn Quang Hieáu

2. Thanh ghi traïng ta thaùi.

Bit Kyù hieäu Ñòa chæ Yù nghóa

PSW.7

PSW.6

PSW.5

PSW.4

PSW.3

PSW.2

PSW.1

PSW.0

CY

AC

F0

RS1

RS0

OV

P

D7H

D6H

D5H

D4H

D3H

D2H

D1H

D0H

Côø nhôù

Côø nhôù phuï

Côø 0

Bit 1 choïn bank thanh ghi

Bit choïn bank thanh ghi.

00=bank 0; ñòa chæ 00H-07H

01=bank 1: ñòa chæ 08H-0FH

10=bank 2:ñòa chæ 10H-17H

11=bank 3:ñòa chæ 18H-1FH

Côø traøn

Döï tröõ

Côø Parity chaün.

• Côø nhôù (CY) coù coâng duïng keùp. Thoâng thöôøng noù ñöôïc duøng cho caùc leänh toaùn

hoïc: noù seõ ñöôïc set neáu coù moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá möôïn

pheùp tröø . Ví duï, neáu thanh ghi tích luõy chöùa FFH, thì leänh sau:

ADD A,#1

Seõ traû veà thanh ghi tích luõy keát quûa 00H vaø set côø nhôù trong PSW.

Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lyù thi haønh

treân bit. Ví duï, leänh seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quûa trôû vaøo côø nhôù:

ANL C,25H

• Côø nhôù phuï:

Khi coäng caùc soá BCD, côø nhôù phuï (AC) ñöôïc set neáu keát quûa cuûa 4 bit thaáp

trong khoaûng 0AH ñeán 0FH. Neáu caùc giaù trò coäng ñöôïc laø soá BCD, thì sau leänh coäng

caàn coù DA A( hieäu chænh thaäp phaân thanh ghi tích luõy) ñeå mang keát quûa lôùn hôn 9 trôû

veà taâm töø 0÷9.

• Côø 0

Côø 0 (F0)laø moät bit côø ña duïng daønh caùc öùng duïng cuûa ngöôøi duøng.

• Caùc bit choïn bank thanh ghi

Caùc bit choïn bank thanh ghi (RSO vaø RS1) xaùc ñònh bank thanh ghi ñöôïc tích

cöïc. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu

caàn. Ví duï, ba leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung cuûa thanh ghi

R7 (ñòa chæ byte IFH) ñeán thanh ghi tích luõy:

SETB RS1

SETB RSO

MOV A,R7

Trang 5

Tải ngay đi em, còn do dự, trời tối mất!