intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Quá trình hình thành giáo trình viết từ ngôn ngữ gợi nhớ sang mã máy tại những lệnh jump và call p2

Chia sẻ: Defwsdg Sdgsg | Ngày: | Loại File: PDF | Số trang:11

67
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'quá trình hình thành giáo trình viết từ ngôn ngữ gợi nhớ sang mã máy tại những lệnh jump và call p2', khoa học xã hội, thư viện thông tin phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Quá trình hình thành giáo trình viết từ ngôn ngữ gợi nhớ sang mã máy tại những lệnh jump và call p2

  1. 12 LUAÂÄN VAÊN TOÁT NGHIEÄP Toaøn boä caùc tín hieäu cuûa 8085 coù theå ñuôïc phaân thaønh 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 taàn soá (6) Caùc coång I/O noái tieáp +5V GND 1 2 40 20 X1 X2 Vcc Vss Serial SID 5 28 A15 I/O 4 SOD High Outer Ports Address Bus TRAP 6 21 A8 RST 7.5 7 RST 6.5 8 RST 5.5 9 10 Interrupts INTR 8085 19 AD7 and Externally Multiplexed Initiated Address/Data Bus Signals READY 35 12 AD0 39 HOLD 36 30 ALE RESET IN 29 S0 33 S1 Control 34 IO/M and 32 RD Status Signals 31 WR 11 INTA 18 HLDA 21 21 RESET CLK OUT OUT Hình 3: caùc nhoùm hoaït ñoäng cuûa 8085 I.1.1.2. Caáu truùc beân trong 8085: 8085ù bao goàm ñôn vò logic vaø soá hoïc ALU (Arithmetic and Logic Unit), ñô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) (xem hình 4).
  2. 13 LUAÂÄN VAÊN TOÁT NGHIEÄP INTA RST 6.5 TRAP SID INTR RST 5.5 RST 7.5 SOD Interrupt Control Serial I/O Control 8 Bit Internal Data Bus Instruction Accumulater Temp. Reg. Multiplexer Register (8) (8) (8) (8) (8) W Z Temp. Reg. Temp. Reg. (8) (8) B C Reg. Reg. Flag (8) (8) Register D E Flip Flops Array Re Reg. Reg. (8) (8) g. H L Instruction Reg. Reg. Sel Decoder Arithmatic and ect Stack Pointer Logic Machine Unit (16) Cycle Encoding Program Counter (ALU) (16) (8) Incrementer / Decrementer Address Lactch (16) Power Supply +5V GND X1 CLK Timing and Control (8) (8) GEN Control Reset X2 Status DMA Address Buffer Data Address Buffer CLK OUT IO/M RD WR ALE S0 S1 HLDA AD15 - AD8 AD7 - AD0 RESET OUT Address Bus Address Data Bus READY HOLD RESET IN Hình 4: Sô ñoà khoái chöùc naêng cuûa 8085 I.1.2. Caáu truùc phaàn meàm: Taäp leänh cuûa 8085 Moät leänh (Instruction) laø moät maãu nhò phaân (binary pattern) ñöôïc thieát keá beân trong vi xöû lyù ñeå thöïc hieän moät chöùc naêng cuï theå (Instruction set), xaùc ñònh caùc chöùc naêng maø vi xöû lyù coù theå thöïc hieän. Taäp leänh cuûa 8085 coù 74 leänh (hôn 8080 hai leänh), caùc leänh naøy coù theå ñöôïc phaân thaønh 5 nhoùm chöùc naêng :  Caùc hoaït ñoäng (sao cheùp) truyeàn döõ lieäu  Caùc hoaït ñoäng toaùn hoïc  Caùc hoaït ñoäng logic  Caùc hoaït ñoäng reõ nhaùnh  Vaø, caùc hoaït ñoäng ñieàu khieån Taäp leänh vi xöû lyù 8085 ñöôïc phaân thaønh 3 nhoùm tuyø theo kích côõ töø : 1. Caùc leänh moät töø hoaëc 1 byte 2. Caùc leänh hai töø hoaëc 2 byte 3. Caùc leänh ba töø hoaëc 3 byte
  3. 14 LUAÂÄN VAÊN TOÁT NGHIEÄP Leänh moät byte chöùa maõ hoaït ñoäng (Op code) vaø toaùn töû (Operand) trong cuøng moät byte. Trong leänh hai byte, byte thöù nhaát neâu leân maõ hoaït ñoäng vaø theo sau laø toaùn töû. Ñoái vôùi leänh ba byte, byte ñaàu tieân cho bieát maõ hoaït ñoäng, 2 byte theo sau laø döõ lieäu (noäi dung hoaëc ñòa chæ) 16 bit. I.2. IC NGOAÏI VI 8255: I.2.1. Caáu truùc: I.2.1.1. Phaàn cöùng: 8255 laø moät thieát bò I/O giao tieáp song song, noù coù theå ñöôïc laäp trình ñeå truyeàn döõ lieäu döôùi caùc ñieàu kieän khaùc nhau, töø I/O ñôn giaûn ñeán I/O coù ngaét. Noù khaù linh hoaït, ña naêng vaø tinh teá (khi coù nhieàu coång I/O ñöôïc ñoøi hoûi), nhöng cuõng phöùc taïp. Noù laø moät thieát bò I/O phoå duïng coù theå ñöôïc söû duïng vôùi haàu heát baát kyø boä vi xöû lyù naøo. 8255 coù 40 chaân daïng DIP nhö hình 5. 8255 Group A PA3 40 PA4 1 Group I/O Port A PA7-PA0 PA2 39 PA5 A 2 Control (8) PA1 38 PA6 3 PA0 37 PA7 4 RD 36 WR 5 CS 35 RESET 6 Group A GND 34 D0 7 Bidirectional I/O Port C Data Bus PA7-PA0 A1 33 D1 Upper 8 (4) A0 32 D2 9 Data PC7 31 D3 10 Bus Buffer PC6 30 D4 11 Group A PC5 29 D5 12 D7-D0 I/O Port C PA7-PA0 PC4 28 D6 13 Lower (4) PC0 27 D7 14 PC1 26 Vcc 15 PC2 25 16 PB7 Group RD PC3 24 17 PB6 Read B WR Group I/O Write Port PB0 23 18 PB5 A PA7-PA0 Control A1 B Control Logic PB1 22 19 PB4 (8) A0 PB2 21 20 PB3 RESET CS Hình 5 : sô ñoà chaân vaø Sô ñoà khoái cuûa 8255 Baûng 2: Baûng lieät keâ chöùc naêng caùc chaân IC 8255
  4. 15 LUAÂÄN VAÊN TOÁT NGHIEÄP Teân caùc chaân Chöùc naêng D7 – D0 Data bus (Bi – Direction) RESET Rest Input CS\ Chip Select RD\ Read Input WR \ Write Input A0, A1 Port Address PA7 – PA0 Port A PB7 – PB0 Port B PC7 – BC0 Port C Sô ñoà khoái treân hình 5. trình baøy hai coång 8 bit (A vaø B) vaø hai coång 4 bit (CU vaø CL) boä ñieän tuyeán döõ lieäu, vaø logic ñieàu khieån. Hình 5.9 (b) trình baøy moät sô ñoà ñôn giaûn hoùa nhöng môû roäng cuûa caáu truùc beân trong, chöùa moät thanh ghi ñieåu khieån. Sô ñoà khoái naøy chöùa taát caû caùc phaàn töû cuûa moät thieát bò laäp trình; coång C thöïc hieän chöùc naêng töông töï chöùc naêng cuûa thanh ghi traïng thaùi, ngoaøi ra coøn cung caáp caùc tín hieäu baét tay. I.2.1.2. Phaàn meàm: Töø ñieàu khieån Hình 6 trình baøy moät thanh ghi ñöôïc goïi laø thanh ghi ñieàu khieån (control register). Noäi dung cuûa thanh ghi naøy, goïi laø töø ñieàu khieån (control word), neâu roõ moät chöùc naêng I/O cho moãi coång. Thanh ghi coù theå ñöôïc xaâm nhaäp ñeå ghi töø ñieàu khieån. Khi A0 vaø A1 ôû möùc logic 1, nhö ñaõ ñeà caäp ôû treân. Thanh ghi naøy khoâng theå bò xaâm nhaäp ñoái vôùi hoaït ñoäng Ñoïc. Bit D7 cuûa thanh ghi ñieàu khieån neâu roõ hoaëc chöùc naêng I/O hoaëc chöùc naêng Ñaët/Ñaët laïi bit nhö phaân loaïi trong Hình 5.8 (b). Neáu D7 = 1caùc bit D6  D5 quyeát ñònh caùc chöùc naêng I/O ôû caùc moát khaùc nhau. Neáu bit D7 = 0, coång C hoaït ñoäng ôû moát Ñaët/Ñaët laïi bit (BSR). Töø ñieàu khieån BSR khoâng aûnh höôûng ñeán caùc chöùc naêng cuûa caùc coång A vaø B.
  5. 16 LUAÂÄN VAÊN TOÁT NGHIEÄP GROUP B D7 D6 D5 D4 D3 D2 D1 D0 P ORT C (LOWER) 1=INPUT 0=OUTPUT P ORT B 1=INPUT 0=OUTPUT MODE SELECTION 0=MODE 0 1=MODE 1 GROUP A P ORT C (UPPER) 1=INPUT 0=OUTPUT P ORT A 1=INPUT 0=OUTPUT MODE SELECTION 00=MODE 0 01=MODE 1 1X=MODE 2 MODE SET FLAG 1=ACTIVE Hình 6: Caáu truùc töø ñieàu khieån cuûa IC ngoaïi vi 8255. Caên cöù vaøo töø ñieàu khieån cuûa 8255, coù theå klhôûi taïo 8255 ôû caùc mode 0 hoaëc mode 1 hoaëc mode 2, vaø coù theå xaùc ñònh höôùng vaøo ra döõ lieäu cho moãi port. Ñeå trao ñoåi thoâng tin vôùi caùc ngoaïi vi (ôû ñaây laø caùc moâ - ñun vaøo ra) thoâng qua 8255, ba böôùc sau ñaây laø caàn thieát : (1) Xaùc ñònh ñöôïc ñòa chæ caùc coång A, B vaø C vaø cuûa thanh ghi ñieàu khieån theo logic choïn chip (CS) vaø caùc ñöôøng ñòa chæ A0, A1. (2) Ghi töø ñieàu khieån vaøo thanh ghi ñieàu khieån. (3) Ghi caùc leänh I/O ñeå thoâng tin vôùi caùc ngoaïi vi thoâng qua coång A,B vaø C. Heä thoáng Kit ñaõ ñöôïc ñaët cho 8255 laøm vieäc vôùi caùc ngoõ vaøo / ra ôû moát 0 nhö sau : 1. Caùc ngoõ ra ñöôïc choát 2. Caùc ngoõ vaøo khoâng ñöôïc choát 3. Caùc coång khoâng coù khaû naêng baét tay vaø ngaét. Ví duï: Ñeå A, C laø coång nhaäp (8 bít), B laø coång xuaát(8bít), vaø choïn ngoaïi vi coù ñòa chæ töø 00 – 03 thì phaûi laøm nhö sau:
  6. 17 LUAÂÄN VAÊN TOÁT NGHIEÄP Gôûi töø ñieàu khieån 99hex vaøo thanh ghi ñieàu khieån. Xuaát töø ñieàu khieån ra thanh ghi ñieàu khieån coù ñòa chæ 03hex. I.3. IC GIAÛI MAÕ HIEÅN THÒ 8279: I.3.1. Caáu truùc 8279 I.3.1.1. Phaàn cöùng: 8279 laø moät phöông phaùp phaàn cöùng ñeå giao tieáp vôùi baøn phím ma traän vaø hieån thò ña hôïp. Baát lôïi cuûa phöông phaùp duøng phaàn meàm laø vi xöû lí bò baän trong luùc kieåm tra vaø laøm töôi hieån thò. 8279 seõ thay theá vi xöû lí ñaûm traùch hai nhieäm vuï naøy. 8279 (Hình ) laø moät thieát bò daïng DIP _ 40, coù hai phaàn chính : baøn phím vaø hieån thò. Phaàn baøn phím coù theå ñöôïc noái vôùi moät ma traän toái ña 64 phím, söï goõ phím ñöôïc giaûi naåy vaø maõphím ñöôïc lö u tröõ vaøo boä nhôù FIFO beân trong (First _ In _ First _ Out : Vaøo tröôùc, ra tröôùc) , vaø moät tín hieäu ngaét ñöôïc phaùt ra moãi laàn goõ phím. Phaàn hieån thò coù theå cung caáp moät hieån thò coù queùt toái ña 16 Led. Phaàn naøy coù boä nhôù RAM 16 x 8, coù theå ñöôïc söû duïng ñoïc / ghi thoâng tin cho caùc muïc ñích hieån thò. Phaàn hieån thò coù theå ñöôïc khôûi taïo ôû daïng ghi phaûi (right entry) hoaëc ghi traùi (left entry). Taàn soá xung ñoàng hoà caáp cho 8279 toái ña laø 3,125MHz Hình 7: Sô ñoà chaân logic cuûa 8279 Baûng 3: Chöùc naêng caùc chaân IC 8279 Teân chaân Soá chaân Moâ taû vaø chöùc naêng DB0 – DB7 8 Bi-directional databus:Ñöôøng döõ lieäu 2
  7. 18 LUAÂÄN VAÊN TOÁT NGHIEÄP chieàu. Taát caû caùc leänh vaø döõ lieäu giöõaCPU vaø 8279 ñöôïc truyeàn treân nhöõng ñöôøng döõ lieäu naøy. CLK 1 Clock input: ngoõ vaøo xung clock. Xung clock coù taàn oá toái ña laø 3,125MHz. RESET 1 Reset in: duøng ñeå ñaët laïi traïng thaùi laøm vieäc cuûa 8279 khi ngoõ vaøo naøy ôû möùc cao. Sau khi ñöôïc reset, 8279 coù theå laøm vieäc ôû cheá ñoä:  Hieån thò 16 kyù töï loái vaøo traùi.  Laäp maõ queùt phím khoùa ngoaøi 2 phím. CS\ 1 Chip select: taùc ñoäng möùc thaáp cho pheùp 8279 thöïc hieän caùc chöùc naêng keát noái vôùi CPU ñeå truyeàn vaø nhaän döõ lieäu. A0 1 Buffer address: ñöôøng ñòa chæ naøy thöông ñöôïc keát noái vôùi ñ5a chæ A0 cuûa vi xöû lyù duøng ñeå phaân bieät leänh hay döõ lieäu.  A0=[1]: tín hieäu vaøo ra laø leänh.  A0=[0]:tín hieäu vaøo ra laø döõ lieäu. RD\, WR\ 2 Read, Write:ch pheùp ñoïc hay ghi döõ lieäu leân bus döõ lieäu, thanh ghi ñieàu khieån hay boä nhôù RAM hieån thò.
  8. 19 LUAÂÄN VAÊN TOÁT NGHIEÄP IRQ 1 Interrupt Request: ñöôøng tín hieäu yeâu caàu ngaét (output). Ngoõ ra naøy seõ ôû möùc cao neá coù döõ lieäu ôû trong boä nhôù FIFO hay SensorRAM, ngoõ ra naøy seõ ôû möùc thaáp moãi khicoù söï ñoïc boä nhôù FIFO/SensorRAM vaø trôûlaïi möùc cao khi d4coù döõ lieäu chöùa trong RAM. Vss, Vcc 2 Caáp nguoàn 0Vvaø +5V cho 8279. SL0 – SL3 4 Scan lines: 4 ñöôøng scan line naøycoù theå giaûi maõ ra 16 ñöôøng hay maõ hoùa thaønh 1 ñöôøng, ñöôïc duøng ñeå queùt phím hay ma traän caûm bieán vaø hieån thò. RL0 – RL7 8 Return line: ñöôïc noái vôùi ñöôøng scan line thoâng qua caùc phím hay coâng taéc caûm bieán. ÔÛ cheá ñoä queùt phím, seõ keát hôïp vôùi caùc ñöôøng scan lines taïo thaønh maõ cuûa phím ñöôïc nhaán. SHIFT 1 Shift, Control / Strobe input Mode: trong cheá ñoä CTRL/STB 1 queùt phím, möùc logic cuûa töøng ngoõ vaøo naøy seõ ñöôïc löu tröõ vôùi vò trí cuûa phím ñeå taïo ra 1 giaù trò cuûa phím ñöôïc nhaán. OUT A0 – A3 4 Ñeây laø 2 portngoõ ra cuûa thanh ghi hieån thò 16 x 4 OUT B0 – B3 4 bit. Döõ lieäu töø nhöõng thanh ghi naøy seõ ñöôïc ñöa ra ñoàng boä keát hôïp vôùi caùc
  9. 20 LUAÂÄN VAÊN TOÁT NGHIEÄP ñöôøng queùt scan lines ñeå ña hôïp thaønh soá hieån thò. Hai ngoõ ra 4 bit naøy coù theå xoùa ñoäc laäp vaø coù theå keát hôïp vôùi nhau ñeå taïo thaønh moät ngoõ ra 8 bit. BD\ 1 Blanking display: duøng ñeå xoùa hieån thò trong quaù trình chuyeån ñoåi giöõa caùc soá hay khi gaëp leänh xoùa hieån thò. Sô ñoà khoái logic (Hình 8) trình baøy boán phaàn chính cuûa 8279 : baøn phím, queùt, hieån thò vaø giao tieáp vi xöû lí. Caùc chöùc naêng cuûa caùc phaàn naøy ñöôïc mieâu taû nhö döôùi ñaây : IR CL RESE RD WR CS A0 DB0- FIFO/Sensor Data R AM I/O Control Buffer S tatus Internal Data Bus (8) Keyboard Display 16 x 8 8x8 Control and Debounce Address Display FIFO/Sensor T iming and Registers RAM R AM Registers Control Timing and Display Control Return Registers Scan Counter 8 SHIF BD SL0- OUT A0-A3 OUT RL0-RL7 Hình 8: Sô ñoà khoái cuûa 8279 Ñeå giao tieáp vôùi vi xöû lyù, 8279 caàn taùm ñöôøng döõ l ieäu hai chieàu (BD0 _ BD7), moät ñöôøng yeâu caàu ngaét (IRQ), vaø saùu ñöôøng giao tieáp, keå caû ñöôøng ñòa chæ cuûa boä ñeäm (A0) Khi A0 ôû möùc cao, caùc tín hieäu ñöôïc hieåu nhö laø caùc töø ñieàu khieån vaø traïng thaùi. Khi A0 ôû möùc thaáp, caùc tín hieäu ñöôïc hieåu laø döõ lieäu.
  10. 21 LUAÂÄN VAÊN TOÁT NGHIEÄP Ñöôøng IRQ leân möùc cao baát kì luùc naøo vieäc ghi nhaän döõ lieäu vaøo FIFO. Tín hieäu naøy ñöôïc söû duïng ñeå ngaét vi xöû lí nhaèm chæ thò tính khaû duïng cuûa döõ lieäu. I.3.1.2. Laäp trình cho 8279 Ñeå coù söû duïng 8279, caàn bieát caùc töø ñieàu khieån cuûa 8279. 8279 coù taát caû taùm töø ñieàu khieån, tuøy theo muïc ñích söû duïng maø seõ choïn töø ñieàu khieån thích hôïp.  Ñaët moát hieån thò / baøn phím MSB LSB Maõ 0 0 0 D D K K K Trong ñoù, D D laø moát hieån thò vaø K K K laø moát baøn phím DD 0 0 Hieån thò 8 kí töï 8 bit _ ghi traùi 0 1 Hieån thò 16 kí töï 8 bit _ ghi traùi 1 0 Hieån thò 8 kí töï 8 bit _ ghi phaûi 1 1 Hieån thò 16 kí töï 8 bit _ ghi phaûi KKK 000 Baøn phím queùt coù laäp maõ _ Khoùa ngoaøi 2 phím 001 Baøn phím queùt coù giaûi maõ _ Khoùa ngoaøi 2 phím 010 Baøn phím queùt coù laäp maõ _ Xoay voøng N phím 011 Baøn phím queùt coù giaûi maõ _ Xoay voøng N phím 100 Ma traän caûm bieán, queùt coù laäp maõ 101 Ma traän caûm bieán, queùt coù giaûi maõ 110 Ngoõ vaøo Strob, queùt hieån thò coù laäp maõ 110 Ngoõ vaøo Strob, queùt hieån thò coù giaûi maõ Trong suoát thôøi gian RAM hieån thò ñang bò xoaù ( 160 S), noù khoâng theå ñöôïc ghi vaøo. Bit coù troïng soá cao nhaát (MSB) cuûa töø traïng thaùi ñöôïc ñaët trong suoát thôøi gian naøy. Khi RAM hieån thò trôû neân khaû duïng trôû laïi, bit naøy töï ñoäng ñöôïc ñaët laïi.
  11. 22 LUAÂÄN VAÊN TOÁT NGHIEÄP  Khôûi taïo 8279 Maëc duø 8279 coù tôùi taùm töø ñieàu khieån, nhöng khoâng phaûi luùc naøo cuõng söû duïng heát taát caû taùm töø naøy. Khi khôûi taïo moät 8279, thöù töï caùc töø ñieàu khieån sau ñaây laø caàn thieát : + Ñaët moát hieån thò / baøn phím + Laäp trình xung ñoàng hoà + Xoaù RAM hieån thò, hoaëc FIFO hoaëc caû hai Caùc töø ñieàu khieån coøn laïi coù theå ñöôïc gôûi ra thanh ghi ñieàu khieån trong luùc naøy hoaëc khi caàn. II. CAÙC THAM SOÁ CAÀN THIEÁT CUÛA KIT: Treân ñaây, ñaõ giôùi thieäu caùc IC quaïn troïng ñeå coù theå keát noái Kit vôùi maùy tính. Ngoaøi ra, caùc thoâng soá veà ñòa chæ cuõng khoâng keùm phaàn quan troïng. Baûng : Baûng ñoà ñòa chæ boä nhôù cuûa kit Vuøng ñòa chæ Boä nhôù A15 A14 A13 A12  A0 boä nhôù 0 0 0 0  0 0000H ROM1 0 0 0 1  1 1FFFH 0 0 1 0  0 2000H ROM2 0 0 1 1  1 3FFFH 0 1 0 0  0 4000H RAM1 0 1 0 1  1 5FFFH 0 1 1 0  0 6000H RAM2 0 1 1 1  1 7FFFH 1 0 0 0  0 8000H RAM3 1 0 0 1  1 9FFFH 1 0 1 0  0 A000H 8279 1 0 1 1  1 BFFFH   3 bit öùng vôùi 6 traïng thaùi cuûa 6 vuøng nhôù
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2