Microcontroller 8051 - Phần 1: Microprocessors course

Chia sẻ: Hoang Cuong | Ngày: | Loại File: PPT | Số trang:88

0
187
lượt xem
119
download

Microcontroller 8051 - Phần 1: Microprocessors course

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

Nội dung: Giới thiệu chung; Sơ đồ khối và mô tả các tín hiệu của 8051; Các thanh ghi; Các lệnh cơ bản của 8051; Cấu trúc ngôn ngữ Assembly và chạy các chương trình 8051; Bản đồ bộ nhớ của 8051...

Chủ đề:
Lưu

Nội dung Text: Microcontroller 8051 - Phần 1: Microprocessors course

  1. • Phân 1 ̀ Microprocessors course Pham Thế Duy ̣ (ptduy@yahoo.com)
  2. ̣ Nôi dung: Giới Thiêu Chung ̣ Sơ đồ khôi và mô tả cac tin hiêu cua 8051 ́ ́ ́ ̣ ̉ ́ Cac thanh ghi Cac lênh cơ ban cua 8051. ́ ̣ ̉ ̉ Câu truc ngôn ngữ Assembly và chay cac ́ ́ ̣ ́ chương trinh 8051. ̀ Ban đồ bộ nhớ cua 8051. ̉ ̉ Cac bit cờ và thanh ghi PSW cua 8051. ́ ̉ Cac chế độ đia chỉ cua 8051. ́ ̣ ̉ Cac phep tinh số hoc và BCD 16 bit. ́ ́ ́ ̣ Ngăn xêp cua 8051 ́ ̉ ́ ̣ Cac lênh LOOP và JUMP. Cac lênh chương trinh con. ́ ̣ ̀ ̣ ̀ Lâp trinh cho cac công vao ra. ́ ̉ ̀
  3. Giới thiêu ̣ Hệ thông vi xử lý đa dung ́ ̣ • CPU thực hiên cac lênh điêu khiên hoat đông cua toan bộ hệ thông. ̣ ́ ̣ ̀ ̉ ̣ ̣ ̉ ̀ ́ • Không có cac bộ nhớ RAM, ROM, và cac vao ra trong CPU. ́ ́ ̀ • Bộ nhớ và vao ra là cac chip riêng biêt. ̀ ́ ̣ • Ví dụ ̣ Intel’s x86, Motorola’s 680x0 Nhiêu chip kêt nôi với nhau ̀ ́ ́ Data Bus CPU Bộ vi xử lý Serial ̣ đa dung RAM ROM I/O Timer COM Port Port Address Bus Control Bus Hệ thông vi xử lý đa dung ́ ̣
  4. Bộ vi điêu khiên : ̀ ̉ • Là môt hệ thông vi xử lý nhỏ được kêt nôi săn trong môt IC. ̣ ́ ́ ́ ̃ ̣ • CPU, RAM, ROM, I/O cung năm trong môt CHIP. ̀ ̀ ̣ • Ví dụ Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X Power RAM ROM Monitoring Reset I/O ̣ Môt Chip CPU Port Control Serial Clock & Timer Port Timming Bộ vi điêu khiên ̀ ̉
  5. So sanh giữa Vi Xử Lý và Vi Điêu Khiên ́ ̀ ̉ Vi Xử Lý ̀ Vi Điêu Khiên ̉ • CPU, ROM, RAM và cac ́ • CPU, RAM, ROM, I/O và vao ra là cac IC riêng ̀ ́ ̀ ̀ timer năm trên cung môt chip. ̣ • Người thiêt kế có thể quyêt ́ ́ • Dung lượng ROM, RAM và đinh dung lượng ROM, ̣ số lượng vao ra là cố đinh. ̀ ̣ RAM và công vao ra. ̉ ̀ • Thường sử dung cho cac ứng ̣ ́ • Giá thanh cao. ̀ dung có giá thanh ha, tiêu thụ ̣ ̀ ̣ • Có thể sử dung cho nhiêu ̣ ̀ công suât it và chiêm diên tich ́ ́ ́ ̣ ́ ứng dung khac nhau. ̣ ́ nho. ̉ • Thường sử dung cho cac ứng ̣ ́ dung đơn gian. ̣ ̉
  6. Hệ thông nhung ́ ́ • Hệ thông nhung là hệ thông vi xử lý được nhung vao cac ứng dung ́ ́ ́ ́ ̀ ́ ̣ cụ thê.̉ • Môt hệ thông nhung sử dung cac bộ vi xử lý hoăc vi điêu khiên ̣ ́ ́ ̣ ́ ̣ ̀ ̉ nhưng chỉ thực hiên môt nhiêm vụ duy nhât. ̣ ̣ ̣ ́ • Trong cac hệ thông nhung thông thường chỉ có môt phân mêm ứng ́ ́ ́ ̣ ̀ ̀ dung duy nhât, thông thường được nap vao ROM. ̣ ́ ̣ ̀ • Ví dụ ̣ May in, ban phim, card trò chơi. ́ ̀ ́
  7. Ba yêu tố để lựa chon môt bộ vi điêu khiên. ́ ̣ ̣ ̀ ̉ 1. Phôi hợp giữa ba yêu tô: hiêu suât tinh toan, hiêu quả thực hiên ́ ́ ́ ̣ ́ ́ ́ ̣ ̣ nhiêm vụ và giá thanh hệ thông. ̣ ̀ ́ • Tôc đô, dung lượng ROM và RAM, số lượng công vao ra, cac ́ ̣ ̉ ̀ ́ loai công vao ra, số lượng Timer, kich thước, kiêu chân IC, ̣ ̉ ̀ ́ ̉ công suât tiêu thu. ́ ̣ • Dễ dang nâng câp khi cân. ̀ ́ ̀ • Giá thanh môi IC. ̀ ̃ 2. Cac công cụ phân mêm săn co. ́ ̀ ̀ ̃ ́ • Cac phân mêm hợp dich (Assemblers), Cac phân mêm gỡi ́ ̀ ̀ ̣ ́ ̀ ̀ ́ ́ rôi (debuggers), Cac phân mêm biên dich C (C compilers), ̀ ̀ ̣ Phân mêm chay thử (emulator), Phân mêm mô phong ̀ ̀ ̣ ̀ ̀ ̉ (simulator), hỗ trợ kỹ thuât (technical support). ̣ 3. Có săn trên thị trường và có nguôn cung câp tin cây. ̃ ̀ ́ ̣
  8. Block Diagram External interrupts On-chip Timer/Counter Interrupt ROM for On-chip Timer 1 Counter Control program RAM Timer 0 Inputs code CPU Bus Serial 4 I/O Ports OSC Control Port P0 P1 P2 P3 TxD RxD Address/Data
  9. So sanh cac vi điêu khiên trong họ 8051 ́ ́ ̀ ̉ ̣ ́ Đăc tinh 8051 8052 8031 ROM (program space in bytes) 4K 8K 0K RAM (bytes) 128 256 128 Timers 2 3 2 I/O pins 32 32 32 Serial port 1 1 1 Interrupt sources 6 8 6
  10. ́ ́ ̣ ̉ Cac tin hiêu cua 8051 PDIP/Cerdip P1.0 1 40 Vcc P1.1 2 39 P0.0(AD0 P1.2 3 38 P0.1(AD1) ) P1.3 4 8051 37 P0.2(AD2 P0.3(AD3) P1.4 5 36 ) P1.5 6 (8031) 35 P0.4(AD4) P1.6 7 34 P0.5(AD5) P1.7 8 33 P0.6(AD6) RST 9 32 P0.7(AD7) (RXD)P3.0 10 31 EA/VPP (TXD)P3.1 11 30 ALE/PROG (INT0)P3.2 12 29 PSEN (INT1)P3.3 13 28 P2.7(A15) (T0)P3.4 14 27 P2.6(A14) (T1)P3.5 15 26 P2.5(A13) (WR)P3.6 16 25 P2.4(A12) (RD)P3.7 17 24 P2.3(A11) XTAL2 18 23 P2.2(A10) XTAL1 19 22 P2.1(A9) GND 20 21 P2.0(A8) 
  11. Pins of 8051 1/4 1 • Vcc V pin 40 pi – Vcc cung câp nguôn cho hoat đông cua 8051. ́ ̀ ̣ ̣ ̉ – Nguôn cân cung câp là +5V. ̀ ̀ ́ • GND G pin 20 pi ground • XTAL1 và XTAL2 ̀ pins 19,18 pi – Là 2 chân nôi linh kiên cung câp nguôn Clock bên ngoai. ́ ̣ ́ ̀ ̀ – Cach 1 ́ sử dung bộ dao đông thach anh  ́ ̣ ̣ ̣ – Cach 2 ́ Sử dung cac bộ tao dao đông TTL  ́ ̣ ́ ̣ ̣ – Ví dụ 7-1 cho thây quan hệ giữ XTAL và chu kỳ may cua vi ́ ́ ̉ ̀ ̉ điêu khiên. 
  12. Pins of 8051 P 2/4 2 • RST R pin 9 pi reset – Là ngõ vao tac đông mức cao ́ binh thường mức thâp ́ . ̀ ́ ̣ ̀ ́ • Tin hiêu nay cân phai ở mức cao trong it nhât 2 chu kỳ may. ́ ̣ ̀ ̀ ̉ ́ ́ ́ – Reset khi bât nguôn. ̣ ̀ • Khi cung câp xung mức cao tới chân RST, bộ vi điêu khiên sẽ ́ ̀ ̉ được Reset giá trị trong RAM và cac thanh ghi sẽ bị mât. ́ ́ • Giá trị cua cac thanh ghi 8051 sau khi reset  ̉ ́ – Cach 1 ́ Dung mach Power – on reset  ́ ̀ ̣ – Way 2 WDung mach Power-on reset và nut reset  ̀ ̣ ́
  13. Pins of 8051 P 3/4 3 • /EA / pin 31 pi External Access (truy câp bộ nhớ ngoai) ̣ ̀ – Cac vi điêu khiên 8031 và 8032 không có ROM nôi. ́ ̀ ̉ ̣ – /EA nôi tới GND chỉ thị chương trinh được chứa trong bộ nhớ ́ ̀ ngoai.̀ – /PSEN   ALE sử dung cho viêc truy câp bộ nhớ ROM ngoai. ̣ ̣ ̣ ̀ – Với 8051, /EA thường được nôi tới Vcc. ́ – “/” nghia là tac đông mức thâp. ̃ ́ ̣ ́ • /PSEN / pin 29 pi program store enable (Cho phep bộ nhớ chương ́ ̀ trinh) – Tin hiêu ra nay dung nôi tời chân OE cua bộ nhớ ROM. ́ ̣ ̀ ̀ ́ ̉ – Xem thêm về giao tiêp bộ nhớ ngoai 14. ́ ̀
  14. Pins of 8051 P 4/4 4 • ALE A pin 30 pi address latch enable (cho phep cai đia chi) ́ ̀ ̣ ̉ – Là tin hiêu ra tac đông mức cao. ́ ̣ ́ ̣ – Port 0 cua 8051 sử dung cho cả dữ liêu và đia chi. ̉ ̣ ̣ ̣ ̉ – ALE sử dung để de-multiplexing đia chỉ và dữ liêu băng cach nôi ̣ ̣ ̣ ̀ ́ ́ tới chân G cua bộ cai (ví dụ 74LS373). ̉ ̀ • Cac chân vao ra song song. ́ ̀ – Có 4 công song song P0, P1, P2, và P3. ̉ – Môi công có 8 chân. ̃ ̉ – Tât cả cac chân vao ra song song đêu hai chiêu. ́ ́ ̀ ̀ ̀
  15. ̀ ́ ̣ Hinh 7-2 (a). Nôi thach anh cho 8051 • Sử dung bộ dao đông thanh anh. ̣ ̣ ̣ • Có thể quan sat được dao đông trên chân XTAL2. ́ ̣ C2 XTAL2 30pF C1 XTAL1 30pF GND 
  16. Hinh 7-2 (b). Sử dung nguôn tao dao đông bên ngoai ̀ ̣ ̀ ̣ ̣ ̀ N XTAL2 C • Sử dung bộ tao dao đông TTL ̣ ̣ ̣ EXTERNAL • XTAL2 bỏ trông. ́ OSCILLATOR SIGNAL XTAL1 GND 
  17. Ví dụ 7-1 : Tim chu kỳ may với: ̀ ́ (a) XTAL = 11.0592 MHz (b) XTAL = 16 MHz. ̉ Giai: (a) 11.0592 MHz / 12 = 921.6 kHz; machine cycle = 1 / 921.6 kHz = 1.085 µs (b) 16 MHz / 12 = 1.333 MHz; machine cycle = 1 / 1.333 MHz = 0.75 µs 
  18. Giá trị cac thanh ghi 8051 sau khi RESET: ́ ́ Cac thanh ghi Giá trị sau Reset PC 0000 ACC 0000 B 0000 PSW 0000 SP 0007 DPTR 0000 Tât cả cac ô nhớ RAM băng 0 ́ ́ ̀ 
  19. ̀ ̣ Hinh 7-3 (a). Mach Power-On RESET Vcc + 10 uF 31 EA/VPP 30 pF X1 19 11.0592 MHz 8.2 K X2 18 30 pF 9 RST 
Đồng bộ tài khoản