1. Trang chủ
  2. » Giáo án - Bài giảng

Giáo trình kỹ thuật vi xử lý phạm thị thùy dung (chủ biên)

129 14 0

Đ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

Định dạng
Số trang 129
Dung lượng 1,91 MB

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

Nội dung

Trang 1

TRƯ NG CAO Đ NG NGH  CÔNG NGHI P HÀ N I Ờ Ẳ Ề Ệ Ộ

Tác gi  (ch  biên) PH M TH  THÙY DUNGả ủ Ạ Ị

GIÁO TRÌNH

K  THU T VI X  LÝ Ỹ Ậ Ử

Trang 2

Hà N i năm 2012

Trang 3

Tuyên b  b n quy nố ả ề

Giáo trình này s  d ng làm tài li u gi ng d y n i b  trongử ụ ệ ả ạ ộ ộ  

trường cao đ ng ngh  Công nghi p Hà N iẳ ề ệ ộ

Trường Cao đ ng ngh  Công nghi p Hà N i không sẳ ề ệ ộ ử 

d ng và không cho phép b t k  cá nhân hay t  ch c nàoụ ấ ỳ ổ ứ  

s  d ng giáo trình này v i m c đích kinh doanh.ử ụ ớ ụ

M i trích d n, s  d ng giáo trình này v i m c đích khácọ ẫ ử ụ ớ ụ  

hay   n i khác đ u ph i đở ơ ề ả ược s  đ ng ý b ng văn b nự ồ ằ ả  

c a trủ ường Cao đ ng ngh  Công nghi p Hà N iẳ ề ệ ộ

Trang 4

L I NÓI Đ U Ờ Ầ

Trong chương trình đào t o c a các trạ ủ ường trung c p ngh , cao đ ngấ ề ẳ  ngh  th c hành ngh  gi  m t v  trí r t quan tr ng: rèn luy n tay nghề ự ề ữ ộ ị ấ ọ ệ ề cho h c sinh. Vi c d y th c hành đòi h i nhi u y u t : v t t  thi t b  đ yọ ệ ạ ự ỏ ề ế ố ậ ư ế ị ầ  

đ  đ ng th i c n m t giáo trình n i b , mang tính khoa h c và đáp  ngủ ồ ờ ầ ộ ộ ộ ọ ứ  

v i yêu c u th c t ớ ầ ự ế

N i dung c a giáo trình “K  THU T VI X  LÝ ” đã độ ủ Ỹ Ậ Ử ược xây d ng  trên c  s  k  th a nh ng n i dung gi ng d y c a các trơ ở ế ừ ữ ộ ả ạ ủ ường, k t h p v iế ợ ớ  

nh ng n i dung m i nh m đáp  ng yêu c u nâng cao ch t lữ ộ ớ ằ ứ ầ ấ ượng đào t o  

ph c v  s  nghi p công nghi p hóa, hi n đ i hóa đ t nụ ụ ự ệ ệ ệ ạ ấ ước,. 

Giáo trình n i b  này do các nhà giáo có nhi u kinh nghi m nhi u nămộ ộ ề ệ ề  làm công tác trong ngành đào t o chuyên nghi p. Giáo trình đạ ệ ược biên so n  

ng n g n, d  hi u, b  sung nhi u ki n th c m i và biên so n theo quanắ ọ ễ ể ổ ề ế ứ ớ ạ  

đi m m , nghĩa là, đ  c p nh ng n i dung c  b n, c t y u đ  tùy theo tínhể ở ề ậ ữ ộ ơ ả ố ế ể  

ch t c a các ngành ngh  đào t o mà nhà trấ ủ ề ạ ường t  đi u ch nh cho thíchự ề ỉ  

h p và không trái v i quy đ nh c a chợ ớ ị ủ ương trình khung đào t o cao đ ngạ ẳ  ngh

Tuy các tác gi  đã có nhi u c  g ng khi biên so n, nh ng giáo trình ch cả ề ố ắ ạ ư ắ  

ch n không tránh kh i nh ng thi u sót, r t mong nh n đắ ỏ ữ ế ấ ậ ượ ực s  tham gia đóng góp ý ki n c a các b n đ ng nghi p và các chuyên gia k  thu t đ uế ủ ạ ồ ệ ỹ ậ ầ  ngành

Trang 5

Phân bi t đệ ược các choc năng c a các vi m ch.ủ ạ

Nh n bi t và thao tác toán h c trên các h  đ m 2, 8,16.ậ ế ọ ệ ế

Trang 6

C u trúc c a m t h  th ng máy tínhấ ủ ộ ệ ố1.2 Ch c năng c a các kh i.ứ ủ ố

­ Bus h  th ng ệ ố : t p h p các đậ ợ ường dây đ  CPU có th  liên k t V i các bể ể ế ớ ộ 

ph n khácậ

1.2.1. B  nh  trung tâm ộ ớ

Kh i x  lý trung tâm (CPU – Central Processing Unit) ố ử : nh n và th c thi cácậ ự  

l nh. Bên trong CPU g m các m ch đi u khi n logic, m ch tính toán s  h c, …ệ ồ ạ ề ể ạ ố ọ1.2.2. Kh i tính toán s  h c – Lô gíc: ố ố ọ

Th c hi n các phép toán s  h c c  s  +, ­, x, /. ự ệ ố ọ ơ ở

­ Th c hi n các phép toán logic AND, OR, NOT, XOR.ự ệ

­ T t c  các phép toán đấ ả ược th c hi n   c  s  2 (h  nh  phân).ự ệ ở ơ ố ệ ị

Đi u khi n quá trình x  lý thông tin b ng cách t o ra các l nh đi u khi n.ề ể ử ằ ạ ệ ề ể

­ Đi u khi n h  th ng theo trình t  th i gian, liên quan đ n các kh i khác,ề ể ệ ố ự ờ ế ố  quy t đ nh t c đ  ho t đ ng c a máy tính.ế ị ố ộ ạ ộ ủ

Trang 7

nh  đớ ược gán m t đ a ch  đ  CPU có th  đ nh v  khi c n đ c hay ghi d  li u.ộ ị ỉ ể ể ị ị ầ ọ ữ ệ

­ Đ  tăng c ể ườ ng dung l ượ ng nh  cho máy tính, trong quá trình làm vi c nó ớ ệ  

th ườ ng trao đ i V i kh i nh  trong ổ ớ ố ớ

­ Dung l ượ ng nh  l n nh ng th i gian truy c p s  li u lâu ớ ớ ư ờ ậ ố ệ

­ Khi m t đi n thì n i dung ch a trong ROM không b  m t ấ ệ ộ ứ ị ấ

1.2.5. Kh i vào ra  ố

­ Bi n đ i các tín hi u v t lý đ u vào thành các tín hi u s  h  2 đ  MT cóế ổ ệ ậ ầ ệ ố ệ ể  

th  x  lý để ử ược (bàn phím. chu t…). Và ngộ ượ ạc l i (màn hình…)

­ Thi t b  ngo i vi (Input / Output) ế ị ạ : dùng đ  nh p hay xu t d  li u. Bàn phím,ể ậ ấ ữ ệ  chu t, scanner, … thu c thi t b  nh p; màn h.nh, máy in, … thu c thi t b  xu t.ộ ộ ế ị ậ ộ ế ị ấ  Các   đĩa thu c b  nh  ngoài cũng có th  coi v a là thi t b  xu t v a là thi t bổ ộ ộ ớ ể ừ ế ị ấ ừ ế ị 

nh p. Các thi t b  ngo i vi liên h  V i CPU qua các m ch giao ti p I/O (I/Oậ ế ị ạ ệ ớ ạ ế  interface)/

2. H  đ m. ệ ế

2.1. H  th ng c  s  10.ệ ố ơ ố

Trang 8

Trong cu c s ng hàng ngày chúng ta s  d ng h  c  s  10 (hay còn g i là hộ ố ử ụ ệ ơ ố ọ ệ D) bi u di n các giá tr  c a tr  s  H  này bao g m t  h p t  0 – 9 đ  bi u di nể ễ ị ủ ị ố ệ ồ ổ ợ ừ ể ể ễ  các giá tr  s , có th  đi kèm thêm ch  D đ  ch  r ng h  đó là h  c  s  10.ị ố ể ữ ể ỉ ằ ệ ệ ơ ố

2.2. H  th ng c  s  2ệ ố ơ ố  (H  hai ho c vi t t t B): ệ ặ ế ắ

Là h  đ m trong máy tính dùng đ  bi u di n m t giá tr  s  trong đó g m 2ệ ế ể ể ễ ộ ị ố ồ  

