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

Phần cứng họ MCS-51_chương 2

Chia sẻ: Trần Huệ Mẫn | Ngày: | Loại File: PDF | Số trang:16

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

Quá trình phát triển nhanh của các loại vi xử lý cho phép ứng dụng chúng trong các quá trình sản xuất như các bộ điều khiển. Khác với các loại vi xử lý sử dụng để xử lý thông tin (các máy tính PC xử lý văn bản, cơ sở dữ liệu, tính toán khoa học kỹ thuật), các vi điều khiển (microcontroller) được thiết kế để lắp đặt trực tiếp vào ứng dụng cụ thể.

Chủ đề:
Lưu

Nội dung Text: Phần cứng họ MCS-51_chương 2

  1. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 CHÖÔNG 2: PHAÀN CÖÙNG HOÏ MCS-51 I. GIỚI THIỆU CHUNG VỀ VI ĐIỀU KHIỂN Quá trình phát triển nhanh của các loại vi xử lý cho phép ứng dụng chúng trong các quá trình sản xuất như các bộ điều khiển. Khác với các loại vi xử lý sử dụng để xử lý thông tin (các máy tính PC xử lý văn bản, cơ sở dữ liệu, tính toán khoa học kỹ thuật), các vi điều khiển (microcontroller) được thiết kế để lắp đặt trực tiếp vào ứng dụng cụ thể. Trong đó suốt quá trình vận hành của mình vi điều khiển chỉ thực hiện duy nhất một chức năng. Việc ứng dụng rộng rãi các bộ vi điều khiển dẫn đến yêu cầu sản xuất tất cả các vi mạch trong một vỏ. Việc tích hợp nhiều vi mạch trên một vỏ làm giảm giá thành và làm tăng tính tin cậy của vi điều khiển. Yêu cầu tăng cao tốc độ xử lý dẫn đến các cấu trúc của vi điều khiển khác với các cấu trúc của các bộ vi xử lý như Z80, 8086 và các vi xử lý dùng cho máy tính PC. Cấu trúc của vi điều khiển cho phép truy cập nhanh bộ nhớ dữ liệu, truy cập và xử lý nhanh các dữ liệu, truy cập nhanh các thiết bị (phép nhân và chia dấu phẩy đứng, các phép toán đại số Boole với 1 bit … ) Tổng quát ta có thể nói rằng vi điều khiển là một máy tính trong một chip (monolithic microcomputer). Trong đó đã bao gồm CPU, bộ nhớ, các thiết vị vào/ra phổ biến. Cấu trúc của vi điều khiển được thiết kế để phục vụ một mục đích cụ thể mà chỉ cần tối thiểu các mạch phụ trợ. Chức năng của vi điều khiển được xác định bởi chương trình lưu trong bộ nhớ ROM hoặc EPROM. Chương trình được nạp một lần và không thay đổi trong suốt quá trình hoạt động. Bộ nhớ của các vi điều khiển có cấu trúc khác với bộ nhớ của vi xử lý Z80 cùng loại. Tại các họ vi xử lý ta dùng cấu trúc bộ nhớ Neuman, trong đó bản đồ bộ nhớ dùng chung cho cả chương trình (thường trong ROM- Read only memory) và dữ liệu (RWM – read write memory). Các bộ vi điều khiển sử dụng cấu trúc Harward. Tại đây bộ nhớ được chia làm hai loại: bộ nhớ chương trình (ROM) và bộ nhớ dữ liệu (RWM). CPU Bộ nhớ chương trình CPU Bộ nhớ chương trình + Bộ nhớ Bộ nhớ dữ liệu dữ liệu Hình 2.1: Cấu trúc Neuman Hình 2.2: Cấu trúc Harward Việc phân biệt này được suy ra từ thực tế rằng bộ nhớ ROM dùng để lưu chương trình không thể ghi vào được, và bộ nhớ này thường có độ dài vài kB (yêu cầu 10 đến 16 bit địa chỉ). CPU truy cập bộ nhớ này chủ yếu để đọc lệnh. Bộ nhớ dữ liệu để lưu các kết quả tạm thời thông thường bé hơn, chỉ cần 8 bit địa chỉ hoặc thậm chí 4 bit địa chỉ. Với địa chỉ bộ nhớ dữ liệu nhỏ, toán hạng sẽ có địa chỉ ngắn và nhiều khi có thể lọt vào vào mã lệnh (object code) có độ dài 8 bit. Cấu trúc bộ nhớ Harward là cơ sở cho việc xử lý nhanh thông tin trong các ứng dụng điều khiển. Cấu trúc không đổi của các loại vi điều khiển lại là giới hạn đối với việc áp dụng trong thực tế. Tuy vậy trên thị trường có rất nhiều loại vi điều khiển cho các loại ứng dụng cụ thể khác nhau, mỗi loại tự phân biệt bằng lượng tối thiểu thiết bị được tích hợp bên trong. http://www.ebook.edu.vn 1
  2. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 * HỌ VI ĐIỀU KHIỂN X51 Vi điều khiển 8051 ra đời vào năm 1980 và đã là loại vi điều khiển tương đối “lớn tuổi”. Tuy vậy 8051 đã nhận được sự mến chuộng đặc biệt của các nhà thiết kế hệ thống đến nỗi hiện nay tồn tại rất nhiều nhà sản xuất tập trung phát triển các sản phẩm trên cơ sở 8051 và phát triển thêm các thiết bị ngoại vi khác. Ví dụ chỉ riêng Philips đã sản xuất 24 loại vi điều khiển trên cơ sở 8051 như được thể hiện trên hình 2.1. Các vi điều khiển này khác nhau như sau: bộ nhớ chương trình từ 2kB đến 32 kB, bộ nhớ này có loại có thể nạp một lần hoặc nhiều lần (EPROM), bộ nhớ EEPROM để nhớ các hằng số, bộ nhớ dữ liệu mở rộng đến 256 kB, bộ ADC 8 hoặc 10 bit với bộ chọn 8 kênh, các cổng vào/ra mở rộng, bộ so sánh hoặc lưu dữ liệu, bus 2 dây I2C. Các nhà sản xuất cung cấp các vi điều khiển có tần số từ 12MHz đến 33 MHz với loại vỏ DIL, PLCC đến loại nhỏ PQFP. Một số nhà sản xuất tập trung vào các vi điều khiển với các phép tính số học (Siemens 80C537) hoặc việc định thời khác nhau (Dallas DS80C320). Tổng kết các hướng phát triển cụ thể của vi điều khiển trên cơ sở 8051 được tổng kết như trên hình 2.3. Hình 2.3: Các thành phần mở rộng của họ vi điều khiển trên cơ sở 8051 Trên thị trường Việt nam hiện tại loại vi điều khiển AT89C51 của hãng Atmel rất được phổ biến. Vi điều khiển này có thể mua được với giá 25,000 đ/1đv. Kèm theo với vi điều khiển này là rất nhiều các thiết bị phụ trợ như bộ lập trình, các board mạch cơ bản, các phần mềm phụ trợ… Vi điều khiển AT89C51 và các loại cùng họ của hãng Atmael có bộ nhớ chương trình bên trong là EEPROM là bộ nhớ có thể xoá là nạp được bằng tín hiệu điện. Điều này cho phép người lập trình có thể thử nghiệm, nạp chương trình vào vi điều khiển nhiều lần. Thiết bị nạp chương trình (programmer) cho vi điều khiển này là tương đối đơn giản và có thể tự làm được. Có thể tham khảo tại trang chủ của hãng Atmel tại địa chỉ www.atmel.com. http://www.ebook.edu.vn 2
  3. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 II. CAÁU TRUÙC CUÛA VI ÑIEÀU KHIEÅN 8051 Caùc vi maïch cuûa hoï MCS-51 goàm: 8031/8032, 8051/8052, 8751/8752, 8951/8952, 892051 … Vi maïch tieâu bieåu cuûa hoï MCS-51 laø 8031/8051 coù caùc ñaëc ñieåm sau: - 4 KB ROM noäi (0 KB ñoái vôùi 8031). - 128 byte RAM noäi. - 4 port nhaäp/xuaát 8 bit (I/O port). - 2 boä ñònh thôøi 16 bit (timer). - Maïch giao tieáp noái tieáp (serial port) 2 chieàu. - Boä ñieàu khieån ngaét xöû lyù 5 nguoàn yeâu caàu ngaét trong ñoù coù 2 nguoàn ngaét ngoaøi, 2 nguoàn ngaét beân trong töø hai timer vaø 1 nguoàn ngaét töø keânh noái tieáp. Möùc ñoä öu tieân cuûa caùc ngaét ñöôïc quy ñònh cuï theå. - 64 KB khoâng gian boä nhôù chöông trình ngoaøi. - 64 KB khoâng gian boä nhôù döõ lieäu ngoaøi. - 210 bit ñöôïc ñòa chæ hoaù. - Boä nhaân/chia 4 μs (vôùi taàn soá thaïch anh 12MHz). Chip Boä nhôù chöông Boä nhôù döõ lieäu Soá boä ñònh thôøi trình treân chip treân chip (timer) 8031 0 KB 128 byte 2 8051 4 KB ROM 128 byte 2 8751 4 KB EPROM 128 byte 2 8951 4 KB Flash ROM 128 byte 2 8032 0 KB 256 byte 3 8052 8 KB ROM 256 byte 3 8752 8 KB EPROM 256 byte 3 8952 8 KB Flash ROM 256 byte 3 Baûng 2.1: Moät soá thoâng soá cuûa caùc chip tieâu bieåu cuûa hoï MCS-51. III. SÔ LÖÔÏC CAÙC CHAÂN (PINOUT) CUÛA 8051 Sô ñoà chaân 8031/8051: 39 21 38 P0.0/AD0 P2.0/A8 22 37 P0.1/AD1 P2.1/A9 23 36 P0.2/AD2 P2.2/A10 24 35 P0.3/AD3 P2.3/A11 25 34 P0.4/AD4 P2.4/A12 26 33 P0.5/AD5 P2.5/A13 27 32 P0.6/AD6 P2.6/A14 28 P0.7/AD7 P2.7/A15 1 10 2 P1.0 P3.0/RXD 11 3 P1.1 P3.1/TXD 12 4 P1.2 P3.2/INT0 13 5 P1.3 P3.3/INT1 14 6 P1.4 P3.4/T0 15 7 P1.5 P3.5/T1 16 8 P1.6 P3.6/WR 17 P1.7 P3.7/RD 19 30 18 XTAL1 ALE 29 XTAL2 PSEN 31 9 EA RST 40 20 VCC VSS 8051 Hình 2.4 http://www.ebook.edu.vn 3
  4. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 Sô ñoà khoái cuûa 8051: Hình 2.5 1. Port 0 Port 0 (P0.0 ÷ P0.7) laø port hai chöùc naêng treân caùc chaân töø 32 ñeán 39. Trong caùc thieát keá côõ nhoû (khoâng duøng boä nhôù ngoaøi) noù coù chöùc naêng nhö caùc ñöôøng I/O. Ñoái vôùi caùc thieát keá lôùn vôùi boä nhôù ngoaøi, port 0 ñöôïc doàn keânh giöõa bus döõ lieäu (D0 ÷ D7) vaø byte thaáp cuûa bus ñòa chæ (A0 ÷ A7). 2. Port 1 Port 1 (P1.0 ÷ P1.7) laø moät port I/O treân caùc chaân töø 1 ñeán 8. Port 1 khoâng coù chöùc naêng khaùc, noù chæ ñöôïc duøng cho giao tieáp vôùi thieát bò ngoaøi. 3. Port 2 Port 2 (P2.0 ÷ P2.7) laø port coù coâng duïng keùp treân caùc chaân töø 21 ñeán 28. Noù ñöôïc duøng nhö caùc ñöôøng I/O hoaëc laø byte cao cuûa bus ñòa chæ (A8 ÷ A15) ñoái vôùi caùc thieát keá duøng boä nhôù ngoaøi. 4. Port 3 Port 3 (P3.0 ÷ P3.7) laø moät port coâng duïng keùp treân caùc chaân töø 10 ñeán 17. Caùc chaân cuûa port naøy vöøa coù chöùc naêng laø caùc ñöôøng I/O vöøa coù chöùc naêng rieâng khaùc tuøy töøng chaân. Baûng sau moâ taû caùc chöùc naêng rieâng cuûa töøng chaân: Bit Teân Chöùc naêng 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 INT0 Ngaét ngoaøi 0 P3.3 INT1 Ngaét ngoaøi 1 http://www.ebook.edu.vn 4
  5. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 P3.4 T0 Ngoõ vaøo timer/counter 0 P3.5 T1 Ngoõ vaøo 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.2: Chöùc naêng cuûa caùc chaân cuûa port 3. 5. PSEN (Program Store Enable) - 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 ñoïc boä nhôù chöông trình ngoaøi vaø thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa boä nhôù naøy. - PSEN seõ ôû möùc 0 (möùc tích cöïc) trong thôøi gian laáy leänh. Caùc maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø boä nhôù qua bus döõ lieäu vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8051 ñeå giaûi maõ. Khi thöïc thi chöông trình trong ROM noäi, PSEN ñöôïc duy trì ôû möùc 1 (möùc khoâng tích cöïc). 6. ALE (Address Latch Enable) - ALE laø tín hieäu ra treân chaân 30. Noù laø tín hieäu ra cho pheùp choát ñòa chæ ñeå phaân keânh cho bus döõ lieäu (D0 ÷ D7) vaø byte thaáp cuûa bus ñòa chæ (A0 ÷ A7) treân port 0: trong nöûa ñaàu cuûa chu kyø boä nhôù, xung ALE cho pheùp choát ñòa chæ vaøo moät thanh ghi beân ngoaøi, trong nöûa sau cuûa chu kyø boä nhôù, caùc ñöôøng port 0 nhö laø caùc ñöôøng xuaát/nhaäp döõ lieäu. - Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá cuûa maïch dao ñoäng treân chip vaø coù theå ñöôïc duøng laøm nguoàn xung nhòp cho caùc thaønh phaàn khaùc cuûa heä thoáng. Ví duï, neáu xung nhòp maïch dao ñoäng treân 8051 laø 12 MHz thì ALE coù taàn soá laø 2 MHz. Chæ tröø khi thi haønh leänh MOVX, moät xung ALE seõ bò maát ñi. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cuûa xung laäp trình cho EPROM trong 8051. 7. EA (External Access) EA laø tín hieäu vaøo treân chaân 31. Noù thöôøng ñöôïc noái vôùi +5V (möùc 1) hay GND (möùc 0). Neáu ôû möùc 1, 8051 thöïc thi chöông trình töø ROM noäi trong khoaûng ñòa chæ thaáp (4 KB). Neáu ôû möùc 0, 8051 chæ thöïc thi chöông trình töø boä nhôù chöông trình ngoaøi. Trong 8031, chaân naøy luoân ñöôïc noái GND vì khoâng coù boä nhôù chöông trình treân chip. 8. RST (Reset) RST laø ngoõ vaøo treân chaân 9. Khi tín hieäu naøy ñöôïc ñöa leân möùc cao (trong ít nhaát laø 2 chu kyø maùy), heä thoáng seõ khôûi ñoäng laïi. 9. XTAL1 vaø XTAL2 XTAL1 vaø XTAL2 laø ngoõ vaøo vaø ngoõ ra cuûa maïch dao ñoäng treân chip ôû chaân 18 vaø 19. Chuùng thöôøng ñöôïc noái vôùi moät thaïch anh ngoaøi vaø caùc tuï nhö hình 2.6 ñeå taïo xung clock. Taàn soá thaïch anh thoâng thöôøng laø 12 MHz. Chu kì maùy (TM) = 1 / (fOSC/12) = 12 / fOSC Neáu taàn soá thaïch anh laø 12 MHz thì chu kì maùy baèng 1 μs. C1 XTAL1 30p Maïch dao fosc ñoäng XTAL 12 MHz C2 0 treân chip XTAL2 30p Hình 2.6 10. VCC vaø VSS Laø caùc chaân nguoàn treân chaân 40 vaø20. VCC = +5V, VSS noái ñaát. http://www.ebook.edu.vn 5
  6. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 IV. CAÁU TRUÙC CUÛA PORT I/O Sô ñoà maïch beân trong cuûa caùc chaân port I/O ñöôïc veõ ñôn giaûn nhö sau: Bus noäi cuûa 8051 Ñoïc Ñoïc choát port Vcc chaân port Ñieän trôû noäi keùo Choát port leân chaân port D Q CLK Q Ghi vaøo choát 0 Hình 2.7 Vieäc ghi ra moät chaân port seõ naïp döõ lieäu töø bus noäi vaøo choát port. Ngoõ ra cuûa choát ñöôïc noái qua moät coång ñaûo ñeán cöïc G cuûa FET vaø ngoõ ra cuûa FET noái ñeán chaân port. Khi ghi möùc 1 ñeán choát port, ngoõ ra coång ñaûo seõ laø möùc 0 laøm FET taét, ngoõ ra chaân port seõ laø möùc 1. Ngöôïc laïi, khi ghi möùc 0 ñeán choát port seõ laøm FET daãn neân ngoõ ra chaân port seõ laø möùc 0. Caùc caâu leänh yeâu caàu hoaït ñoäng ñoïc-söûa-ghi (ví duï leänh CPL P1.5), seõ ñoïc ôû chaân choát port ñeå traùnh hieåu nhaàm möùc ñieän aùp ôû chaân port do aûnh höôûng taûi. Caùc caâu leänh nhaäp moät bit töø port (ví duï MOV C,P1.5) seõ ñoïc chaân port. Trong tröôøng hôïp naøy, choát port phaûi ôû möùc 1, neáu khoâng thì FET seõ daãn vaø keùo ngoõ ra xuoáng möùc 0. Khi reset heä thoáng, taát caû caùc choát port ñöôïc caøi baèng 1, vì theá caùc chaân port coù theå ñöôïc duøng nhö laø caùc ngoõ nhaäp ngay maø khoâng caàn phaûi caøi caùc choát port nöõa. Tuy nhieân neáu moät choát port bò xoaù (ví duï leänh CLR P1.5), vaø sau ñoù muoán nhaäp vaøo töø chaân port thì boä choát phaûi ñöôïc thieát laäp leân möùc 1 tröôùc (ví duï phaûi duøng leänh SETB P1.5 tröôùc). Chuù yù: ñieän trôû keùo leân (pull up) khoâng coù ôû port 0 (tröø khi port naøy laøm nhieäm vuï doàn keânh bus ñòa chæ/döõ lieäu). Do ñoù khi port naøy ñöôïc duøng laøm I/O thì caàn coù ñieän trôû keùo leân beân ngoaøi. V. TOÅ CHÖÙC BOÄ NHÔÙ - 8051 coù khoâng gian boä nhôù rieâng beân trong cho chöông trình (ROM) vaø döõ lieäu (RAM). - Coù theå môû roäng ñeán 64K boä nhôù chöông trình ngoaøi vaø 64K boä nhôù döõ lieäu ngoaøi (töông öùng vôùi 16 bit ñòa chæ). - Coù 256 byte RAM noäi ( ñòa chæ 00H ÷ FFH): + 128 byte RAM noäi ñòa chæ 00H ÷ 7FH: laø caùc bank (daõy) thanh ghi, vuøng RAM ñònh vò bit vaø vuøng RAM ña duïng. + 128 byte RAM noäi ñòa chæ 80H ÷ FFH: laø caùc thanh ghi chöùc naêng ñaëc bieät. 1. Caùc bank thanh ghi - Ñòa chæ töø 00H ÷ 1FH. - Coù 4 bank thanh ghi: 0, 1, 2, 3. - Moãi bank coù 8 thanh ghi: töø R0 ÷ R7. - Taïi moãi thôøi ñieåm, chæ coù moät bank thanh ghi tích cöïc (thoâng qua vieäc caøi caùc bit choïn bank trong thanh ghi PSW). Bank thanh ghi tích cöïc maëc nhieân sau khi reset heä thoáng laø bank 0. 2. Vuøng RAM ñònh vò bit - Ñòa chæ töø 20H ÷ 2FH. http://www.ebook.edu.vn 6
  7. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 - Goàm 128 bit ñöôïc ñònh ñòa chæ töø 00H ñeán 7FH trong caùc byte ñòa chæ töø 20H ÷ 2FH. - Coù theå truy xuaát töøng byte hay töøng bit. YÙ töôûng truy xuaát töøng bit rieâng reõ baèng phaàn meàm laø moät ñaëc tính maïnh cuûa caùc vi ñieàu khieån, ñaëc bieät ñoái vôùi caùc öùng duïng ñieàu khieån. Caùc bit coù theå ñöôïc ñaët, xoùa, AND, OR… vôùi moät leänh ñôn. 3. Vuøng RAM ña duïng - Ñòa chæ töø 30 ÷ 7FH. - Goàm 80 byte ñöôïc ñònh ñòa chæ töø 30H ÷ 7FH, ñöôïc söû duïng tuøy muïc ñích cuûa ngöôøi duøng. Ñòa chæ Ñòa chæ Kyù hieäu Ñòa chæ bit Ñòa chæ bit byte byte (teân) FF 7F F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC RAM ña duïng D0 D7 D6 D5 D4 D3 D2 - 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 P3 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æ hoùa 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æ hoùa bit TH1 22 17 16 15 14 13 12 11 10 8C Khoâng ñöôïc ñòa chæ hoùa bit TH0 21 0F 0E 0D 0C 0B 0A 09 08 8B Khoâng ñöôïc ñòa chæ hoùa bit TL1 20 07 06 05 04 03 02 01 00 8A Khoâng ñöôïc ñòa chæ hoùa bit TL0 1F 89 Khoâng ñöôïc ñòa chæ hoùa bit TMOD Bank 3 18 88 8F 8F 8D 8C 8B 8A 89 88 TCON 17 87 Khoâng ñöôïc ñòa chæ hoùa bit PCON Bank 2 10 0F 83 Khoâng ñöôïc ñòa chæ hoùa bit DPH Bank 1 08 82 Khoâng ñöôïc ñòa chæ hoùa bit DPL 07 Bank thanh ghi maëc ñònh cho 81 Khoâng ñöôïc ñòa chæ hoùa bit SP 00 R0 – R7 (Bank 0) 80 87 86 85 84 83 82 81 80 P0 RAM CAÙC THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT Hình 2.8 http://www.ebook.edu.vn 7
  8. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 VI. CAÙC THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT (SFRs – SPECIAL FUNCTION REGISTERS) 1. Thanh ghi tích luyõ A (Accummulator) - Coøn kí hieäu laø ACC (töông öùng vôùi ñòa chæ E0H), ñöôïc ñònh ñòa chæ töøng bit. - Thöôøng laø toaùn haïng ñích trong caùc leänh soá hoïc vaø logic, keát quaû cuûa leänh chöùa trong thanh ghi A. Ví duï: A Toaùn haïng nguoàn Keát quaû + = 2. Thanh ghi traïng thaùi chöông trình PSW (Program Status Word) Ñòa chæ laø D0H, chöùa caùc bit traïng thaùi nhö sau: CY AC F0 RS1 RS0 OV - P - Côø nhôù CY (C) Coù hai coâng duïng: + Ñöôïc ñaët baèng 1 neáu coù moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá möôïn bôûi pheùp tröø. Ví duï, neáu thanh ghi tích luyõ chöùa FFH, thì leänh sau: ADD A, #1 seõ traû veà thanh ghi A keát quaû laø 00H vaø ñaët côø nhôù C = 1. + Laø “thanh ghi tích luõy” 1 bit trong caùc leänh logic thao taùc treân bit. Ví duï, leänh sau seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quaû trôû vaøo côø nhôù: ANL C, 25H - Côø nhôù phuï AC (Auxiliary Carry) + Côø nhôù AC ñöôïc ñaët baèng 1 neáu coù soá nhôù sinh ra töø bit 3 sang bit 4 trong pheùp coäng. Ví duï: 78 0111 1000 + + 69 0110 1001 E1 1110 0001 + Ñöôïc duøng khi coäng caùc giaù trò BCD. - Côø F0 : laø moät bit côø ña duïng, ñöôïc duøng tuøy muïc ñích cuûa ngöôøi söû duïng. - RS1 vaø RS0 Laø caùc bit duøng ñeå choïn bank thanh ghi 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. RS1 RS0 Bank 0 0 0: ñòa chæ 00H ÷ 07H 0 1 1: ñòa chæ 08H ÷ 0FH 1 0 2: ñòa chæ 10H ÷ 17H 1 1 3: ñòa chæ 18H ÷ 1FH Baûng 2.3: Choïn bank thanh ghi. - Côø traøn OV (Overflow) Ñöôïc ñaët baèng 1 sau moät leänh coäng hoaëc leänh tröø neáu coù moät pheùp toaùn bò traøn soá hoïc. Khi caùc soá coù daáu ñöôïc coäng hoaëc tröø vôùi nhau, phaàn meàm coù theå kieåm tra bit naøy ñeå http://www.ebook.edu.vn 8
  9. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 xaùc ñònh xem keát quaû coù naèm trong taàm xaùc ñònh khoâng. Khi caùc soá khoâng daáu ñöôïc coäng, bit OV coù theå ñöôïc boû qua. Caùc keát quaû lôùn hôn +127 hoaëc lôùn hôn –128 seõ ñaët bit OV. Ví duï, pheùp coäng sau bò traøn vaø bit OV ñöôïc ñaët: Hex: 0F Thaäp phaân: 15 + + 7F 127 8E 142 Keát quaû laø moät soá coù daáu 8EH ñöôïc xem nhö –114, khoâng phaûi laø keát quaû ñuùng (142), vì vaäy bit OV ñöôïc ñaët. - Côø kieåm tra chaün leû P (Parity) Ñöôïc töï ñoäng taïo ra theo phöông phaùp kieåm tra chaün ñoái vôùi döõ lieäu trong thanh ghi A. + Kieåm tra chaün (even parity): toång soá caùc bit 1 trong thanh ghi A vaø côø P laø chaün. + Kieåm tra leû (odd parity): toång soá caùc bit 1 trong thanh ghi A vaø côø P laø leû. 3. Thanh ghi B - Ñòa chæ laø F0H, ñöôïc ñònh ñòa chæ töøng bit. - Ñöôïc duøng keøm vôùi thanh ghi A trong caùc pheùp toaùn nhaân, chia hay duøng nhö moät thanh ghi ña duïng. 4. Con troû stack SP (Stack Pointer) - Stack (ngaên xeáp) laø vuøng nhôù treân RAM maø μP duøng ñeå löu thoâng tin taïm thôøi. - Con troû stack SP coù ñòa chæ laø 81H, laø thanh ghi chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh cuûa stack. - Caùc leänh treân stack bao goàm caùc thao taùc caát döõ lieäu vaøo stack vaø laáy döõ lieäu ra khoûi vuøng stack. Leänh caát döõ lieäu vaøo stack (PUSH) seõ laøm taêng noäi dung SP tröôùc khi ghi döõ lieäu vaø leänh laáy döõ lieäu ra khoûi vuøng stack (POP) seõ ñoïc döõ lieäu vaø giaûm noäi dung SP. Vieäc caát vaø laáy döõ lieäu treân vuøng stack tuaân theo nguyeân taéc First In Last Out (FILO). - Vuøng stack cuûa 8051 ñöôïc giöõ trong RAM noäi. Khi khôûi ñoäng, noäi dung maëc ñònh cuûa SP laø 07H. Do ñoù vuøng stack laø 08H ÷ 7FH. Trong tröôøng hôïp naøy, bank thanh ghi 1 (coù theå caû 2 vaø 3) seõ khoâng duøng ñöôïc vì vuøng RAM naøy ñaõ ñöôïc duøng laøm stack. Vì vaäy, caàn khôûi ñoäng laïi giaù trò cho SP, thöôøng laáy vuøng nhôù phía treân töø 60H ÷ 7FH. - Tröôùc khi thöïc hieän moät chöông trình con hoaëc chöông trình phuïc vuï ngaét, ñòa chæ cuûa leänh keá tieáp cuûa leänh hieän haønh seõ ñöôïc töï ñoäng löu vaøo vuøng stack. Sau khi thöïc thi xong vaø thoaùt khoûi chöông trình con hoaëc chöông trình phuïc vuï ngaét, ñòa chæ cuûa leänh keá tieáp ñöôïc löu trong vuøng stack seõ ñöôïc ñöa vaøo PC vaø chöông trình seõ tieáp tuïc thöïc thi taïi ñieåm maø noù ñaõ ngöng tröôùc ñoù. Trong tröôøng hôïp coù nhieàu chöông trình con loàng nhau hoaëc ngaét trong ngaét, quy taéc FILO seõ ñaûm baûo cho vieäc thöïc thi chöông trình theo ñuùng trình töï. 5. Thanh ghi con troû döõ lieäu DPTR (Data Pointer) - Laø thanh ghi 16 bit, goàm hai thanh ghi 8 bit laø DPL (byte thaáp) vaø DPH (byte cao). - Ñöôïc duøng ñeå xaùc ñònh ñòa chæ boä nhôù ngoaøi (boä nhôù chöông trình ngoaøi hay boä nhôù döõ lieäu ngoaøi). 6. Caùc thanh ghi port - Goàm 4 thanh ghi töông öùng vôùi 4 port: P0 Port 0 : ôû ñòa chæ 80H P1 Port 1 : ôû ñòa chæ 90H P2 Port 2 : ôû ñòa chæ A0H P3 Port 3 : ôû ñòa chæ B0H - Ñeå truy xuaát port ta truy xuaát caùc thanh ghi port töông öùng. http://www.ebook.edu.vn 9
  10. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 - Caùc thanh ghi naøy ñöôïc ñònh ñòa chæ töøng bit. Ví duï: P1.0 : bit 0 cuûa thanh ghi P1 P2.7 : bit 7 cuûa thanh ghi P2 7. Caùc thanh ghi boä ñònh thôøi (Timer) - 8051 coù hai boä ñònh thôøi/ñeám 16 bit ñöôïc duøng cho vieäc ñònh thôøi hoaëc ñeám söï kieän: + Timer 0 goàm TL0 (byte thaáp) ôû ñòa chæ 8AH vaø TH0 (byte cao) ôû ñòa chæ 8BH. + Timer 1 goàm TL1 (byte thaáp) ôû ñòa chæ 8CH vaø TH1 (byte cao) ôû ñòa chæ 8DH. - Vieäc vaän haønh timer ñöôïc ñieàu khieån bôûi thanh ghi cheá ñoä timer TMOD (ôû ñòa chæ 89H) vaø thanh ghi ñieàu khieån timer TCON (ôû ñòa chæ 88H). - Chæ coù TCON ñöôïc ñònh ñòa chæ töøng bit. 8. Caùc thanh ghi port noái tieáp (Serial port) - 8051 chöùa moät port noái tieáp treân chip daønh cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính, modem hoaëc cho vieäc giao tieáp vôùi caùc IC khaùc coù giao tieáp noái tieáp (caùc boä chuyeån ñoåi A/D, caùc thanh ghi dòch …). - Thanh ghi SBUF (Serial Buffer) ôû ñòa chæ 99H laø boä ñeäm nhaäp/xuaát noái tieáp. Khi xuaát döõ lieäu thì ghi leân SBUF, khi nhaäp döõ lieäu thì ñoïc töø SBUF. - Caùc cheá ñoä hoaït ñoäng khaùc nhau cuûa port noäi tieáp ñöôïc laäp trình thoâng qua thanh ghi ñieàu khieån port noái tieáp SCON (Serial Control) ôû ñòa chæ 98H. Ñaây laø thanh ghi ñöôïc ñònh ñòa chæ töøng bit. 9. Caùc thanh ghi ngaét (Interrupt) - 8051 coù 5 nguoàn ngaét, 2 möùc öu tieân ngaét. - Caùc ngaét bò caám sau khi reset heä thoáng vaø seõ ñöôïc cho pheùp baèng caùch laäp trình cho thanh ghi cho pheùp ngaét IE (Interrupt Enable) ôû ñòa chæ A8H. Ñaây laø thanh ghi ñònh ñòa chæ töøng bit. -Vieäc xaùc laäp cheá ñoä öu tieân ngaét ñöôïc laäp trình thoâng qua thanh ghi öu tieân ngaét IP (Interrupt Priority). 10. Thanh ghi ñieàu khieån nguoàn PCON (Power Control) - Khoâng ñöôïc ñònh ñòa chæ töøng bit. - Chöùa caùc bit ñieàu khieån nhö sau: SMOD - - - GF1 GF0 PD IDL + SMOD:bit taêng gaáp ñoâi toác ñoä baud cuûa port noái tieáp neáu ñöôïc ñaët (SMOD = 1). + GF1, GF0: caùc bit côø ña duïng. + PD: thieát laäp cheá ñoä nguoàn giaûm khi ñöôïc ñaët, chæ thoaùt khi reset. + IDL: thieát laäp cheá ñoä nguoàn nghæ khi ñöôïc ñaët, chæ thoaùt neáu coù ngaét hoaëc reset. • Cheá ñoä nguoàn giaûm (PD =1): caàn côõ 2V + Maïch dao ñoäng treân chip ngöøng hoaït ñoäng. + Moïi chöùc naêng ngöøng hoaït ñoäng. + Noäi dung caùc RAM treân chip ñöôïc duy trì. + Caùc chaân port ñöôïc duy trì ôû möùc logic cuûa chuùng. + ALE vaø PSEN ñöôïc giöõ ôû möùc thaáp. • Cheá ñoä nghæ (IDL = 1) + Tín hieäu clock noäi khoùa khoâng cho ñeán CPU nhöng khoâng khoùa ñoái vôùi caùc chöùc naêng ngaét, ñònh thôøi vaø port noái tieáp. + Noäi dung cuûa taát caû caùc thanh ghi ñöôïc duy trì. + ALE vaø PSEN ñöôïc giöõ ôû möùc cao. http://www.ebook.edu.vn 10
  11. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 VII. BOÄ NHÔÙ NGOAØI - 8051 coù khaû naêng môû roäng boä nhôù leân ñeán 64K boä nhôù chöông trình ngoaøi vaø 64K boä nhôù döõ lieäu ngoaøi. Do ñoù coù theå duøng theâm ROM, RAM vaø caùc IC giao tieáp ngoaïi vi nhö 74573, 74244, 74245… neáu caàn. - Khi duøng boä ngôù ngoaøi, port 0 ñöôïc doàn keânh giöõa bus ñòa chæ (A0 ÷ A7) vaø bus döõ lieäu (D0 ÷ D7), port 2 thöôøng duøng laøm byte cao cuûa bus ñòa chæ (A8 ÷ A15). - Ngoõ ra ALE choát byte thaáp cuûa ñòa chæ ôû moãi nöûa ñaàu chu kyø boä nhôù (nöûa sau chu kyø boä nhôù port 0 ñöôïc duøng laøm bus döõ lieäu). Port 2 A8 ÷ A15 Port 0 A0 ÷ A7 D0 ÷ D7 1 chu kyø boä nhôù Hình 2.9 1. Truy xuaát boä nhôù chöông trình ngoaøi - Tín hieäu EA ñöôïc tích cöïc ( EA = 0). - Tín hieäu PSEN noái vôùi OE ñeå cho pheùp ñoïc boä nhôù chöông trình ngoaøi. Ví duï: Keát noái phaàn cöùng 8051 vôùi boä nhôù ngoaøi EPROM 64K nhö sau: Port 0 D0 - D7 74HC373 EA D Q A0 - A7 ALE G Port 2 A8 - A15 PSEN OE CS 8051 EPROM Hình 2.10 - Trong moät chu kyø maùy ñieån hình, ALE coù 2 xung vaø do ñoù coù theå ñoïc 2 byte cuûa leänh töø boä nhôù chöông trình (neáu leänh chæ coù 1 byte thì byte thöù hai ñöôïc loaïi boû). Giaûn ñoà thôøi gian cuûa chu kyø tìm-naïp leänh ôû boä nhôù chöông trình ngoaøi nhö sau: Hình 2.11 http://www.ebook.edu.vn 11
  12. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 2. Truy xuaát boä nhôù döõ lieäu ngoaøi - Cho pheùp ñoïc/ghi bôûi caùc tín hieäu RD / WR . - Leänh duøng ñeå truy xuaát boä nhôù döõ lieäu ngoaøi laø MOVX, söû duïng DPTR hay R0/R1 ñeå chöùa ñòa chæ döõ lieäu. - RAM ngoaøi coù theå giao tieáp vôùi 8051 theo cuøng caùch nhö EPROM ngoaïi tröø ñöôøng RD noái vôùi ñöôøng cho pheùp xuaát OE vaø ñöôøng WR noái vôùi ñöôøng ghi WR cuûa RAM. - Trong tröôøng hôïp chæ coù moät löôïng nhoû boä nhôù döõ lieäu ngoaøi (khoâng coù boä nhôù chöông trình ngoaøi) coù theå duøng ñòa chæ 8 bit ñeå taïo trang boä nhôù 256 byte. Ví duï: Giao tieáp giöõa 8051 vaø RAM 1K ngoaøi ñöôïc keát noái nhö sau: Port 0 D0 - D7 74HC373 EA D Q A0 - A7 ALE G P2.0 A8 P2.1 A9 RD OE WR WR PSEN NC CS 8051 RAM (1KB) Hình 2.12 Giaûn ñoà thôøi gian cuûa chu kyø ñoïc vaø ghi boä nhôù döõ lieäu ngoaøi nhö sau: Hình 2.13 Hình 2.14 http://www.ebook.edu.vn 12
  13. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 3. Giaûi maõ ñòa chæ Bus ñòa chæ Bus döõ lieäu /PSEN D0-D7 /RD D0-D7 OE 2764 /WR OE 6264 EPROM WR RAM A0-A12 (8KB) A0-A12 (8KB) A0-A12 A0-A12 CS CS CS CS CS CS A13 A14 A Y0 A15 B Y1 C Y2 VCC G1 Y3 Y4 Choïn caùc G2A Y5 EPROM/RAM G2B Y6 Y7 khaùc 0 74LS138 Hình 2.15 - Ñöôïc duøng trong tröôøng hôïp caàn phaûi giao tieáp nhieàu ROM vaø/hoaëc nhieàu RAM. Do caùc chip cuøng noái vaøo bus döõ lieäu cuûa vi ñieàu khieån neân caàn coù maïch giaûi maõ ñeå ñaûm baûo taïi moãi thôøi ñieåm chæ coù moät chip ñöôïc choïn noái vôùi bus döõ lieäu, caùc chip khaùc xem nhö hôû maïch. - Moät IC giaûi maõ ñieån hình laø 74138 (giaûi maõ 3 → 8). 4. Xeáp choàng khoâng gian boä nhôù chöông trình vaø döõ lieäu - Duøng RAM vöøa laøm boä nhôù chöông trình vöøa laøm boä nhôù döõ lieäu. - Maïch trình baøy ôû hình sau cho pheùp RAM ñöôïc ghi nhö laø boä nhôù döõ lieäu vaø ñöôïc ñoïc nhö laø boä nhôù chöông trình hoaëc döõ lieäu. Do ñoù moät chöông trình coù theå ñöôïc naïp vaøo RAM (baèng caùch ghi vaøo RAM nhö boä nhôù döõ lieäu) vaø ñöôïc thöïc thi (baèng caùch truy xuaát nhö boä nhôù chöông trình). RAM WR WR RD OE PSEN Hình 2.16 Vì PSEN ñöôïc duøng ñeå ñoïc boä nhôù chöông trình vaø RD ñöôïc duøng ñeå ñoïc boä nhôù döõ lieäu neân moät RAM coù theå duøng laøm khoâng gian nhôù chöông trình vaø döõ lieäu baèng caùch noái chaân OE tôùi ngoõ ra coång AND coù caùc ngoõ vaøo laø PSEN vaø RD . VIII. HOAÏT ÑOÄNG RESET - 8051 ñöôïc reset baèng caùch giöõ chaân RST ôû möùc cao toái thieåu 2 chu kyø maùy vaø sau ñoù chuyeån veà möùc thaáp. - Baûng traïng thaùi caùc thanh ghi sau khi reset: Thanh ghi Noäi dung Boä ñeám chöông trình PC 0000H Thanh ghi tích luyõ A 00H Thanh ghi B 00H http://www.ebook.edu.vn 13
  14. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 Töø traïng thaùi chöông trình PSW 00H Con troû stack SP 07H Con troû döõ lieäu DPTR 0000H Port 0 – 3 FFH Thanh ghi öu tieân ngaét IP xxx00000B (8031/8051) xx000000B (8032/8052) Thanh ghi cho pheùp ngaét IE 0xx00000B (8031/8051) 0x000000B (8032/8052) Caùc thanh ghi ñònh thôøi 00H Thanh ghi ñieàu khieån noái tieáp SCON 00H Boä ñeäm döõ lieäu noái tieáp SBUF 00H Thanh ghi ñieàu khieån nguoàn PCON (HMOS) 0xxxxxxxB (CMOS) 0xxx0000B Baûng 2.4: Traïng thaùi caùc thanh ghi sau khi reset. - Maïch reset tieâu bieåu: +5V +5V + + 100 10uF 10uF Reset RST RST 8.2K 8.2K 0 0 a/ Taùc ñoäng baèng tay b/ Taùc ñoäng khi môû nguoàn Hình 2.17 IX. CAÙC CAÛI TIEÁN CUÛA 8032/8052 Caùc vi maïch 8032/8052 coù hai caûi tieán so vôùi 8031/8051. Moät laø coù theâm 128 byte RAM treân chip. Caùc ñòa chæ naøy truøng vôùi caùc thanh ghi chöùc naêng ñaëc bieät, tuy nhieân khoâng xaûy ra xung ñoät vì caùc byte RAM naøy chæ coù theå truy xuaát baèng caùch duøng kieåu ñònh ñòa chæ giaùn tieáp. Ví duï: MOV A,0F0H ; cheùp noäi dung thanh ghi B vaøo thanh ghi A MOV R0,#0F0H MOV A,@R0 ; cheùp noäi dung taïi ñòa chæ RAM laø F0H vaøo thanh ghi A Caûi tieán thöù hai laø coù theâm moät boä ñònh thôøi 16-bit. Boä ñònh thôøi 2 naøy ñöôïc laäp trình nhôø vaøo 5 thanh ghi chöùc naêng ñaëc bieät theâm vaøo. Thanh ghi Ñòa chæ Moâ taû Ñòa chæ bit T2CON C8H Ñieàu khieån Coù RCAP2L CAH Nhaän byte thaáp Khoâng RCAP2H CBH Nhaän byte cao Khoâng TL2 CCH Byte thaáp cuûa timer 2 Khoâng TH2 CDH Byte cao cuûa timer 2 Khoâng Baûng 2.5: Caùc thanh ghi cuûa boä ñònh thôøi 2. http://www.ebook.edu.vn 14
  15. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 CAÂU HOÛI VAØ BAØI TAÄP CHÖÔNG 2 2.1. Giaù trò cuûa con troû stack (SP) cuûa 8051 ngay sau khi khôûi ñoäng heä thoáng laø bao nhieâu? Vuøng stack baét ñaàu töø ñaâu? 2.2. Moâ taû caùch ñeå choïn bank thanh ghi tích cöïc laø bank 3? 2.3. Neáu taàn soá dao ñoäng thaïch anh caáp cho 8051 laø 4MHz thì thôøi gian cuûa moät chu kyø maùy (TM) laø bao nhieâu? 2.4. Neáu taàn soá dao ñoäng thaïch anh caáp cho 8051 laø 10MHz thì taàn soá cuûa tín hieäu treân chaân ALE laø bao nhieâu (neáu khoâng duøng leänh MOVX)? 2.5. Neáu taàn soá dao ñoäng thaïch anh caáp cho 8051 laø 8MHz thì thôøi gian toái thieåu maø chaân RST phaûi ôû möùc cao laø bao nhieâu ñeå taïo tín hieäu reset heä thoáng? 2.6. Keå teân caùc tín hieäu ñieàu khieån cuûa 8051 ñöôïc duøng ñeå truy xuaát EPROM ngoaøi vaø RAM ngoaøi. 2.7. Ñòa chæ bit cuûa bit MSB taïi ñòa chæ byte 25H trong RAM noäi cuûa 8051 laø gì? 2.8. Neâu söï khaùc nhau giöõa cheá ñoä nguoàn nghæ vaø cheá ñoä nguoàn giaûm cuûa 8051? 2.9. Xaùc ñònh baûng phaân vuøng ñòa chæ cho moãi chip nhôù trong heä thoáng sau (ghi roõ ñòa chæ baét ñaàu vaø ñòa chæ keát thuùc) : − 1 ROM 16 KB baét ñaàu töø ñòa chæ 0000H − 2 RAM 8 KB baét ñaàu töø ñòa chæ 4000H − 2 ROM 4 KB baét ñaàu töø ñòa chæ 8000H − 4 RAM 2 KB baét ñaàu töø ñòa chæ A000H − 8 RAM 1 KB baét ñaàu töø ñòa chæ C000H 2.10. Xaùc ñònh baûng phaân vuøng ñòa chæ cho caùc tín hieäu choïn chip ( CSx ) öùng vôùi caùc maïch giaûi maõ ñòa chæ sau : U1 15 CS 0 Y0 A10 1 A 14 Y1 CS1 A11 2 B 13 Y2 CS2 A12 3 C 12 Y3 CS3 11 CS4 Y4 A15 6 G1 10 Y5 CS5 A14 4 G2A 9 Y6 CS6 A13 5 G2B 7 Y7 CS7 74LS138 Hình a 2.11. Thieát keá kit 8031 vôùi 1 chip ROM chöông trình ngoaøi 8 KB vaø 2 chip RAM döõ lieäu ngoaøi 8KB: − Veõ sô ñoà maïch giaûi maõ ñòa chæ taïo tín hieäu choïn chip (tích cöïc möùc thaáp) vaø baûng phaân vuøng ñòa chæ töông öùng. − Veõ sô ñoà keát noái hoaøn chænh cuûa kit treân. 2.12. Thieát keá kit 8051 vôùi 4 chip RAM 16KB: http://www.ebook.edu.vn 15
  16. Baøi giaûng VI XÖÛ LYÙ Chöông 2: Phaàn cöùng hoï MCS-51 − Veõ sô ñoà maïch giaûi maõ ñòa chæ taïo tín hieäu choïn chip (tích cöïc möùc thaáp) vaø baûng phaân vuøng ñòa chæ töông öùng. − Veõ sô ñoà keát noái hoaøn chænh cuûa kit treân. 2.13. Thieát keá kit 8031 vôùi 1 chip ROM chöông trình ngoaøi 8 KB, 2 chip RAM 8 KB, 2 I/O xuaát (2 IC 74373) vaø 1 I/O nhaäp (IC 74244): − Veõ sô ñoà maïch giaûi maõ ñòa chæ taïo tín hieäu choïn chip (tích cöïc möùc thaáp) vaø baûng phaân vuøng ñòa chæ töông öùng. − Veõ sô ñoà keát noái hoaøn chænh cuûa kit treân. Sô ñoà chaân vaø baûng hoaït ñoäng töông öùng cuûa caùc IC 74244 vaø 74373: 2.14. Thieát keá maïch giaûi maõ vaø xaùc ñònh baûng phaân vuøng ñòa chæ cho boä nhôù goàm: 2 ROM 2 KB, 1 ROM 4 KB vaø 1 RAM 8 KB. 2.15. Thieát keá maïch giaûi maõ ñòa chæ taïo tín hieäu choïn chip (tích cöïc möùc thaáp) cho caùc boä nhôù RAM theo baûng phaân vuøng ñòa chæ: Tín hieäu choïn chip Vuøng ñòa chæ CS0 0000H ÷ 0FFFH CS1 1000H ÷ 2FFFH CS2 3000H ÷ 6FFFH CS3 7000H ÷ EFFFH 2.16. Söû duïng IC 74138 vaø caùc coång logic caàn thieát ñeå thieát keá maïch giaûi maõ ñòa chæ taïo tín hieäu choïn chip (tích cöïc möùc thaáp) theo baûng phaân vuøng ñòa chæ sau (khoâng quan taâm ñeán ñaëc tính truy xuaát): Tín hieäu choïn chip Vuøng ñòa chæ CS0 F000H ÷ F3FFH CS1 F400H ÷ F7FFH CS2 F800H ÷ FBFFH CS3 FC00H ÷ FFFFH http://www.ebook.edu.vn 16
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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