Thiết kế máy thu phát ký tự 8 bit, chương 12

Chia sẻ: Nguyen Van Dau | Ngày: | Loại File: PDF | Số trang:20

0
81
lượt xem
20
download

Thiết kế máy thu phát ký tự 8 bit, chương 12

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Vi xử lý là một linh kiện bán dẫn chứa các mạch điện Logic được chế tạo theo công nghệ LSI hoặc VLSI. Vi xử lý cokhá năng thực hiện các chức năng tính toán và tạo ra các quyết định làm thay đổi trình tự để thi hành chương trình. Vi xử lý là thiết bị Logic lập trình được, được thiết kế bằng các thanh ghi (Regité) các Flip-Flop và các bộ định thời (Time).

Chủ đề:
Lưu

Nội dung Text: Thiết kế máy thu phát ký tự 8 bit, chương 12

  1. Chương 12: GIÔÙI THIEÄU BOÄ VI XÖÛ LYÙ 8085A. 1.1.Giôùi thieäu chung. Vi xöû lyù (Microprocessor) laø moät linh kieän baùn daãn chöùa caùc maïch ñieän Logic ñöôïc cheá taïo theo coâng ngheä LSI hoaëc VLSI. Vi xöû lyù coùkhaû naêng thöïc hieän caùc chöùc naêng tính toaùn vaø taïo ra caùc quyeát ñònh laøm thay ñoåi trình töï ñeå thi haønh chöông trình. Vi xöû lyù laø thieát bò Logic laäp trình ñöôïc, ñöôïc thieát keá baèng caùc thanh ghi (Register) caùc Flip-Flop vaø caùc boä ñònh thôøi (Timer). Chöùc naêng chính cuûa moät boä vi xöû lyù (CPU) laø coù khaû naêng nhaän xöû lyù vaø xuaát döõ lieäu, quaù trình naøy ñöôïc ñieàu khieån theo moät chöông trình goàm taäp hôïp caùc leänh töø beân ngoaøi maø ngöôøi söû duïng coù theå thay ñoåi moät caùch deã daøng. Moät CPU coù theå hieåu ñöôïc töø vaøi chuïc, vaøi traêm ñeán haøng ngaøn leänh. Vì vaäy CPU coù khaû naêng thöïc hieän ñöôïc raát nhieàu yeâu caàu ñieàu khieån khaùc nhau. 1.2.Caáu truùc beân trong boä vi xöû lyù 8085A. (Hình 1.1) trình baøy caáutruùc beân trong cuûa 8085A noù bao goàm: Ñôn vò xöû lyù Logic vaø soá hoïc ALU (Arithmetic), ñôn vò ñònh thôøi vaø ñieàu khieån (Timing And Control Unit), boä giaûi maõ vaø thanh ghi leänh (Instruction Register and Decoder), daõy thanh ghi (Register Array) ñieàu khieån ngaét (Interrupt Control) vaø ñieàu khieån I/O noái tieáp (Serial I/O Control). 1.2.1.Ñôn vò Logic vaø soá hoïc ALU. Ñôn vò naøy thöïc hieän caùc chöùc naêng tính toaùn bao goàm: Thanh ghi tích luõy (Accumulator), thanh ghi taïm (Temporary Register), caùc maïch Logic vaø soá hoïc, vaø 5 côø baùo (Flag) trong thanh ghi côø (Flag Regisrer).
  2. Thanh ghi taïm duøng ñeå löu tröû soá lieäu trong suoát quaù trình hoaït ñoäng soá hoïc vaø Logic. Keát quaû ñöôïc löu tröû vaøo thanh ghi tích luõy, vaø caùc côø (caùc Flip-Flop) ñöôïc ñaët (set: baèng 1)hoaëc ñöôïc ñaët laïi (Reset: baèng 0) tuøy theo keát quaû tính toaùn. Caùc côø chòu aûnh höôûng cuûa caùc pheùp toaùn Logic vaø soá hoïc trong ALU. Trong haàu heát caùc hoaït ñoäng naøy, keát quaû ñöôïc löu tröû vaøo thanh ghi tích luõy. Do ñoù caùc côø thöôøng phaûn aùnh caùc ñieàu kieän döõ lieäu trong thanh ghi tích luõy tröø moät vaøi tröôøng hôïp ngoaïi leä. 1.2.2. Thanh ghi côø (Flag Register) Caùc bit ghi traïng thaùi thöôøng coù trong moät thanh ghi traïng thaùi. D D D D D D D D S Z X AC X P X CY Hình 1.1. Caáu taïo thanh ghi traïng thaùi  S: Sign: (bit daáu) – S = 1: Khi keát quaû laø soá aâm. – S = 0: Khi keát quaû laø soá döông.  Z: Zero (bit Zero). – Z = 1: Khi keát quaû baèng 0 – Z = 0: Khi keát quaû khaùc 0.  AC – Auxikary Carry (bit nhôù soá phuï) – AC = 1: Khi caùc pheùp tính bò traøn treân 3 bit (D3) – AC = 0: Khi pheùp toaùn khoâng bò traøn treân 3 bit (D3)  P: Party (bit chaún leõ). – P = 1: Khi keát quaû laø soá chaún. – P = 1: Khi keát quaû laø soá leõ.  CY: Cary (bit soá nhôù) – Cy = 1: Khi keát quaû soá nhôù.
  3. – Cy = 0: Khi keát quaû coù soá mhôù. Trong 5 soá côø treân, thì côø AC ñöôïc duøng beân trong ñoái vôùi pheùp toaùn BCD. INTA RST 6.5 TRAP INTR RST 5.5 RST 7.5 SID SOD Interrupt Control Serial I/O Control 8 Bit Internal Data Bus Instruction Accumulater Temp. Reg. Register Multiplexer (8) (8) (8) (8) (8) W Z Temp. Reg. Temp. Reg. (8) (8) B C Reg. Reg. Flag (8) (8) Register Flip Flops D E Reg. Select Reg. Reg. Array (8) (8) Instruction H L Decoder Reg. Reg. Arithmatic and Logic Machine Stack Pointer Unit Cycle (16) Encoding Program Counter (ALU) (16) (8) Incrementer / Decrementer Address Lactch (16) Power Supply +5V GND X1 CLK Timing and Control (8) (8) X2 GEN Control Status DMA Reset Address Buffer Data Address Buffer CLK OUT RD WR ALE S0 S1 IO/M HLDA RESET OUT AD15 - AD8 AD7 - AD0 READY HOLD RESET IN Address Bus Address Data Bus Hình 1.2. Sô ñoà khoái chöùc naêng cuûa 8085 1.2.3.Ñôn vò ñònh thôøi vaø ñieàu khieån. Ñôn vò naøy ñoàng boä taát caû caùc hoaït ñoäng cuûa CPU baèng xung ñoàng hoà vaø phaùt ra caùc tín heäu ñieàu khieån caàn thieát cho vieäc thoâng tin giöõa CPU vaø thieát bò ngoaïi vi.   Caùc tín hieäu R D,W R laø caùc xung ñoàng boä ghæ thò söï coù saún cuûa döõ lieäu treân tuyeán döõ lieäu. 1.2.4.Thanh gh vaø boä giaõi maõ.
  4. Thanh ghi leänh vaø boä giaõi maõ thuoäc veà ALU. Khi moät leänh ñöôïc tìm thaáy töø boä nhôù noù ñöôïc naïp vaøo thanh ghi leänh. Boä giaõi maõ seõ thöïc hieän giaûi maõ leänh vaø thöïc thi trình töï cuûa leänh ñoù. Thanh ghi leänh khoâng theå xaâm nhaäp vaø laäp trình baèng baát kyø baèng leänh naøo. 1.2.5.daõy thanh ghi. Caùc thanh ghi laäp trình goàm coù: A, B,C, D, E, F, H vaø L coù theå laäp trình ñoäc laäp hoaëc keát hôïp thaønh töøng caëp: AF = (PSW), BC = (B), PE = (D), HL = (H). Ngoaøi ra coøn coù hai thanh ghi phuï goïi laø caùc thanh ghi taïm W vaø Z thuoäc daõi thanh ghi caùc thanh ghi naøy ñöôïc söû duïng ñeå duy trì döõ lieäu 8 bit trong khi thi haønh moät soá leänh SP (Strack Pointer): con troû ngaên xeáp. PC (Program Counter): boä ñeám chöông trình. Ñaây laø hai thanh ghi 16 bit voâ cuøng quan troïng. 1.3.Ñònh nghóa caùc chaân cuûa CPU 8085. CPU 8085 laø moät chip vi xöû lyù ñôn 8 bit keânh N coù ñaëc tính sau: - Nguoàn nuoâi 5V 10%, IMAX = 170 mA. - Taàn soá xung ñoàng hoà 6MHZ. - Maïch taïo xung ñoàng hoà ñöôïc tích hôïp, coù theå duøng thaïch anh, RC, hoaëc LC laép raùp theâm beân ngoaøi. - Chöùc naêng ñieàu khieån heä thoáng ñöôïc tích hôïp treân maïch. - Coù 4 vectô ngaét: trong ñoù coù moät yeâu caàu ngaét khoâng che ñöôïc (Non – MasKable – Interrupt) vaø moät töông thích 8080A. - Coù toång I/O noái tieáp. - Phaàn meàm töông thích 100% vôùi 8080A.
  5. - Coù coång I/O noái tieáp. - Thöïc hieän ñöôïc caùc pheùp tínhsoá hoïc: thaäp phaân, nhò phaân vaø 16 bit. - Ñòa chæ ñöôïc tieáp 64K byte oâ nhôù. Toaøn boä caùc tín hieäu coù theå ñöôïc chia laøm 6 nhoùm. 1. Tuyeán ñòa chæ. 2. Tuyeán döõ lieäu. 3. Caùc tín hieäu traïng thaùi vaø ñieàu khieån. 4. Nguoàn cung caáp vaø caùc tín hieäu taàn soá. 5. Caùc ngaét vaø caùc tín hieäu khôûi taïo ngoaïivi. 6. Caùc coång I/O noái tieáp. +5V GND 1 2 40 20 X1 X2 Vcc Vss Serial SID 5 A15 28 I/O SOD 4 High Outer Ports Address Bus TRAP 6 A8 21 RST 7.5 7 RST 6.5 8 RST 5.5 9 Interrupts INTR 10 and Externally 8085 AD7 19 Multiplexed Initiated Address/Data Bus Signals READY 35 AD0 12 HOLD 39 RESET IN 36 30 ALE 29 S0 33 S1 Control 34 IO/M and 32 RD 31 WR Status Signals 11 INTA 18 HLDA 21 21 RESET CLK OUT OUT Hình 1.3.sô ñoà tín hieäu cuûa CPU 8085
  6. X1 1 40 Vcc X2 2 39 HOLD RESET(OUT) 3 38 HLDA SOD 4 37 CLK(OUT) SID 5 36 RESET IN TRAP 6 35 READY RST7.5 7 34 IO/M RST6.5 8 33 S1 RST5.5 9 32 RD INTR 10 8085 31 WR INTA 11 30 ALE AD0 12 29 S0 AD1 13 28 A15 AD2 14 27 A14 AD3 15 26 A13 AD4 16 25 A12 AD5 17 24 A11 AD6 18 23 A10 AD7 19 22 A9 Vss 20 21 A8 8085 Pinout Hình 1.4. sô ñoà chaân CPU 8085A 1.3.1.Tuyeán ñòa chæ CPU 8085A coù 8 ñöôøng tín hieäu, A15 – A8 laø caùc tín hieäu moät chieàu ñöôïc söû duïng nhö tuyeán ñòa chæ cao.
  7. 1.3.2.Tuyeán döõ lieäu / ñòa chæ ña hôïp. Caùc ñöôøng tín hieäu AD0 – AD7 laø caùc ñöôøng hai chieàu, chuùng phuïc vuï muïc ñích keùp. Caùc ñöôøng naøy söû duïng luùc thì nhö laø moät tuyeán ñòa chæ, luùc nhö laø moät tuyeán döõ lieäu. Khi thi haønh moät leänh, trong moät phaàn ñaàu cuûa chu kyø, caùc ñöôøng naøy ñöôïc söû duïng nhö laø moät tuyeán ñòa chæ thaáp. Suoát phaàn coøn laïi cuûa chu kyø caùc ñöôøng naøy ñöôïc xem nhö laø moät tuyeán döõ lieäu: ñieàu naøy cuõng ñöôïc goïi laø ña hôïp tuyeán (Multilexing the bus) Tuy nhieân, tuyeán ñòa chæ thaáp coù theå ñöôïc taùch ra töø caùc tín hieäu naøy nhôø moät söû duïng moät maïch choát (Latch). 1.3.3.Caùc tín hieäu ñieàu khieån vaø traïng thaùi.   Bao goàm hai tín hieäu laø R D,W R , 3 tín hieäu traïng thaùi laø _ IO/ M , S1 vaø So ñeå xaùc ñònh loaïi hoaït ñoäng vaø moät tín hieäu ñaëc bieät: ALE, ñeå chæ thò söï baét ñaàu cuûa hoaït ñoäng.  ALE –Address Latch Enable. Cho pheùp choát ñòa chæ. Ñaây laø moät xung taùc ñoäng caïnh leân ñöôïc phaùt ra moãi laàn 8085 baét ñaàu moät hoaït ñoäng (chu kyø maùy), noù chæ thò raèng caùc bit ADo – AD7 laø caùc bit ñòa chæ. veà cô baûn caùc tín hieäu naøy ñöôïc söû duïng ñeå choát caùc ñòa chæ thaáp töø moät tuyeán ña hôïp vaø cho ra moät taäp rieâng bieät 8 ñöôøng ñòa chæ, A7 ñeán A0, ALE laø moät tín hieäu ñieàu khieån. _  RD - Read: ñoïc, ñaây laø moät tín hieäu ñieàu khieån ñoïc (taùc ñoäng möùc thaáp) tín hieäu naøy chæ thò ñoïc. I/O hoaëc boä nhôù vaø döõ lieäu khaû duïng treân tuyeán döõ lieäu. _  WD - Write: Vieát (ghi) ñaây laø tín hieäu ñieàu khieån ghi (taùc ñoäng möùc thaáp) tín hieäu naøy chæ thò raèng, döõ lieäu treân tuyeán döõ lieäu ñöôïc ghi vaøo moät oâ nhôù hoaëc I/O ñaõ choïn.
  8. _  IO/ M : In put Out put/ Memory: ñaây laø tín hieäu traïng thaùi ñöôïc söû duïng, ñeå phaân bieät giöõa caùc hoaït ñoäng I/O vaø boä nhôù. Khi   noù ôû möùc thaáp, tín hieäu naøy ñöôïc keát hôïp vôùi R D,W R ñeå taïo ra caùc tín hieäu ñieàu khieån I/O vaø boä nhôù.  S1 vaø SO: Status, ñaây laø caùc tín hieäu traïng thaùi, töông töï nhö _ IO/ M , coù theå xaùc ñònh caùc hoaït ñoäng khaùc nhau, nhöng chuùng hieám khi ñöôïc söû duïng trong caùc heä thoáng nhoû. 1.3.4.Nguoàn cung caáp vaø taàn soá xung ñoàng hoà.  VCC: Nguoàn cung caáp +5V.  VSS: tham chieáu ñaát (GND).  X1 vaø X2: thaïch anh (hoaëc maïch L – C, R – C) ñöôïc noái taïi hai chaáu naøy. Moãi chuûng loaïi 8085 ñeàu coù taàn soá toái ña cho pheùp vaøo hai chaân naøy. 6MH ñoái vôùi 8085A. 10MHZ ñoái vôùi 8085A – 2 12MHZ ñoái vôùi 8085A – 1. Taàn soá ñöôïc ñöa vaøo töø X1 vaø X2 seõ ñöôïc chia hai beân trong vi xöû lyù.  Clock Out Put (ngoõ ra xung ñoàng hoà, cung caáp tín hieäu xung ñoàng hoà, caùc thaønh phaàn khaùc trong heä thoáng f X1X 2 Do ñoù f CKL  2 Baûng 1.1.Baûng traïng thaùi cuûa caùc tín hieäu ñieàu khieån Chu kyø maùy Traïng thaùi Caùc tín hieäu ñieàu IO/ S1 S0 khieån _ M Tìm kieám maõ hoaït 0 1 1 _ RD =0 ñoäng.
  9. Ñoïc boä nhôù. 0 1 0 _ RD =0 Ghi vaøo boä nhôù 0 0 1 _ WR =0 Ñoïc I/O 1 1 0 _ RD =0 Ghi vaøo I/O 1 0 1 _ WR =0 Yeâu caàu ngaét. 1 1 1 _ INTA =0 Döøng. Z 0 0 Treo Z X X _ _ RD , WR=Z Ñaët laïi Z X X _ Vaø INTA = 1 Z: Toång trôû cao ( 3 traïng thaùi: Tri – States) X: Khoâng xaùc ñònh (Don’t care). 1.3.5. Caùc ngaét vaø hoaït ñoäng khôûi taïo beân ngoaøi. CPU 8085 coù 5 tín hieäu ngaét coù theå söû duïng ñeå ngaét moät söï thi haønh chöông trình. _ CPU 8085 traû lôøi moät ngaét baèng tín hieäu INTA (Interrup Acknowedge). Ngoaøi caùc ngaét, coøn coù 3 chaân: RESET, HOLD, READY tieáp nhaän caùc ngaét beân ngoaøi nhö laø caùc ngoõ vaøo.  : Khi tín hieäu naøy ôû möùc Logic thaáp, boä ñeám chöông trình ñöôïc ñaët veà 0. Caùc tuyeán ñòa chæ ôû traïng thaùi toång trôû cao (Hight – Z) vaø CPU ñöôïc ñaët laïi (Reset).  RESET OUT: Tín hieäu naøy chæ thò raèng CPU ñang ñöôïc ñaët laïi, ñoàng thôøi tín hieäu naøy coù theå ñöôïc duøng ñeå ñaët caùc thieát bò khaùc trong heä thoáng. 1.3.6.Caùc loaïi ngaét vaø tín hieäu khôûi taïo beân ngoaøi CPU 8085A.
  10.  INTR (vaøo) Interrup Request. Tín hieäu naøy ñöôïc söû duïng nhö moät ngaét phoå duïng (general – Purpose Interrup) noù töông töï nhö tín hieäu INT cuûa 805A.  : (Ra) ) Interrup Acknowledge. Tín hieäu naøy duøng traû lôøi moät yeâu caàu ngaét.  RST 7.5 (vaøo) Restar ) Interrup RST 6.5 RST 5.5. Ñaây laø caùc ngaét coù ñònh höôùng (Vectored ) Interrup) vaø che ñöôïc, chuùng ñöôïc duøng ñeå truyeàn söï ñieàu khieån chöông trình ñeán caùc oâ nhôù cuï theå, chuùng coù quyeàn öu tieân cao hôn ngaét INTR. Trong soá 3 ngaét naøy, thöù töï öu tieân laø RST 7.5, RST 6.5, RST 5.5. Baûng 1.2.Caùc ngaét vaø tín hieäu khôûi taïo Loaïi ngaét Oâ nhôù ñeå goïi ngaét 1. TRAP 0024H 2. RST 7.5 003CH 3. RST 6.5 0034H 4. RST 5.5 002CH  TRAP (vaøo). ñaây laø moät ngaét khoâng che ñöôïc vaø coù quyeàn öu tieân cao nhaát.  HOLD (vaøo). tín hieäu naøy chæ thò moät ngoaïi vi nhö boä ñieàu khieån DMA (Direct Memory Access) ñang yeâu caàu söû duïng caùc tuyeán ñòa chæ, döõ lieäu.
  11.  HLDA (ra). Hold Acknowledge: Tín hieäu naøy traû lôøi yeâu caàu HOLD.  READY (vaøo). tín hieäu naøy ñöôïc duøng ñeå trì hoaûn caùc chu kyø hoaëc ghi cuûa CPU cho ñeán khi ngoaïi vi (loaïi ñaùp öùng chaäm) saún saøng gôûi hoaëc nhaän döõ lieäu. Khi tín hieäu naøy xuoáng thaáp CPU ñöôïc ñôïi trong moät soá nguyeân laàn caùc chu kyø ñoàng hoà cho ñeán khi noù leân cao. 1.3.7. Caùc coång I/O noái tieáp. CPU 8085 coù hai ñöôøng tín hieäu ñeå thöïc hieän vieäc truyeàn döõ lieäu noái tieáp.  SID (Serial Input Data) Döõ lieäu vaøo noái tieáp tín hieäu naøy naïp vaøo bit D7 cuûa hanh ghi A. Trong suoát quaù trình ñöôïc thöïc hieän bôûi leänh SIM.] 1.4.Taäp leänh cuûa CPU 8085. Moät leänh (Instruction) laø moät maãu nhò phaân (Binary Pattern) ñöôïc thieát keá beân trong cuûa CPU ñeå thöïc hieän moät chöùc naêng cuï theå. moät nhoùm ñaày ñuû caùc leänh ñöôïc goïi laø taäp leänh (Instruction Set) xaùc ñònh caùc chöùc naêng cuï theå maø CPU 8085 coù taát caû 244 leänh ñöôïc chia thaønh caùc nhoùm sau:  Nhoùm leänh truyeàn ( sao cheùp) döõ lieäu.  Nhoùm leänh toaùn hoïc.  Nhoùm leänh nhaõy, reõ nhaùnh.  Nhoùm leänh hoaït ñoäng Logic  Nhoùm leänh ñieàu khieån. a. Nhoùm leänh truyeàn (sao cheùp) döõ lieäu: Thöïc hieän sao cheùp döõ lieäu töø nguoàn ñeán nôi ñích maø khoâng laøm thay ñoåi noäi dung sao cheùp.
  12.  Truyeàn döõ lieäu giöõa caùc thanh ghi.  Byte döõ lieäu cuï theå ñeán thanh ghi hoaëc oâ nhôù.  Giöõa moät oâ nhôù vaø thanh ghi.  Giöõa thieát bò I/O vaø thanh ghi tích luõy.  Giöõ thanh ghi vaø ngaên xeáp. b. Nhoùm leänh hoaït ñoäng toaùn hoïc: Caùc leänh naøy thöïc hieän caùc pheùp toaùn coäng, tröø, taêng, giaûm:  Coäng: Coâng baát kyø moät soá 8 bit, hoaëc noäi dung cuûa thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå coâng vôùi moät noäi dung cuûa moät thanh ghi tích luõy vaø keát quaû ñöôïc ñöa vaøo thanh ghi tích luõy. Hai thanh ghi hoaëc oâ nhôù khoâng theå coäng tröïc tieáp vôùi nhau. Leänh LAD laø moät ngoaïi leä, noù coäng tröïc tieáp döõ lieäu 16 bit trong caùc caëp thanh ghi.  Tröø: Tröø baát kyø moät soá 8 bit, hoaëc noäi dung cuûa moät thanh ghi tích luõy. Leänh tröø ñöôïc thöïc hieän ôû daïng buø 2, keát quaû neáu aâm ñöôïïc bieåu dieãn ôû daïng soá buø 2. Hai thang ghi hoaëc oâ nhôù khoâng theå tröø tröïc tieáp.  Taêng giaûm: Noäi dung 8 bit cuûa moät thanh ghi hoaëc oâ nhôù coù theå ñöôïc taêng hoaëc giaûm moãi laàn moät ñôn vò. Töông öï nhö noäi dung 16 bit cuûa moät caëp thanh ghi 16 bit coù theå ñöôïc taêng hoaëc giaûm ñi moät. Caùc hoaït ñoäng taêng vaø giaûm khaùc vôùi pheùp coäng vaø tröø ôû moät caùch thöùc raát quan troïng laø chuùng coù theå thöïc hieän trong baát kyø thanh ghi hoaëc oâ nhôù naøo. c. Nhoùm leänh hoaït ñoäng Logic. Caùc leänh naøy thöïc hieän caùc hoaït ñoäng Logic khaùc nhau vôùi noäi dung cuûa thanh ghi tích luõy.
  13.  AND, OR, XOR. Baát kyø moät soá 8 bit hoaëc noäi dung cuûa moät thanh ghi hoaëc noäi dung cuûa oâ nhôù coù theå ñöôïc Logic AND, OR hoaëc XOR vôùi noäi dung cuûa thanh ghi tích luõy.  Xoay: Moãi bit trong thanh ghi tích luõy coù theå ñöôïc dòch traùi hoaëc phaûi ñeán vò trí keá tieáp.  So saùnh: Baát kyø moät soá 8 bit hoaëc noäi dung cuûa moät thanh ghi, hoaëc noäi dung cuûa moät oâ nhôù coù theå so saùnh lôùn hôn, baèng, hoaëc nhoû hôn vôùi noäi dung cuûa thanh ghi tích luõy.  Buø: Noäi dung cuûa thanh ghi tích luõy ñöôïc laáy buø taát caû bit 0 ñöôïc thay theá baèng 1 vaø toaøn boä caùc bit 1 ñöôïc thay theá baèng 0. d. Nhoùm leänh reõ nhaùnh. Nhoùm leänh naøy laøm thay ñoåi tình töï thi haønh cuûa chöông trình:  Nhaûy: Caùc leänh nhaûy laø ñieàu kieän quan troïng ñeå ñöa ra quyeát ñònh trong laäp trình. Caùc leänh nhaûy kieåm tra moät ñieàu kieän naøo ñoù (côø Zero hoaëc côø Carry) ñeå laøm thay ñoåi trình töï thi haønh khi gaëp ñieàu kieän, ngoaøi ra coøn coù leänh nhaûy khoâng ñieàu kieän.  Goïi, trôû veà vaø khôûi ñoäng laïi: Caùc leänh naøy laøm thay ñoåi trình töï cuûa moät chöông trình baèng caùch goïi chöông trình con hoaëc trôû veà moät chöông trình con. Caùc leänh goïi vaø trôû veà cuõng coù theå kieåm tra caùc côø ñieàu kieän. e. Nhoùm leänh hoaït ñoäng vaø ñieàu khieån. Caùc leänh naøy ñieàu khieån caùc chöùc naêng vaän haønh nhö laø döøng, ngaét hoaëc khoâng laøm gì caû (NOP). Taäp leänh cuûa CPU 8085A ñöôïc hia laøm 3 nhoùm tuøy theo kích côû cuûa töø leänh.
  14. 1. Caùc leänh moät töø hoaëc1 byte. 2. Caùc leänh hai töø hoaëc 2 byte. 3. Caùc leänh ba töø hoaëc 3 byte. Leänh moät byte chöùa maõ hoaït ñoäng (opcode) vaø toaùn töû (operand) trong cuøng moät byte. Trong leänh 2 byte, byte thöù nhaát noùi leân maõ hoaït ñoäng vaø byte thöù hai noùi leân toaùn töû. Ñoái vôùi 3 byte, byte ñaàu tieân laø maõ hoaït ñoäng, hai byte sau laø döõ lieäu 16 bit ( noäi dung hoaëc ñò chæ) 1.5.Maïch choát ñeäm ñòa chæ vaø tuyeán döõ lieäu cho vi xöû lyù CPU 8085A. Maïch choát ñòa chæ tuyeán thaáp. Trong heä thoáng CPU 8085 baét buoäc phaûi choát (latch) tuyeán ñòa chæ ñeå ña hôïp (Demultiplex) tuyeán AD0 - AD7 thaønh hai tuyeán rieâng bieät.  Tuyeán ñòa chæ thaáp: A0 – A7  Tuyeán döõ lieäu: D0 – D7 Hình 4.1 trình baøy sô ñoà moät maïch choát duøng tín hieäu ALE ñeå giaûi ña hôïp tuyeán. 3 2 AD0 D0 Q0 A0 4 5 Tuyeán ñòa chæ AD1 7 D1 Q1 6 A1 Tuyeán ñòa chæ döõ lieäu ña AD2 AD3 8 D2 D3 Q2 Q3 9 A2 A3 thaáp ñaõ ñöôïc hôïp töø vi xöû AD4 13 14 D4 Q4 12 15 A4 choát (giaûi ña hôïp) lí 8085 AD5 17 D5 Q5 16 A5 AD6 18 D6 Q6 19 A6 AD7 D7 Q7 A7 1 11 OC ALE G 74LS373 D0 D1 Tuyeán döõ lieäu D2 D3 ñaõ ñöôïc D4 giaûi ña hôïp D5 D6 D7
  15. Hình 1.5.sô ñoà maïch choát tuyeán ñòa chæ thaáp Tuyeán AD0 – AD7 ñöôïc keát noái ñeán ngoõ vaøo cuûa maïch choát 74LS373. Tín hieäu choát ñöôïc noái chaân G cuûa 74LS373. Tín hieäu ñieàu khieån ngoõ ra (OC) cuûa maïch choát luoân luoân ñöôïc noái ñaát (luoân chaáp nhaän). Chaân choát ALE luoân ôû möùc cao trong moãi chu kyø T1. Khi ALE ôû möùc cao, ngoõ ra cuûa maïch choát thay ñoåi tuøy theo döõ lieäu (ñòa chæ ngoõ vaøo). trong moãi chu kyø T1 ngoõ ra cuûa maïch choát laø 0,5H. khi ALE xuoáng thaáp byte 0,5H ñöôïc choát cho ñeán khi coù ALE tieáp theo, ngoõ ra cuûa maïch choát ñaïi dieän tuyeán ñòa chæ thaáp A0 – A7. Hình 1.6.Giaûn ñoà thôøi gian khi truyeàn moät byte töø boâï nhôù ñeán vi xöû lyù 1.6.Maïch ñieäm tuyeán ñòa chæ cao Maïch ñeäm (Buffer) laø moät maïch Logic ñeå khueách ñaïi doøng ñieän hoaëc coâng suaát ñöôïc söû duïng ñeå laøm taêng khaû naêng laùi (Drive) cuûa moät tín hieäu Logic. Hình 1.7 trình baøy moät maïch ñeäm moät chieàu 74LS244 vì tuyeán ñòa chæ laø tuyeán moät chieàu höôùng töø vi xöû lyù ñeán caùc ngoaïi vi.
  16. Caùc tuyeán ñòa chæ cuûa CPU 8085 coù theå caáp doøng 400A (IOH = 400A) vaø ruùt doøng 2mA (IOH = 2mA) Maëc duø beân trong CPU 8085A ñaõ coù caùc maïch ñeäm döõ lieäu vaø ñòa chæ, nhöng theo khueán caùo cuûa nhaø cheá taïo, neáu trong heä thoáng vi xöû lyù coù töø 10 thaønh phaàn trôû leân thì phaûi duøng caùc maïch ñeäm. Maïch 74LS244 coù khaû naêng caáp doøng ñeán 15mA vaø ruùt doøng 24mA. Hình 1.7. Maïch ñeäm tuyeán ñòa chæ cao 1.7.Maïch ñeäm döõ lieäu Hình 1.8.Trình baøy maïch 74LS245 laø maïch ñeäm hai chieàu vì tuyeán döõ lieäu laø tuyeán hai chieàu, höôùng cuûa doøøng döõ lieäu ñöôïc ñieàu khieån bôûi chaân DIR. Hình 1.8. Mach ñeäm döõ lieäu.
  17. Höôùng doøng döõ lieäu ñöôïc xaùc ñòng baèng caùch noái tín hieäu töø CPU 8085A ñeán tín hieäu DIR. Khi CPU ghi (Write) vaøo moät ngoaïi vi, khi leân cao vaø doøng döõ lieäu töø CPU ñeán ngoaïi vi. Khi CPU ñoïc (Read) töø moät ngoaïi vi xuoáng thaáp vaø doøng döõ lieäu höôùng ñeán CPU, coøn tuyeán ñòa chæ thaáp ñaõ ñöôïc ñeäm bôûi 74LS373. Trong heä thoáng vi xöû lyù, caùc ngoaïi vi ñöôïc keát noái ôû daïng song song giöõa tuyeán ñòa chæ , tuyeán döõ lieäu vaø tuyeán ñieàu khieån. CPU thoâng tin vôùi moät trong caùc thieát bò taïi moät thôøi ñieåm. Khi ñoù phaûi caùch ly vôùi taát caû caùc thieát bò coøn laïi. Do ñoù phaûi duøng maïch 3 traïng thaùi (Tri – State) ñeå giaûi quyeát. 1.8.Giaûi maõ ñòa chæ. Trong moät heä thoáng vi xöû lyù, ngoaøi caùc phaàn töû nhôù (RAM, ROM) CPU coøn phaûi thoâng baùo cho caùc I/O ngoaïi vi (8251A, 8253, 8255A, 8279…) ñeå baùo raèng CPU ñang caàn thoâng tin vôùi boä nhôù vaøo ROM hay RAM, hoaëc vôùi I/O naøo, vôùi phaàn töû naøo trong thieát bò (oâ nhôù, thanh ghi…) traïng thaùi, ñieàu khieån hay döõ lieäu. Do ñoù baét buoäc phaûi coù heä thoáng giaõi maõ. 1.8.1.Caùc phöông phaùp giaûi maõ ñòa chæ. Coù 3 phöông phaùp giaûi maõ ñòa chæ: 1. Giaûi maõ töøng phaàn (Partial Address Decoding). 2. Giaûi maõ ñòa chæ toaøn phaàn (Full Address Decoding). 3. Giaûi maõ ñòa chæ theo khoái (Block Address Decoding). Tuy nhieân coù nhieàu caùch khaùc nhau ñeå thöïc hieän moåi caùch trong 3 phöông phaùp treân: a. Giaûi maõ ñòa chæ duøng Logic ngaåu nhieân (Address Decoding Using Random Logic)
  18. b. Giaûi maõ ñòa chæ duøng boä giaûi maõ m sang n ñöôøng (Address Decoding Using m – Line Decoders). c. Giaûi maõ ñòa chæ baèng PROM (Address Decoding With PROM). d. Giaûi maõ ñòa chæ duøng boä Logic laäp trình PLA (Address Decoding Using Program Logic Array). Caùc kyõ thuaät treân ñeàu coù theå aùp duïng cho boä nhôù I/O vaø ngoaïi vi. Ñoái vôùi I/O ngoaïi vi, cho pheùp löïa choïn moät trong hai phöông phaùp. i. Giaûi maõ I/O ngoaïi vi (Peripheral I/O) hay coøn goïi laø I/O caùch ly. ii. Giaûi maõ I/O coù laäp baûng ñoà nhôù (Memory Mapped I/O). 1.9.Giaûi maõ ñòa chæ cho ñôn vò CPU. Trong heä thoáng naøy, phaàn giaûi maõ ñòa chæ söû duïng kieåu giaûi maõ ñòa chæ duøng caùc boä giaûi maõ töø m ñöôøng n ñöôøng. 1.9.1.giaûi maõ ñòa chæ cho heä thoáng boä nhôù. Cô sôû löïa choïn dung löôïng boä nhôù ñoù chính laø dung löôïng phaàn meàm. Paàn meàm ôû ñaây bao goàm chöông trình heä thoáng (chöông trình Monitor) vaø chöông trình cuûa ngöôøi duøng cho soaïn thaûo. Heä thoáng boä nhôù ôû ñaây goàm coù:  Moät EPROM coù dung löôïng 8KB x 8 bit (loaïi 2764).  Moät Ram coù dung löôïng 8KB x 8 bit (loaïi 6264). Baûng ñoà nhôù cuûa heä thoáng
  19. Hình 1.9.Baûn ñoà boä nhôù heä thoáng. Hình 1.9.Sô ñoà maïch giaûi maõ boä nhôù vaø ngoaïi vi cho heä thoáng. Hình 1.10. Maïch giaõi maõ ñòa chæ cho boä nhôù vaø ngoaïi vi Boä nhôù ROM (Read Only Memory) coù nhieäm vuï löu giöõ chöông trình quaûn lyø heä thoáng. Boä nhôù RAM (Random Accsess Memory) löu giöõ taïm thôøi döõ lieäu soaïn thaûo. Trong heä thoángnaøy taát caû boä nhôù ROM vaø RAM caùc ngoaïi vi ñieàu ñöôïc giaûi maõ theo kieåu Memory. Baûng 1.3.Ñòa chæ cuûa heä thoáng. Boä nhôù A1 A14 A1 A12 Vuøng ñiaï
  20. 5 3 A0 chæ ROM 1 0 0 0 00 0000H 0 0 0 11 1FFFH RAM 1 0 0 1 00 2000H 0 0 0 11 3FFFH
Đồng bộ tài khoản