ch  s  0 và 1 tữ ố ương  ng (tứ ương  ng V i có đi n và không có đi n c a m chứ ớ ệ ệ ủ ạ  

Đ n v  các lo i d  li uơ ị ạ ữ ệ  :

Bit : Là các mã nh  phân đị ược bi u di n b ng 2 s  0 và 1.ể ễ ằ ố

Byte : được bi u di n b ng 8 bitsể ễ ằ

Nibble : n a  byte ho c 4 bitử ặ

Word : t  g m 2 byte ho c 16 bitừ ồ ặ

Các đ n v  dùng đ  mô t  s  lơ ị ể ả ố ượng c a vùng nh  trong máy tínhủ ớ  :

Trang 9

­ Chuy n 25/D sang nh  phân không d u. Dùng phể ị ấ ương pháp chia 2 liên ti pế

    Chia 2       Thương s          D  số ư ố25/2       =       12       1        LSB

­ Byte : 8 bít n i ti p nhau = 1 byte .ố ế

­ Word : ( t  ) : 2 byte = 1 t  . byte bên ph i là byte th p , byte bênừ ừ ả ấ  trái là byte cao 

­ C u trúc 1 t  :ấ ừByte cao Byte th pấ

MSB        LSB

1 kilô byte = 210 = 1024 .1Mega byte = 220 

Trang 10

3. H  th ng c  s  16 (h  th p l c phân Hexadecimal) quen g i là s  Hexa. ệ ố ơ ố ệ ậ ụ ọ ố

­ Cũng g i là h  đ m c  s  mọ ệ ế ơ ố ười sáu

­ S  c  b n là 16. ố ơ ả

­ S  d ng 16 ký hi u đ  bi u di n: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.ử ụ ệ ể ể ễ

­ M i ký hi u tỗ ệ ương  ng V i 4­bit.ứ ớ

­   M c   đích:   Bi u   di n   s   nh   phân  ụ ể ễ ố ị ở   d ng   ng n   g nạ ắ ọ      11110000/B  =       F0/H    

+ Chuy n s  hexa 2F8 và ABBA sang nh  phân b ng cách thay th  m i kýể ố ị ằ ế ỗ  

hi u hexa b ng 4­bit tệ ằ ương  ng ứ V i nó.ớ

       2       F      8

        0010       1111       1000

        A      B      B      A

     1010       1011        1011         1010

Trang 11

­   K t   qu       2F8/H   =   001011111000/Bế ảABBA/H = 1010101110111010/B

Trang 12

­ Khi cho 1 s  h  2, n u ta tinh đố ệ ế ́ ượ ốc s  khác có s  bít tố ương  ng mà có t ngứ ổ  

c a s  đó cho V i s  v a tinh đủ ố ơ ố ừ́ ́ ược có t t c  các bít đ u là 1 thì s  tinh đấ ả ề ố ́ ượ  c

­ Khi cho 1 s  h  2 co N b t, n u ta tinh đố ệ ́ ớ ế ́ ượ ốc s  khác có s  bít tố ương  ngứ  

mà có t ng c a s  đó cho V i s  v a tinh đổ ủ ố ơ ố ừ́ ́ ược có t t c  các bít đ u là 0, ngo iấ ả ề ạ  

tr  bít s  N + 1 b ng 1 thì s  tinh đừ ố ằ ố ́ ược g i là s  bù 2.ọ ố

Trang 13

VD cho s  10101  ­­> s  bu 1 là      01010ố ố ̀

       +  00001

      S  bu 2 là ­­>   01011       ố ̀

c. S  BCD (ố Binary Coded Decimal)

­ S  BCD dùng đ  bi u di n tr c ti p h  10 thành h  2. N u ta thay m i chố ể ể ễ ự ế ệ ệ ế ỗ ữ 

s  th p phân b ng 4 s  nh  phân thì s  t o thành g i là s  BCD. ố ậ ằ ố ị ố ạ ọ ố

­ M i ch  s  th p phân đỗ ữ ố ậ ược bi u di n b ng m t t  h p 4­bitể ễ ằ ộ ổ ợ

Trang 14

S  đ  logicơ ồ B ng ch c năngả ứ Bi u tể ượng

+ Trig  thu c lo i m ch không đ ng b  có hai tr ng thái  n đ nh b n theo Th iơ ộ ạ ạ ồ ộ ạ ổ ị ề ờ  gian  ng v i hai m c logic "1" và "0". ứ ớ ứ

+ Tr ng thái c a Trig  có th  thay đ i khi tác đ ng xung lên các đ u vào. ạ ủ ơ ể ổ ộ ầ

+ Tr ng thái tạ ương lai c a Trig  không nh ng ph  thu c vào các bi n vào mà cònủ ơ ữ ụ ộ ế  

ph  thu c vào tr ng thái hi n t i. ụ ộ ạ ệ ạ

Trang 15

+Khi côngng tác đ ng xung lên các đ u vào , tr ng thái Trig  gi  nguyên, v i đ c̉ ộ ầ ạ ơ ữ ớ ặ  

đi m này các m ch Trig  để ạ ơ ược dùng đ  l u tr  thông tin dể ư ữ ư i d ng mã nh  phân.ớ ạ ị

­ n + 1: Tr ng thái tạ ương lai. 

­  x: Tr ng thái c m t i đó giá tr  c a hàm ra là không xác đ nh (chú ý). ạ ấ ạ ị ủ ị

b. M ch Trig  đ ng b ạ ơ ồ ộ

+ Ng i ta mu n Trig  ch  ph n  ng vào nh ng th i đi m xác  đ nh, đi u này đờ ố ơ ỉ ả ứ ữ ờ ể ị ề ư cợ  

th c hi n b ng cách đ a thêm t i đ u vào tín hi u ph  C đự ệ ằ ư ớ ầ ệ ụ ư c g i là tín hi u đ ng b  ợ ọ ệ ồ ộ+ Khi C = "0" thì tr ng thái Trig  gi  nguyên. ạ ơ ữ

+ Khi C = "1" ho t đ ng c a s  đ  gi ng Trig  R­S không đ ng b  nhạ ộ ủ ơ ồ ố ơ ồ ộ ư  đã phân tích   ph n trên. ở ầ

­ Khi C = 0, tr ng thái c a Trig  gi  nguyên ạ ủ ơ ữ  Qn+1 = Qn

­ Khi C = 1, giá tr  đ u ra Trig  nh n giá tr  đị ầ ơ ậ ị a đ n đ u vào D  ế ầ  Qn+1 = Dn.  

1 2

3

1 2

3

1 2

3

1 2

3

R C S

Trang 16

d. M ch Trig  chính ph  (Trig  M­S).ạ ơ ụ ơ

­ Thông th ng đ  tránh  nh hờ ể ả ưởng c a nhi u, tăng đ  tin c y trong vi c ghi và đ củ ễ ộ ậ ệ ọ  thông tin, t  R­S Trig  ngừ ơ ời ta xây d ng các Trig  M­S b ng cách ghép hai Trig  R­Sự ơ ằ ơ  

đ ng b  liên ti p nhau. Khi đó vi c ghi thông tin ch  x y ra khi l i ra b  khoá và ngồ ộ ế ệ ỉ ẩ ố ị ượ  c

l i vi c đ c thông tin ch  x y ra khi l i vào đã b  khoá.ạ ệ ọ ỉ ẩ ố ị

­ Nhóm các ph n t  G1, G2, G3, G4 t o nên R­S Trig  chính.ầ ử ạ ơ

­ Nhóm G5, G6, G7, G8 t o nên R­S Trig   ph ạ ơ ụ

­ Hai nhóm làm vi c v i hai dãy xung nh p C ngệ ớ ị ư c pha nhau nh  c a đ o G9.ợ ờ ử ả

­ Khi biên đ  xung tăng t i m c b thông tin đ t t i l i vào s  độ ớ ứ ặ ớ ố ẽ ược ghi vào Trigơ chính

­ T i s n âm khi biên đ  xung gi m t i m c d Trig  chính b  ng t kh i l i vào nhạ ườ ộ ả ớ ứ ơ ị ắ ỏ ố ờ 

+ B  đ m dùng đ  đ m s  lộ ế ể ế ố ượng xung đ a t i đ u vào, k t qu  đ c th  hi nư ớ ầ ế ả ượ ể ệ  

b ng các bit   đ u ra ( theo quy lu t s  nh  phân)ằ ở ầ ậ ố ị

3.3.1. M ch đ m ạ ế

­ Đ m các tín hi u đ u vào và th  hi n   đ u ra mã s  m i.ế ệ ầ ể ệ ở ầ ố ớ

­ Có 2 lo i b  đ m:ạ ộ ế

G 9

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

1 2 3

C1 G G 2

G 3

G 4

G 5

G 6

G 7

G 8

R

S

Q Q

U

b

 e

X u n g   n h

p   C

 t5

v

Trang 17

       * B  đ m không đ ng b : không đ ng th i đ a tín hi u đ m vào các đ u vàoộ ế ồ ộ ồ ờ ư ệ ế ầ  

c a các triggerủ

       * B  đ m đ ng b : có xung đ m đ ng th i là xung đ ng h  clock đ a vào t tộ ế ồ ộ ế ồ ờ ồ ồ ư ấ  

c  các Trig¬ c a b  đ mả ủ ộ ế

­ C u t o b ng các m ch l t Flip – Flop.ấ ạ ằ ạ ậ

­ B  đ m tiộ ế ế  : Khi co xung vn ́ ào thì đ uầ  ra co gí ỏ trị nhị phân tăng lên m tộ  m cứ  giỏ  trị

­ B  đ m lùi : khi co xung vộ ế ́ ào thì đ uầ  ra co gí ỏ trị nhị phân gi m đi mả ộ  m ct ứ  giỏ  trị

­ B ng tr ng thái các trig  đ m c a b  đ m nh  phân ti n 3 bit. ả ạ ơ ế ủ ộ ế ị ế

3.3.2. M ch bi n đ i mã.ạ ế ổ

­ Ma húa là vi c s  d ng ký hi u đ  bi u di n đ c tr ng cho m t đ i t ng nào đó.̃ ệ ử ụ ệ ể ể ễ ặ ư ộ ố ượ

­ Ký hi u t ng  ng v i m t đ i t ng đ c g i là t  ma.̃ệ ươ ứ ớ ộ ố ượ ượ ọ ừ

­ Th  d :ớ ụ

Q 0

T

n   h i

u   đ k

X u n g Đ

ế

m

Q

2 C

C á

c  b

ít  đ

u  r a

Giản đ  th i gian minh ho  ho t đ ng c a b   ồ ờ ạ ạ ộ ủ ộ

đ m nh  phân ế ị ti nế  4 bit, môđun 16 (l p v i sậ ớ ườ

âm)

t

X u n g   v à o

t

t

t

t

0 1 0 1 0 1 0 1 0 1

0 1 0 1 0 1 0

0 1 0 1 0

1 0 1 0

0 1 0

1 0

0 1

0

t Q 0 Q 1 Q 2 Q 3 1 2 3 4 5 6 7 8 9 10 11 12

13 14 15 16

T h i

ế

t   l

p

Trang 18

­ Ch c năng: th c hi n vi c ma húa các tín hi u t ng  ng v i các đ i t ng thànhứ ự ệ ệ ̃ ệ ươ ứ ớ ố ượ  các t  ma nh  phân.ừ ̃ ị

­ VD:

3.3.3. M ch d n kênh , tách kênh .ạ ồ

­  M ch d n kênh hay cũn g i là m ch gh p kênh, đa h p (Multiplexer­MUX)ạ ồ ọ ạ ộ ợ  

là 1 d ng m ch t  h p cho phép ch n 1 trong nhi u đạ ạ ổ ợ ọ ề ường công vào song song̉  (các kênh vào) đ  đ a t i 1 công ra (g i là kênh truy n n i ti p). Vi c ch nể ư ớ ̉ ọ ề ố ế ệ ọ  

đường nào trong các đường công vào do các công ch n quy t đ nh. Nó ho t đ ng̉ ̉ ọ ế ị ạ ộ  

nh  1 công t c nhi u v  trí đư ắ ề ị ược đi u khi n b i ma s  Ma s  này là d ng s  nhề ể ở ̃ ố ̃ ố ạ ố ị phân, tu  t  h p s  nh  phân này mà   b t ky th i đi m nào ch  có 1 công vàoỳ ổ ợ ố ị ở ấ ̀ ờ ể ỉ ̉  

được ch n và cho phép đ a t i công ra.ọ ư ớ ̉

­ B  chuy n m ch phân kênh hay cũn g i là tach kênh, gi i đa h p (demultiplexer)ộ ể ạ ọ ́ ả ợ  

có ch c năng ng c l i v i m ch d n kênh t c là : tach kênh truy n thành 1 trong cácứ ượ ạ ớ ạ ồ ứ ́ ề  kênh d  li u song song tu  vào ma ch n công vào. Co th  xem m ch tach kênh gi ngữ ệ ỳ ̃ ọ ̉ ́ ể ạ ́ ố  

nh  1 công t c c  khí đ c đi u khi n chuy n m ch b i ma s  Tu  theo ma s  đ cư ắ ơ ượ ề ể ể ạ ở ̃ố ỳ ̃ố ượ  

áp vào công ch n mà d  li u t  1 đ ng s  đ c đ a ra đ ng nào trong s  các̉ ọ ữ ệ ừ ườ ẽ ượ ư ườ ố  

đ ng song song.ườ

­ Các m ch tách kênh th ng g p là 1 sang 2, 1 sang 4, 1 sang 8,  Nói chung t  1ạ ườ ặ ừ  

đ ng có th  đ a ra 2n đ ng, và s  đ ng đ  ch n s  ph i là n. ườ ể ư ườ ố ườ ể ọ ẽ ả

3.3.4.M ch nhạ ớ

­ Thanh ghi là m t nhóm các flipflop độ ược k t n i song song đ  l u tr  cácế ố ể ư ữ  

s  ố nh  phân. Giá tr  nh  phân s  đị ị ị ẽ ược đ a vào công vào c a các flipflop. Khi co tacư ̉ ủ ́ ́ 

đ ng ộ c nh lên c a tín hi u CLK thì công ra các flipflop s  l u tr  giá tr  nh  phânạ ủ ệ ̉ ẽ ư ữ ị ị  

B ộ

m ó

h ú a

A B C D

S

0

S

1

Trang 19

cho đ n khi m t s  nh  phân m i đ c đ a vào và tác đ ng m t c nh lên cho tínế ộ ố ị ớ ượ ư ộ ộ ạ  

hi u CLK.ệ

Trang 20

BÀI 2: KI N TRÚC VÀ NGUYÊN LÝ C A VI X  LÝẾ Ủ Ử

1. Đ nh nghĩa, phân lo i, tính ch t b  vi x  lý .ị ạ ấ ộ ử

1.1. Đ nh nghĩa.ị

I.  Đ nh nghĩa.ị

­ Vi x  lý là 1 vi m ch đi n t  c  l n (LSI) ho c c  c c l n (VLSI) mà trên đó cóử ạ ệ ử ỡ ớ ặ ỡ ự ớ  

th  x  lý đ c tín hi u theo 1 ch ng trình cho tr c (thu t toán cho tr c).ể ử ượ ệ ươ ướ ậ ướ

­ Vi x  lý g m 2 ph n: ph n c ng là các vi m ch đi n t , ph n m m là thu t toánử ồ ầ ầ ứ ạ ệ ử ầ ề ậ  

đ  x  lý tín hi uhay cũn g i là t p l nh đ  x  lý theo ch ng trình. ể ử ệ ọ ậ ệ ể ử ươ

­ 90% vi x  lý d ng đ  đi u khi n các h  th ng.ử ự ể ề ể ệ ố

­ Trong ph m vi m t h  vi x  lý, theo th i gian và theo c ng ngh  ch  t o cú cácạ ộ ọ ử ờ ụ ệ ế ạ  

đ i (th  h ) vi x  lý khác nhau phân bi t theo Đ  dài T  c a chúng (bit) và t c đ  (Hz).ờ ế ệ ử ệ ộ ừ ủ ố ộ

­ Đ  dài T  (Word Length) c a m t chip vi x  lý là k ch c  t i đa c a các toán h ngộ ừ ủ ộ ử ớ ỡ ố ủ ạ  

nh  phân mà nó có th  th c hi n các phép toán trên đó.ị ể ự ệ

­ B  vi x  lý đ u ti n c a Intel 4004, đ c gi i thi u vào năm 1971, 4004 ch a 2300ộ ử ầ ờ ủ ượ ớ ệ ứ  transistor

­ B  vi x  lý Pentium 4 hi n nay ch a 55 tri u transistor.ộ ử ệ ứ ệ

­ S  chân tín hi u đ a ch  nói lên kh  năng qu n lý đ a ch  c a m ch VXL. N uố ệ ị ỉ ả ả ị ỉ ủ ạ ế  

m ch cú ạ n tín hi u đ a ch  thì cú th  qu n lý đ c 2ệ ị ỉ ể ả ượ n đ a ch ị ỉ

Trang 21

­ S  chân tín hi u c a m ch VXL càng nhi u thì càng hoàn ch nh.ố ệ ủ ạ ề ỉ

S  đ  kh i c a vi x  lý s  trình bày c u trúc c a m t vi x  lý. M i m t viơ ồ ố ủ ử ẽ ấ ủ ộ ử ỗ ộ  

x  lý khác nhau s  có c u trúc khác nhau. Ví d  vi x  lý 8 bit s  có c u trúc khácử ẽ ấ ụ ử ẽ ấ  

V i vi x  lý 16 bit  ớ ử

Vi m i vi x  lý đ u có m t s  đ  c u trúc bên trong và đ́ ỗ ử ề ộ ơ ồ ấ ược cho trong các sổ tay c a nhà ch  t o. S  đ  c u trúc   d ng kh i r t ti n l i và d  trình bàyủ ế ạ ơ ồ ấ ở ạ ố ấ ệ ợ ễ  nguyên lý ho t đ ng c a vi x  lý. Hình 2­1 trình bày s  đ  kh i c a vi x  lý 8ạ ộ ủ ử ơ ồ ố ủ ử  bit: 

Trong s  đ  kh i c a vi x  lý bao g m các kh i chính nh  sau: kh i ALU,ơ ồ ố ủ ử ồ ố ư ố  các thanh ghi và kh i control logic. Ngoài ra s  đ  kh i còn trình bày các đố ơ ồ ố ườ  ngtruy n t i tín hi u t  n i này đ n n i khác bên trong và bên ngoài h  th ng.ề ả ệ ừ ơ ế ơ ệ ố

2.2 S  đ  c u trúc b  vi x  lýơ ồ ấ ộ ử  .

ALU là kh i quan tr ng nh t c a vi x  lý, kh i ALU ch a các m ch đi n tố ọ ấ ủ ử ố ứ ạ ệ ử logic chuyên v  x  lý d  li u. Kh i ALU có 2 đ u vào có tên là “IN” – là cácề ử ữ ệ ố ầ  

đ u vào d  li u cho ALU x  lý và 1 đ u ra có tên là “OUT” – là tín hi u ra k tầ ữ ệ ử ầ ệ ế  

qu  d  li u sau khi ALU x  lý xong. ả ữ ệ ử

Trang 22

D  li u trữ ệ ước khi vào ALU được ch a   thanh ghi t m th i (Temporarilyứ ở ạ ờ  Register) có tên là TEMP1 và TEMP2. Bus d  li u bên trong vi x  lý đữ ệ ử ược k tế  

n i V i 2 đ u vào “IN” c a ALU thông qua 2 thanh ghi t m th i. Vi c k t n iố ớ ầ ủ ạ ờ ệ ế ố  này cho phép ALU có th  l y b t k  d  li u nào trên bus d  li u bên trong vi xể ấ ấ ỳ ữ ệ ữ ệ ử 

lý. 

S  đ  c u trúc bên trong c a vi x  lýơ ồ ấ ủ ử

Thường thì ALU luôn l y d  li u t  m t thanh ghi đ c bi t có tên làấ ữ ệ ừ ộ ặ ệ  Accumulator (A). Đ u ra OUT c a ALU cho phép ALU có th  g i k t d  li uầ ủ ể ở ế ữ ệ  sau khi x  lý xong lên bus d  li u bên trong vi x  lý, do đó thi t b  nào k t n iử ữ ệ ử ế ị ế ố  

Trang 23

V i bus bên trong đ u có th  nh n d  li u này. Thớ ề ể ậ ữ ệ ường thì ALU g i d  li u sauở ữ ệ  khi x  lý xong t i thanh ghi Accumulator. ử ớ

Ví d  khi ALU c ng 2 d  li u thì m t trong 2 d  li u đụ ộ ữ ệ ộ ữ ệ ược ch a trong thanhứ  ghi Accumulator, sau khi phép c ng độ ược th c hi n b i ALU thì k t qu  s  g iự ệ ở ế ả ẽ ở  

tr  l i thanh ghi Accumulator và l u tr    thanh ghi này. ở ạ ư ữ ở

ALU x  lý m t d  li u hay 2 d  li u tùy thu c vào l nh hay yêu c u đi uử ộ ữ ệ ữ ệ ộ ệ ầ ề  khi n, ví d  khi c ng 2 d  li u thì ALU s  x  lý 2 d  li u và dùng 2 đ u vàoể ụ ộ ữ ệ ẽ ử ữ ệ ầ  

“IN” đ  nh p d  li u, khi tăng m t d  li u nào đó lên 1 đ n v  hay l y bù m tể ậ ữ ệ ộ ữ ệ ơ ị ấ ộ  

d  li u, khi đó ALU ch  x  lý 1 d  li u và ch  c n m t đ u vào “IN”. ữ ệ ỉ ử ữ ệ ỉ ầ ộ ầ

Kh i ALU có th  th c hi n các phép toán x  lý nh  sau: ố ể ự ệ ử ư

Add Complement OR Exclusive OR 

Subtract Shift right Increment 

AND Shift left Decrement 

Tóm T t: Ch c năng chính c a kh i ALU là làm thay đ i d  li u hay chuyênắ ứ ủ ố ổ ữ ệ  

v  x  lý d  li u nh ng không l u tr  d  li u. Đ  hi u rõ thêm ch c năng đ cề ử ữ ệ ư ư ữ ữ ệ ể ể ứ ặ  

bi t c a ALU c n ph i kh o sát m t vi x  lý c  th ệ ủ ầ ả ả ộ ử ụ ể

2.3. T  ch c và qu n lý b  nh  .ổ ứ ả ộ ớ

2.4 .Các c ng vào ra.ổ

2.5. Các m ch ph  tr  .ạ ụ ợ

Trang 24

3. Nguyên lý làm vi c c a Vi x  lý . ệ ủ ử

3.1. Trình t  th i gian th c hi n l nh ự ờ ự ệ ệ

­ X  lý trình t  g m 2 ph n: Nh n l nh và thi hành l nh.ử ự ồ ầ ậ ệ ệ

­ Toàn b  th i gian đ  th c hi n 1 l nh g i là chu k  l nh.ộ ờ ể ự ệ ệ ọ ỳ ệ

­ Chu k  l nh chia ra nhi u chu k  máy.ỳ ệ ề ỳ

­ 1 chu k  máy chia ra nhi u nh p.ỳ ề ị

­ Là quá trìnht m d ng ho t đ ng c a ch ng trình ch nh đ  chuy n sang th cạ ừ ạ ộ ủ ươ ớ ể ể ự  

hi n 1 ch ng trình kh c g i là ch ng trình ph c v  ng t.ệ ươ ỏ ọ ươ ụ ụ ắ

­ Sau khi th c hi n xong thì l i tr  v  ch ng trình ch nh.ự ệ ạ ở ề ươ ớ

­ Mu n th c hi n ng t ph i có yêu c u ng t, sau đó VXL xem xét yêu c u n u h pố ự ệ ắ ả ầ ắ ầ ế ợ  pháp thì nú th c hi n n t chi k  máy cu i c ng sau đó nó chuy n sang ng t.ự ệ ố ỳ ố ự ể ắ

3.2.3. Ch  đ  treo.ế ộ

­ Yêu c u treo t  ngoài vào.ầ ừ

­ Treo đ c ch p nh n thì VXL th c hi n n t nh p cu i c ng c a chu k  máy.ượ ấ ậ ự ệ ố ị ố ự ủ ỳ

Trang 25

­ Chuy n sang treo : * Tr  l i đ ng ý treo.ể ả ờ ồ

      * T o ra t ng tr  vô cùng   các chân đ a ch  , s  li u và đi uạ ổ ở ở ị ỉ ố ệ ề  khi n c a VXL ­­> m ch b  ng t ra.ể ủ ạ ị ắ

­ Trong khi đó các thi t b  ngo i vi v n có th  s  d ng các BUS đ  ph c v  choế ị ạ ẫ ể ử ụ ể ụ ụ  

m c đích c a m nh.ụ ủ ỡ

­  K t thúc treo khi b n ngoài k t thúc y u c u treo. VXL tr  v  tr ng thái b nhế ờ ế ờ ầ ở ề ạ ỡ  

th ng.ườ

3.2.5.Ch  đ  d ng.ế ộ ừ

­ Khi   ch  đ  d ng thì t t c  các đ ng dây tín hi u, s  li u, đ a ch  và s  li u đ uở ế ộ ừ ấ ả ườ ệ ố ệ ị ỉ ố ệ ề  

đ c gi  nguyên.  ượ ữ

4. T p l nh c  s  c a Vi x  lý.ậ ệ ơ ở ủ ử

+ L nh đ c hi u là các ch  d n đ  cho VXL theo đó mà th c hi n các công vi c. ệ ượ ể ỉ ẫ ể ự ệ ệ+ M t s  thanh ghi liên quan tr c ti p đ n t p l nh c a VXLộ ố ự ế ế ậ ệ ủ

+ Đ c chia thành 5 nhóm l nh.ượ ệ

2. Nhóm l nh nh y vàCh ng trình con.ệ ả ươ

­ L nh nh y làm thay đ i trình t  th c hi nCh ng trình, khi l nh nh y đ c th cệ ả ổ ự ự ệ ươ ệ ả ượ ự  

hi n thìCh ng trình đang   đ a ch  này s  nh y sang đi  ch  khác  mà không liên t cệ ươ ở ị ỉ ẽ ả ạ ỉ ụ  

4.4.1. Phân lo i theo nhóm ch c năng.ạ ứ

4.4.2.Phân lo i theo ch c năng c  s  c a l nh.ạ ứ ơ ở ủ ệ

Trang 26

4.5. T p l nh c  sậ ệ ơ ở

C u trúc m t l nh c a asembly g m 4 ph n:ấ ộ ệ ủ ồ ầ

[nhãn:] [tên l nh] [toán h ng] [;ghi chú]ệ ạ

M i dòng ch  ch a m t l nh assembly và m i l nh ph i n m trong m t dòng.ỗ ỉ ứ ộ ệ ỗ ệ ả ằ ộ  

M i oh n cách nhau b ng m t ho c nhi u ký t ỗ ầ ằ ộ ặ ề ự

4.5.1. L nh chuy n s  li u, lôgíc, s  h c.ệ ể ố ệ ố ọ

­ L nh chuy n s  li u dùng đ  chuy n s  li u gi a các thanh ghi, ho c gi a thanhệ ể ố ệ ể ề ố ệ ữ ặ ữ  nghi và ô nh ớ

­ L nh s  h c đ  th c hi n các phép toán s  h c, ch  y u là c ng và tr , t t cệ ố ọ ể ự ệ ố ọ ủ ế ộ ừ ấ ả 

đ u đ c th c hi n   h  2.ề ượ ự ệ ở ệ

­ L nh logic đ  th c hi n các phép toán logic c  s , các l nh so sánh và l nh quay.ệ ể ự ệ ơ ở ệ ệ4.5.2. L nh đi u khi n.ệ ề ể

A C E L

­ Thanh ghi A 8 bit th ng dùng làm thanh ch a (Acc).ườ ứ

­ Các thanh ghi B, C, D, E, H, L 8bit làm vi c riêng l  t ng thanh 1 ho c t ng c pệ ẻ ừ ặ ừ ặ  

BC, DE, HL

­ Thanh đ mCh ng trình PC 16 bit dùng đ  ch a đ a ch  trong quá trình th cế ươ ể ứ ị ỉ ự  

hi nCh ng trình.ệ ươ

­ Con tr  ngăn x p SP 16 bit đ  ch  ra đ a ch  c a ngăn x p.ỏ ế ể ỉ ị ỉ ủ ế

­ Thanh ghi c  F 8bit nh ng ch  dùng 5 bit làm 5 c ờ ư ỉ ờ

 + c  nh : Cy có 2 tr ng thái b ng 0 khi phép toán có nh , b ng 1 khi phép toánờ ớ ạ ằ ớ ằ  không nh ớ

Trang 27

 + c  ch n l : P có 2 tr ng thái b ng 0 khi phép toán là ch n (s  ch  s  1 là ch n),ờ ắ ẻ ạ ằ ẵ ố ữ ố ẵ  

b ng 1 khi phép toán là l  (s  ch  s  1 là l ).ằ ẻ ố ữ ố ẻ

 + c  AC: hi u ch nh th p phânờ ệ ỉ ậ

        AC = 1 : phe p tính bũ tra n treõn bit 4.ự ứ

        AC = 0 : phe p tính không bũ tra n treõn bit 4.ự ứ

 + c  Z: (c  zêrô) b ng 0 khi k t qu  phép tính là 0ờ ờ ằ ế ả

Trang 28

BÀI 3: T  CH C VÀO RA SONG SONG S  LI UỔ Ứ Ố Ệ

 

1. Khái ni m, Vào ra đi u khi n theo chệ ề ể ương trình  

I.  Khái ni m chung.ệ

+ Vào / ra (hay xu t / nh p) là vi c ph i ghép c a h  VXL V i ngo i vi đ  th cấ ậ ệ ố ủ ệ ớ ạ ể ự  

hi n trao đ i thông tin theo các ph ng th c đi u khi n khác nhau.ệ ổ ươ ứ ề ể

+ Các ph ng pháp vào ra thông tin c  b n là n i ti p và song song.ươ ơ ả ố ế

- N i ti p là vi c truy n t ng bit m t.ố ế ệ ề ừ ộ

- Song song là các bít đ c truy n là đ ng th i.ượ ề ồ ờ

+ Vi c ph i ghép V i TB ngo i vi ph c t p h n và c  ch  đi u khi n đ  trao đ iệ ố ớ ạ ứ ạ ơ ơ ế ề ể ể ổ  thông tin cũng đa d ng h n so V i ph i ghép V i b  nh ạ ơ ớ ố ơ ộ ớ́

+ Th ng có các d ng đi u khi n vào / ra sau:ườ ạ ề ể

- Vào / ra đi u khi n theo ch ng trình.ề ể ươ

- Vào / ra đi u khi n theo c  ch  ng t.ề ể ơ ế ắ

- Vào / ra đi u khi n theo c  ch  DMA.ề ể ơ ế

II.  Vào / ra đi u khi n theoCh ng trình.ề ể ươ

+ D i s  đi u khi n c a ch ng trình, d  li u đ c trao đ i song song gi a CPUướ ự ề ể ủ ươ ữ ệ ượ ổ ữ  

và thi t b  ngo i vi thông qua các c ng d  li u. Có 2 lo i trao đ i là có đi u ki n vàế ị ạ ổ ữ ệ ạ ổ ề ệ  không có đi u ki n.ề ệ

1. Trao đ i không đi u ki n: ổ ề ệ

+ Các l nh trao đ i s  li u V i các c ng vào / ra không c n xác đ nh tr c c ng đãệ ổ ố ệ ớ ổ ầ ị ướ ổ  

s n sàng ch a màCh ng trình th c hi n trao đ i luôn và coi nh  c ng đã s n sàng.ẵ ư ươ ự ệ ổ ư ổ ẵ+ Ph ng th c trao đ i này th ng đ c s  d ng V i các ngo i vi có t c đ  caoươ ứ ổ ườ ượ ử ụ ớ ạ ố ộ  hay không yêu c u bi t chính xác d  li u đã có m t   đ u vào.ầ ế ữ ệ ặ ở ầ

2. Trao đ i có đi u ki n.ổ ề ệ

+ Vi c trao đ i d  li u ph  thu c vào thi t b  ngo i vi đã s n sàng hay ch a.ệ ổ ữ ệ ụ ộ ế ị ạ ẵ ư

+Ch ng trình l n l t ki m tra tr ng thái c a các c ng, n u c ng nào s n sàngươ ầ ượ ể ạ ủ ổ ế ổ ẵ  thìCh ng trình s  th c hi n trao đ i d  li u V i c ng đó. Th  t  ki m tra có  u tiênươ ẽ ự ệ ổ ữ ệ ơ ổ́ ứ ự ể ư  hay không s  ph  thu c vào ý đ  c a ng i l p trình. ẽ ụ ộ ồ ủ ườ ậ

+ Trong tr ng h p này ngoài c ng d  li u thì ng i ta dùng thêm 1 c ng đ  báoườ ợ ổ ữ ệ ườ ổ ể  

tr ng thái hi n t i c a thi t b  ngo i vi.ạ ệ ạ ủ ế ị ạ

Trang 29

T/h đọc/ghi

IRO INTR

INTA D0 - D7

2. Nguyờn lý:

+ Khi 1 ngo i vi c n trao đ i d  li u theo c  ch  ng t V i CPU s  cú tớn hi u yờuạ ầ ổ ữ ệ ơ ế ắ ớ ẽ ệ  

c u ng t IRO t  ngo i vi t i m ch đi u khi n ng t. M ch đi u khi n ng t ch p nh nầ ắ ừ ạ ớ ạ ề ể ắ ạ ề ể ắ ấ ậ  

s  g i tớn hi u INTR t i CPU.ẽ ử ệ ớ

+ CPU ki m tra và g i tớn hi u xung INTA th  nh t đ  bỏo cho b  đi u khi nể ử ệ ứ ấ ể ộ ề ể  

ng t. Sau đú CPU th c hi n n t l nh g i cỏc thanh ghi vào ngăn x p và g i xung INTAắ ự ệ ố ệ ử ế ử  

+  M ch đi u khi n ng t ph i th c hi n đ c cỏc ch c năng sau:ạ ề ể ắ ả ự ệ ượ ứ

- Ghi nh n cỏc yờu c u ng t t  cỏc ngo i vi.ậ ầ ắ ừ ạ

- Xỏc đ nh m c  u tiờn c a cỏc đ u vào ng t.ị ứ ư ủ ầ ắ

- T o ra s  li u ng t.ạ ố ệ ắ

IV. Vào / ra đi u khi n theo c  ch  DMA.ề ể ơ ế

1. S  đ  b  ph i ghộp   ch  đ  DMA.ơ ồ ộ ố ở ế ộ

+ Vi c trao đ i d  li u theo 2 ph ng phỏp b ngCh ng trỡnh và ng t đ u th cệ ổ ữ ệ ươ ằ ươ ắ ề ự  

hi n b ng cỏch đ a d  li u t  c ng t i CPU và nh p vào b  nh  trong quỏ trỡnh đ cệ ằ ư ữ ệ ừ ổ ớ ậ ộ ớ ọ  hay ng c l i.ượ ạ

+ Đ  chuy n 1 kh i d  li u ta cú th  dựng cỏch truy n DMA . Khi đú ta s  d ng 1ể ể ố ữ ệ ể ề ử ụ  

vi m ch chuyờn d ng là DMAC đi u khi n vi c trao đ i thụng tin.ạ ụ ề ể ệ ổ

Trang 30

+ VD: vi m ch đi u khi n chuyờn d ng 8237A cho h  16 bit c a Intel.ạ ề ể ụ ệ ủ

CPU

Ngoại vi có yêu cầu DMA

Cổng Vào/Ra

DMAC 8237A

BUS số liệu

Đ iều khiển đọc/ghi

HOLD HLDA

BUS địa chỉ

Bộ nhớ

DRQ DACK

+ Trong ch  đ  DMA thỡ CUP s  treo cỏc BUS s  li u, đ a ch  và cỏc dõy đi uế ộ ẽ ố ệ ị ỉ ề  khi n đ c /ghi đ  DMAC chi m d ng (nh ng quy n đi u khi n cho DMAC). ể ọ ể ế ụ ườ ề ề ể

+ DMAC s  đi u khi n toàn b  ho t đ ng trao đ i d  li u c a h  do đú CMACẽ ề ể ộ ạ ộ ổ ữ ệ ủ ệ  

ph i t o ra đ c cỏc tớn hi u gi ng nh  CPU, đ ng th i ph i là m ch l p trỡnh đ cả ạ ượ ệ ố ư ồ ờ ả ạ ậ ượ  

đ  CPU g i tớn hi u đi u khi n t i.ể ử ệ ề ể ớ

+ Th c t  t n t i 3 ki u DMA là :ự ế ồ ạ ể

- Treo CPU đ  trao đ i c  m ng d  li u.ể ổ ả ả ữ ệ

- Treo đ  trao đ i t ng byte.ể ổ ừ

- T n d ng Th i gian đ  trao đ i d  li u.ậ ụ ờ ể ổ ữ ệ

2. Trao đ i c  m ng d  li u.ổ ả ả ữ ệ

+ Trong quỏ trỡnh này CPU s  b  treo trong su t quỏ trỡnh trao đ i d  li u. Cỏc thaoẽ ị ố ổ ữ ệ  tỏc đ c th c hi n trong quỏ trỡnh này đ  chuy n m ng d  li u t  b  nh  ra ngo i viượ ự ệ ể ể ả ữ ệ ừ ộ ớ ạ  là:

- CPU phỏt l nh đi u khi n và l nh ch  đ  vào DMAC đ  quy đ nh cỏch th c làmệ ề ể ệ ế ộ ể ị ứ  

vi c, đ a ch  đ u ra và đ  dài m ng nh  …ệ ị ỉ ầ ộ ả ớ

- Khi ngo i vi cú yờu c u trao đ i d  li u nú s  đ a tớn hi u đ n chõn DRQ  c aạ ầ ổ ữ ệ ẽ ư ệ ế ủ  DMAC, sau đú DMAC s  đ a tớn hi u yờu c u đ n chõn HOLD c a CPU. Tớn hi uẽ ư ệ ầ ế ủ ệ  HOLD ph i   m c cao trong su t quỏ trỡnh trao đ i d  li u.ả ở ứ ố ổ ữ ệ

- Nh n đ c yờu c u CPU k t thỳc chu k  BUS hi n t i sau đú treo cỏc BUS vàậ ượ ầ ế ỳ ệ ạ  

đ a tớn hi u HOLD cho DMAC đ c toàn quy n s  d ng BUS.ư ệ ượ ề ử ụ

- DMAC đ a ra xung DACK bỏo cho ngo i vi b t đ u trao đ i d  li u.ư ạ ắ ầ ổ ữ ệ

- Khi DMAC k t thỳc thỡ CPU l i dành quy n đi u khi n h  th ng.ế ạ ề ề ể ệ ố

3. Trao đ i t ng byte.ổ ừ

Trang 31

+ Trong cách này CPU b  treo trong kho ng Th i gian ng n đ   đ   trao đ i 1 byte.ị ả ờ ắ ủ ể ổ  Khi đó t c đ  th c hi n công vi c c a CPU ch  b  gi m mà không d ng l i. Cách th cố ọ ự ệ ệ ủ ỉ ị ả ừ ạ ự  

hi n t ng t  nh ng m i l n treo thì ch  th c hi n trao đ i 1 byte d  li u.ệ ươ ự ư ỗ ầ ỉ ự ệ ổ ữ ệ

4. Trao đ i khi BUS r i.ổ ỗ

+ Trong cách này ph i có m ch logic ngoài đ  phát hi n BUS r i. Khi đó  DMACả ạ ể ệ ỗ  

s  làm ch  BUS và đi u khi n trao đ i d  li u.ẽ ủ ề ể ổ ữ ệ 3. vào ra đi u khi n theo c  chề ể ơ ế DMA 

Trang 32

BÀI 4: H  VI ĐI U KHI N 8 BÍT H  8051Ệ Ề Ể Ọ

1. C u trúc ph n c ng h  vi đi u khi n 8051 .ấ ầ ứ ọ ề ể   

1.1 Gi i thi u chung.ớ ệ

­ 8051 là vi đi u khi n đ u tiên c a h  vi đi u khi n MCS51 đề ể ầ ủ ọ ề ể ược Intel s nả  

xu t vào năm 1980.ấ

­ H  MCS­51 là h  8­bit có trên 60000 transistor . Có 4Kbyte  ROM, 128 byteọ ọ  RAM, 32 đường su t nh p, 2 b  đ nh th i 16 bit. ấ ậ ộ ị ờ

II. T  ch c b  nh  h  vi đi u khi nổ ứ ộ ớ ọ ề ể  :

Vi đi u khi n hay vi x  lý là các IC l p trình, khi chúng ta đã thi t k  hề ể ử ậ ế ế ệ 

th ng đi u khi n có s  d ng vi x  lý hay vi đi u khi n ví d  nh  h  th ng đi uố ề ể ử ụ ử ề ể ụ ư ệ ố ề  khi n đèn giao thông cho m t ngã t  g m có các đèn Xanh, Vàng, Đ  và các led 7ể ộ ư ồ ỏ  

đo n đ  hi n th  th i gian thì đó m i ch  là ph n c ng, mu n h  th ng v n hànhạ ể ể ị ờ ớ ỉ ầ ứ ố ệ ố ậ  thì chúng ta ph i vi t m t chả ế ộ ương trình đi u khi n n p vào b  nh  n i bên trongề ể ạ ộ ớ ộ  

vi đi u khi n ho c b  nh  bên ngoài và g n vào trong h  th ng đ  h  th ngề ể ặ ộ ớ ắ ệ ố ể ệ ố  

v n hành và dĩ nhiên b n ph i vi t đúng thì h  th ng m i v n hành đúng.ậ ạ ả ế ệ ố ớ ậ  

Chương trình g i là ph n m m.ọ ầ ề

Ph n m m và ph n c ng có quan h  V i nhau, ngầ ề ầ ứ ệ ớ ườ ậi l p trình ph i hi u rõả ể  

ho t đ ng c a ph n c ng đ  vi t chạ ộ ủ ầ ứ ể ế ương trình.   ph n này s  trình bày chi ti tỞ ầ ẽ ế  

v  t p l nh c a vi đi u khi n giúp b n hi u rõ t ng l nh đ  b n có th  l pề ậ ệ ủ ề ể ạ ể ừ ệ ể ạ ể ậ  trình được

Ch ươ ng trình là m t t p h p các l nh độ ậ ợ ệ ượ ổc t  ch c theo m t trình t  h p líứ ộ ự ợ  

đ  gi i quy t đúng các yêu c u c a ngể ả ế ầ ủ ườ ậi l p trình

Ngườ ậi l p trình là người bi t gi i thu t đ  vi t chế ả ậ ể ế ương trình và s p x pắ ế  đúng các l nh theo gi i thu t. Ngệ ả ậ ườ ậi l p trình ph i bi t ch c năng c a t t cả ế ứ ủ ấ ả các l nh c a vi đi u khi n đ  vi t chệ ủ ề ể ể ế ương trình

T t c  các l nh có th  có c a m t ngôn ng  l p trình còn g i là ấ ả ệ ể ủ ộ ữ ậ ọ t p l nh

H  vi đi u khi n 8051 đ u có chung 1 t p l nh, các vi đi u khi n th  h  sauọ ề ể ề ậ ệ ề ể ế ệ  

ch  phát tri n nhi u v  ph n c ng còn l nh thì ít m  r ng.ỉ ể ề ề ầ ứ ệ ở ộ

T p l nh h  8051 có mã l nh 8 bit nên có kh  năng cung c p 28= 256 l nh.ậ ệ ọ ệ ả ấ ệ

Có l nh có 1 ho c 2 byte b i d  li u ho c đ a ch  thêm vào Opcode.ệ ặ ở ữ ệ ặ ị ỉ

Trang 33

Trong toàn b  t p l nh c a vi đi u khi n có 139 l nh 1 byte, 92 l nh 2 byteộ ậ ệ ủ ề ể ệ ệ  

và 24 l nh 3 byte.ệ

L nh  ệ c a vi đi u khi n là m t s  nh  phân 8 bit [còn g i là mã máy]. 256 byteủ ề ể ộ ố ị ọ  

t  0000 0000b đ n 1111 1111b từ ế ương  ng V i 256 l nh khác nhau. Do mã l nhứ ớ ệ ệ  

d ng s  nh  phân quá dài và khó nh  nên các nhà l p trình đã xây d ng m t ngônạ ố ị ớ ậ ự ộ  

ng  l p trình Assembly cho d  nh , đi u này giúp cho vi c l p trình đữ ậ ễ ớ ề ệ ậ ược th cự  

hi n m t cách d  dàng và nhanh chóng cũng nh  đ c hi u và g  r i chệ ộ ễ ư ọ ể ỡ ố ươ  ngtrình. 

Khi vi t chế ương trình b ng ngôn ng  l p trình Assembly thì vi đi u khi n sằ ữ ậ ề ể ẽ không   th c   hi n   đự ệ ược   mà   ph i   dùng   chả ương   trình   biên   d ch   Assembler   đị ể chuy n đ i các l nh vi t b ng Assembly ra mã l nh nh  phân tể ổ ệ ế ằ ệ ị ương  ng r i n pứ ồ ạ  vào b  nh  – khi đó vi đi u khi n m i th c hi n độ ớ ề ể ớ ự ệ ược chương trình

Ngôn ng  l p trình Assembly do con ngữ ậ ườ ại t o ra, khi s  d ng ngôn ngử ụ ữ Assembly đ  vi t thì ngể ế ườ ậi l p trình vi đi u khi n ph i h c h t t t c  các l nhề ể ả ọ ế ấ ả ệ  

và vi t đúng theo qui ế ước v  co pháp, trình t  s p x p d  li u đ  chề ́ ự ắ ế ữ ệ ể ương trình biên d ch có th  biên d ch đúng.ị ể ị  

1.2. S  đ  c u trúc c a h  vi đi u khi n 8051ơ ồ ấ ủ ọ ề ể

S  đ  kh i b  vi x  lý 8051ơ ồ ố ộ ử1.3. T  ch c b  nh  c a vi đi u khi n 8051 .ổ ứ ộ ớ ủ ề ể

Trang 34

1.4 B  trí chân tín hi uố ệ

Có 32 chân riêng bi t t  P0.0 đ n P3.7 đệ ừ ế ợc chia thành 4 c ng (g i là port) 8 bit.ổ ọ  

M i c ng 8 bit có th  đ c dùng  nh   m t đ n v  giao ti p ho c m i đỗ ổ ể ượ ư ộ ơ ị ế ặ ỗ ường có thể 

ho t đ ng đ c l p.ạ ộ ộ ậ

+ Port 0 là các chân 32 đ n 39 t  P0.0 đ n P0.7 đế ừ ế ược dùng làm nhi m v  xu tệ ụ ấ  

nh p. Trong m t s  tr ng h p thì port 0 đ c dùng làm bus đ a ch  và bus d  li u đaậ ộ ố ườ ợ ượ ị ỉ ữ ệ  

h p.ợ

+ Port 1 g m các chân 1 đ n 8 là các chân  P1.0 đ n P1.7 đồ ế ế ược dùng đ  giao ti pể ế  

V i thi t b  bên ngoài khi có yêu c u. ớ ế ị ầ Không có thêm b t k  ch c năng nào n a đấ ỳ ứ ữ ượ  cgán cho các chân port 1 này

+ Port 2 g m các chân t  21 đ n 28 là P2.0 đ n P2.7 có 2 công d ng ho c làmồ ừ ế ế ụ ặ  nhi m v  su t nh p ho c là byte đ a ch  cao c a bus đ a ch  16 bit cho các thi t k  cóệ ụ ấ ậ ặ ị ỉ ủ ị ỉ ế ế  

b  nh Ch ng trình ngoài ho c các thi t k  có nhi u h n 256 byte b  nh  d  li uộ ớ ươ ặ ế ế ề ơ ộ ớ ữ ệ  ngoài

+ Port 3 g m các chân 10 đ n chân 17 là các chân P3.0 đ n P3.7  chúng có 2 côngồ ế ế  

d ng:ụ

     * Là các chân xu t nh p tín hi u.ấ ậ ệ

Trang 35

     * Khi không xu t nh p tín hi u thì m i 1 chân này có nhi u ch c năng riêng liênấ ậ ệ ỗ ề ứ  quan đ n các đ c trế ặ ưng c  th  c a h  VXL 8051.ụ ể ủ ọ

+ Chân 29 chân PSEN là chân cho phép truy xu t b  nh Ch ng trình ngoài, chânấ ộ ớ ươ  này th ng đ c n i V i chân cho phép xu t c a EPROM (ho c ROM) đ  cho phépườ ượ ố ớ ấ ủ ặ ể  

đ c các byte.ọ

+ Chân 30 (ALE) là chân truy xu t tín hi u cho phép ch t đ a ch ấ ệ ố ị ỉ

+ Chân 31 (EA) là chân truy xu t ngoài. Các phiên b n EPROM c a 8051 còn sấ ả ủ ử 

d ng chân này làm chân nh n đi n áp c p đ  ti n hành n p s  li u vào EPROM.ụ ậ ệ ấ ể ế ạ ố ệ

+ Chân 9 (RST) là chân reset dùng đ  thi t l p l i tr ng thái ban đ u cho h  th ng.ể ế ậ ạ ạ ầ ệ ố+ Hai chân 18, 19 là 2 chân nh n t n s  xung nh p 12MHz cho h u h t các chíp c aậ ầ ố ị ầ ế ủ  

h  MCS­51.ọ

+ Chân 20 (Vss) là chân n i đ t c a VXL8051.ố ấ ủ

+ Chân 40 (Vcc) là chân c p ngu n nuôi c a 5V cho VXL 8051.ấ ồ ủ

Trang 36

­ Trong trường h p này các thanh ghi R0 đ n R7 làm vi c nh  1 con tr  vàợ ế ệ ư ỏ  

N i dung c a chúng ch  ra đ a ch  trong RAM n i mà đ a ch  độ ủ ỉ ị ỉ ơ ị ỉ ược đ c hay ghi.ọVD: n u thanh ghi R1 ch a 40H và đ a ch  40H c a RAM là 55H thì l nhế ứ ị ỉ ủ ệ  MOV A,@R1 có nghĩa là n p s  55H cho thanh ch a A.ạ ố ứ

2.5. Ch  đ  đ a ch  tế ộ ị ỉ ương đ i .ố

­ Ch  đỉ ượ ử ục s  d ng cho các l nh nh y. m t đ a ch  tệ ả ộ ị ỉ ương đ i là 1 giá tr  8 bitố ị  

có d u, giá tr  này đấ ị ược c ng V i b  đ mChộ ơ ộ ế́ ương trình đ  t o thành đ a ch  c aể ạ ị ỉ ủ  

l nh ti p theo đệ ế ược th c thi.ự

2.6 . Ch  đ  đ a ch  tuy t đ i .ế ộ ị ỉ ệ ố

­ ch  s  d ng cho các l nh r  nhánhChỉ ử ụ ệ ẽ ương trình

2.7. Ch  đ  đ a ch  dài .ế ộ ị ỉ

2.8. Ch  đ  đ a ch  ch  s  .ế ộ ị ỉ ỉ ố

­ S  d ng 1 thanh ghi n n và 1 thanh ch a A t o thành d ng đ a ch  hi uử ụ ề ứ ạ ạ ị ỉ ệ  

d ng cho l nh nh y ho c di chuy n s  li u. ụ ệ ả ặ ể ố ệ

3. T p l nh c a Vi đi u khi n 8051  .ậ ệ ủ ề ể

KI U D  LI U VÀ CH  D NỂ Ữ Ệ Ỉ Ẫ

Ch  l nh DB là m t ch  l nh d  li u đỉ ệ ộ ỉ ệ ữ ệ ượ ử ục s  d ng r ng rãi nh t trong h pộ ấ ợ  

ng  Nó đữ ược dùng đ  đ nh nghĩa d  li u 8 bit. Khi DB để ị ữ ệ ược dùng đ  đ nh nghĩaể ị  byte d  li u thì các s  có th    d ng th p phân, nh  phân, Hex ho c   d ng th cữ ệ ố ể ở ạ ậ ị ặ ở ạ ứ  ASII. Đ i V i d  li u th p phân thì c n đ t ch  “D” sau s  th p phân, đ i V iố ơ ữ ệ́ ậ ầ ặ ữ ố ậ ố ơ  ́

s  nh  phân thì đ t ch  “B” và đ i V i d  li u d ng Hex thì c n đ t ch  “H”.ố ị ặ ữ ố ơ ữ ệ́ ạ ầ ặ ữ  

B t k  ta s  d ng s    d ng th c nào thì h p ng  đ u chuy n đ i chúng vấ ể ử ụ ố ở ạ ứ ợ ữ ề ể ố ề thành d ng Hex. Đ  báo d ng th c   d ng mã ASCII thì ch  c n đ n gi n đ t nóạ ể ạ ứ ở ạ ỉ ầ ơ ả ặ  vào d u nháy đ n ‘nh  th  này’. H p ng  s  gán mã ASCII cho các s  ho c cácấ ơ ư ế ợ ữ ẽ ố ặ  

Trang 37

ký t  m t cách t  đ ng. Ch  l nh DB ch  là ch  l nh mà có th  đự ộ ự ộ ỉ ệ ỉ ỉ ệ ể ược  s  d ng đử ụ ể 

đ nh nghĩa các chu i ASCII l n h n 2 ký t  Do v y, nó có th  đị ỗ ớ ơ ự ậ ể ược s  d ngử ụ  cho t t c  m i đ nh nghĩa d  li u ASCII. Dấ ả ọ ị ữ ệ ưới đây là m t s  ví d  v  DB:ộ ố ụ ề

ORG 500H

DATA1: DB2B ; S  th p phân (1C   d ng Hex)ố ậ ở ạ

DATA2: DB00110101B ; S  nh  phân (35   d ng Hex)ố ị ở ạ

DATA3: DB39H ; S  d ng Hexố ạ

ORG 510H

DATA4: DB“2591”       ; Các s  ASCIIố

ORG 518H

DATA5 DB“My name is Joe” ; Các ký t  ASCIIự

Các chu i ASCII có th  s  d ng d u nháy đ n ‘nh  th  này’ ho c nháyỗ ể ử ụ ấ ơ ư ế ặ  kép “nh  th  này”. Dùng d u ph y kép s  h u ích h n đ i V i trư ế ấ ẩ ẽ ữ ơ ố ớ ường h p d uợ ấ  nháy đ n đơ ược dùng s  h u cách nh  th  này “Nhà O’ Leary”. Ch  l nh DB cũngở ữ ư ế ỉ ệ  

được dùng đ  c p phát b  nh  theo t ng đo n kích thể ấ ộ ớ ừ ạ ước m t byte.ộ

1 Ch  l nh ORG: Ch  l nh ORG đỉ ệ ỉ ệ ược dùng đ  báo b t đ u c a đ a ch  Sể ắ ầ ủ ị ỉ ố 

đi sau ORG có k    d ng Hex ho c th p phân. N u s  này có kèm ch  H đ ngể ở ạ ặ ậ ế ố ữ ằ  sau thì là   d ng Hex và n u không có ch  H   sau là s  th p phân và h p ngở ạ ế ữ ở ố ậ ợ ữ 

s  chuy n nó thành s  Hex. M t s  h p ng  s  d ng d u ch m đ ng trẽ ể ố ộ ố ợ ữ ử ụ ấ ấ ứ ướ  c

“ORG” thay cho “ORG”. Hãy đ c k  v  trình h p ng  ta s  d ng.ọ ỹ ề ợ ữ ử ụ

2. Ch  l nh EQU: Đỉ ệ ược dùng đ  đ nh nghĩa m t h ng s  mà không chi mể ị ộ ằ ố ế  ngăn nh  nào. Ch  l nh EQU không dành ch  c t cho d  li u nh ng nó g n m tớ ỉ ệ ỗ ấ ữ ệ ư ắ ộ  giá tr  h ng s  V i nhãn d  li u sao cho khi nhãn xu t hi n trong chị ằ ố ớ ữ ệ ấ ệ ương trình giá tr  h ng s  c a nó s  đị ằ ố ủ ẽ ược thay th  đ i V i nhãn. Dế ố ớ ưới đây s  d ng EQUử ụ  cho h ng s  b  đ m và sau đó h ng s  đằ ố ộ ế ằ ố ược dùng đ  n p thanh ghi RS.ể ạ

COUNT EQU 25

MOV R3, #count

Khi th c hi n l n “MOV R3, #COUNT” thì thanh ghi R3 s  đự ệ ệ ẽ ược n p giá trạ ị 

25 (chú ý đ n d u #). V y  u đi m c a vi c s  d ng EQU là gì? Gi  s  có m tế ấ ậ ư ể ủ ệ ử ụ ả ử ộ  

h ng s  (m t giá tr  c  đ nh) đằ ố ộ ị ố ị ược dùng trong nhi u ch  khác nhau trong chề ỗ ươ  ngtrình và l p trình viên mu n thay đ i giá tr  c a nó trong c  chậ ố ổ ị ủ ả ương trình. B ngằ  

Trang 38

vi c s  d ng ch  l nh EQU ta có th  thay đ i m t s  l n và h p ng  s  thay đ iệ ử ụ ỉ ệ ể ổ ộ ố ầ ợ ữ ẽ ổ  

t t c  m i l n xu t hi n c a nó là tìm toàn b  chấ ả ọ ầ ấ ệ ủ ộ ương trình và g ng tìm m i l nắ ọ ầ  

xu t hi n.ấ ệ

3. Ch  l nh END: M t l nh quan tr ng khác là ch  l nh END. Nó báo choỉ ệ ộ ệ ọ ỉ ệ  trình h p ng  k t thúc c a t p ngu n “asm” ch  l nh END là dòng cu i cùng c aợ ữ ế ủ ệ ồ ỉ ệ ố ủ  

chương trình 8051 có  nghĩa là trong mã ngu n thì m i th  sau ch  l nh END đồ ọ ứ ỉ ệ ể 

b  trình h p ng  b  qua. M t s  trình h p ng  s  d ng .END có d u ch m đ ngị ợ ữ ỏ ộ ố ợ ữ ử ụ ấ ấ ứ  

trước thay cho END

2.5.4 Các quy đ nh đ  V i nhãn trong h p ng ị ố ớ ợ ữ

B ng cách ch n các tên nhãn có nghĩa là m t l p trình viên có th  làm choằ ọ ộ ậ ể  

chương trình d  đ c và d  b o trì h n, có m t s  quy đ nh mà các tên nhãn ph iễ ọ ễ ả ơ ộ ố ị ả  tuân theo. Th  nh t là m i tên nhãn ph i th ng nh t, các tên đứ ấ ỗ ả ố ấ ượ ử ục s  d ng làm nhãn trong h p ng  g m các ch  cái vi t hoa và vi t thợ ữ ồ ữ ế ế ường, các s  t  0 đ n 9ố ừ ế  

và các d u đ c bi t nh : d u h i (?), d u (ấ ặ ệ ư ấ ỏ ấ ), d u g ch dấ ạ ưới ( ), d u đô là ($) vàấ  

d u chu k  (.). Ký t  đ u tiên c a nhãn ph i là m t ch  cái. Hay nói cách khác làấ ỳ ự ầ ủ ả ộ ữ  

nó không th  là s  Hex. M i trình h p ng  có m t s  t  d  tr  là các t  g i nhể ố ỗ ợ ữ ộ ố ừ ự ữ ừ ợ ớ cho các l nh mà không đệ ược dùng đ  làm nhãn trong chể ương trình. Ví d  nhụ ư 

“MOV” và “ADD”. Bên c nh các t  g i nh  còn có m t s  t  d  tr  khác, hãyạ ừ ợ ớ ộ ố ự ự ữ  

ki m tra b n li t kê các t  d  phòng c a h p ng  ta đang s  d ng.ể ả ệ ừ ự ủ ợ ữ ử ụ

4.1 ng d ng đi u khi n LED đ nứ ụ ề ể ơ

4.2.  ng d ng đi u khi n LED 7 đo n ứ ụ ề ể ạ

4.3.  ng d ng đi u khi n LED ma tr nứ ụ ề ể ậ  

4.4.  ng d ng đi u khi n ADC và DAC ứ ụ ề ể

4.5 .  ng d ng đi u khi n đ ng c  bứ ụ ề ể ọ ơ ước 

Trang 39

3.2. Các ki u đ nh đ a ch  c a vi đi u khi n 8051 ể ị ị ỉ ủ ề ể

Các ki u đ nh đ a ch  là m t qui ể ị ị ỉ ộ ước th ng nh t c a t p l nh. Các ki u đ nhố ấ ủ ậ ệ ể ị  

đ a ch  cho phép đ nh rõ n i l y d  li u ho c n i nh n d  li u tùy thu c vàoị ỉ ị ơ ấ ữ ệ ặ ơ ậ ữ ệ ộ  cách th c s  d ng l nh c a ngứ ử ụ ệ ủ ườ ậi l p trình

Vi đi u khi n h  MCS­51 có 8 ki u đ nh đ a ch  nh  sau:ề ể ọ ể ị ị ỉ ư

­ Ki u đ nh đ a ch  dùng thanh ghi.ể ị ị ỉ

­ Ki u đ nh đ a ch  tr c ti p.ể ị ị ỉ ự ế

­ Ki u đ nh đ a ch  gián ti p.ể ị ị ỉ ế

­ Ki u đ nh đ a ch  t c th i.ể ị ị ỉ ứ ờ

­ Ki u đ nh đ a ch  tể ị ị ỉ ương đ i.ố

­ Ki u đ nh đ a ch  tuy t đ i.ể ị ị ỉ ệ ố

­ Ki u đ nh đ a ch  dài.ể ị ị ỉ

­ Ki u đ nh đ a ch  đ nh v ể ị ị ỉ ị ị

3.2.1. Ki u đ nh đ a ch  dùng thanh ghi (Register Addressing) :ể ị ị ỉ

Ki u này thể ường được dùng cho các l nh x  lý d  li u mà d  li u luônệ ử ữ ệ ữ ệ  

l u trong ư các thanh ghi. Đ i V i vi đi u khi n thì mã l nh thu c ki u này ch  cóố ớ ề ể ệ ộ ể ỉ  

1 byte

Ví d  : Mov A,R1 ụ ; copy n i dung thanh ghi R1 vào thanh ghi A ộ

3.2.2. Ki u đ nh đ a ch  tr c ti p (Direct Addressing) :ể ị ị ỉ ự ế

Ki u này thể ường được dùng đ  truy xu t d  li u c a b t k  ô nh  nàoể ấ ữ ệ ủ ấ ỳ ớ  trong 256 byte b  nh  RAM n i c a vi đi u khi n 89C51.ộ ớ ộ ủ ề ể

Các l nh thu c ki u này thệ ộ ể ường có mã l nh 2 byte: byte th  nh t là mãệ ứ ấ  

l nh, byte th  2 là ệ ứ đ a ch  c a ô nhị ỉ ủ ớ:

Ví d  : Mov A,05H ụ ; copy n i dung ô nh  có đ a ch  05H vào thanh ghi A ộ ớ ị ỉ

3.2.3. Đ nh đ a ch  gián ti p (Indirect Addressing) :ị ị ỉ ế

Ki u đ nh đ a ch  gián ti p để ị ị ỉ ế ượ ược t ng tr ng b i ký hi u @ và đư ở ệ ược đ tặ  

trước các thanh ghi R0, R1 hay DPTR. R0 và R1 có th  ho t đ ng nh  m t thanhể ạ ộ ư ộ  ghi con tr , n i dung c a nó cho bi t đ a ch  c a m t ô nh  trong RAM n i màỏ ộ ủ ế ị ỉ ủ ộ ớ ộ  

d  li u s  ghi ho c s  đ c. Còn DPTR dùng đ  truy xu t ô nh  ngo i. Các l nhữ ệ ẽ ặ ẽ ọ ể ấ ớ ạ ệ  thu c d ng này ch  có 1 byte.ộ ạ ỉ

Trang 40

Ví d  : Mov A,@R1 ụ ; copy n i dung ô nh  có đ a ch  trong thanh ghi R1 ộ ớ ị ỉ   vào thanh ghi A

Ki u đ nh đ a ch  tể ị ị ỉ ương đ i ch  s  d ng V i nh ng l nh nh y. N i nh yố ỉ ử ụ ớ ữ ệ ả ơ ả  

đ n có đ a ch  b ng đ a ch  đang l u trong thanh ghi PC c ng V i 1 giá tr  8 bitế ị ỉ ằ ị ỉ ư ộ ớ ị  [còn g i là giá tr  l ch tọ ị ệ ương đ i: relative offset] có giá tr  t  – 128 đ n +127 nênố ị ừ ế  

vi đi u khi n có th  nh y lùi [n u s  c ng V i s  âm] và nh y t i [ n u sề ể ể ả ế ố ộ ơ ố́ ả ớ ế ố 

c ng V i s  dộ ơ ố ướ ng]. L nh này có mã l nh 2 byte, byte th  2 chính là giá tr  l chệ ệ ứ ị ệ  

tương đ i.ố

N i nh y đ n thơ ả ế ường được xác đ nh b i nhãn (label) và trình biên d ch sị ở ị ẽ tính toán giá tr  l ch.ị ệ

Đ nh v  tị ị ương đ i có  u đi m là mã l nh c  đ nh khi thay đ i đ a ch ,ố ư ể ệ ố ị ổ ị ỉ  

nh ng khuy t đi m là ch  nh y ng n trong ph m vi ­128÷127 byte [256byte],ư ế ể ỉ ả ắ ạ  

n u n i nh y đ n xa h n thì l nh này không đáp  ng đế ơ ả ế ơ ệ ứ ược – s  có l i.ẽ ỗ

Ví d  : Sjmp X1 ụ ;nh y đ n nhãn có tên là X1 n m trong t m v c 256 byte ả ế ằ ầ ự

3.2.6. Đ nh đ a ch  tuy t đ i (Absolute Addressing) :ị ị ỉ ệ ố

Ki u đ nh đ a ch  tuy t đ i để ị ị ỉ ệ ố ược dùng V i các l nh ACALL và AJMP.ớ ệ  Các l nh này có mã l nh 2 byte cho phép phân chia b  nh  theo trang ­ m i trangệ ệ ộ ớ ỗ  

có kích thước đúng b ng 2Kbyte so V i giá tr  ch a trong thanh ghi PC hi nằ ớ ị ứ ệ  hành. 11 bit đ a ch  A10÷A0 đị ỉ ược thay th  cho 11 đ a ch  th p trong thanh ghi PCế ị ỉ ấ  

n m trong c u trúc mã l nh nh  sau:ằ ấ ệ ư

Đ nh đ a ch  tuy t đ i có  u đi m là mã l nh ng n (2 byte), nh ng khuy tị ị ỉ ệ ố ư ể ệ ắ ư ế  

đi m là mã l nh thay đ i và gi i h n ph m vi n i nh y đ n, g i đ n không quáể ệ ổ ớ ạ ạ ơ ả ế ọ ế  

2 kbyte

Ví d  6: Ajmp X1 ụ ;nh y đ n nhãn có tên là X1 n m trong t m v c 2 kbyte ả ế ằ ầ ự

3.2.7.  Đ nh đ a ch  dài (Long Addressing) :ị ị ỉ

Ngày đăng: 23/03/2022, 23:08

🧩 Sản phẩm bạn có thể quan tâm