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

Giáo trình Vi điều khiển - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:125

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

Giáo trình Vi điều khiển được biên soạn dành cho hệ cao đẳng chuyên nghiệp và cao đẳng nghề, ngành điện – điện tử và cơ điện tử. Giáo trình gồm 5 chương: Chương I giới thiệu chung về bộ vi xử lý; chương II tổng quan về vi điều khiển MCS-51; chương III lập trình hợp ngữ trên vi điều khiển MCS-51; chương IV các hoạt động của vi điều khiển MCS-51; chương V các ứng dụng dựa trên vi điều khiển MCS-51. Mời các bạn cùng tham khảo để biết thêm nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Giáo trình Vi điều khiển - Trường CĐ Kinh tế - Kỹ thuật Vinatex TP. HCM

  1. TRƯỜNG CAO KINH TẾ - KỸ THUẬT VINATEX TP.HCM GIÁO TRÌNH VI ĐIỀU KHIỂN Thành Phố Hồ Chí Minh – 2017
  2. i MỤC LỤC LỜI NÓI ĐẦU .......................................................................................................................... iii Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ ................................................................. 1 I. SỰ PHÁT TRIỂN CỦA CÁC BỘ VI XỬ LÝ ...................................................................... 1 1. Thế hệ 1 (1971 - 1973) .................................................................................................... 1 2. Thế hệ 2 (1974 - 1977) .................................................................................................... 1 3. Thế hệ 3 (1978 - 1982) .................................................................................................... 1 4. Thế hệ 4 (1983 - nay) ...................................................................................................... 1 II. SƠ ĐỒ KHỐI CỦA MỘT HỆ VI XỬ LÝ .......................................................................... 2 1. Khái niệm hệ vi xử lý ...................................................................................................... 2 2. Sơ đồ khối hệ vi xử lý ..................................................................................................... 2 III. ĐƠN VỊ XỬ LÝ TRUNG TÂM ........................................................................................ 2 IV. BỘ NHỚ BÁN DẪN ........................................................................................................ 4 1. ROM (Read Only Memory): ............................................................................................ 4 2. RAM (Random Access Memory): ................................................................................... 5 V. CÁC THIẾT BỊ NGOẠI VI (CÁC THIẾT BỊ XUẤT NHẬP) ............................................ 6 VI. HỆ THỐNG BUS ............................................................................................................. 6 VII. VI XỬ LÝ – VI ĐIỀU KHIỂN ........................................................................................ 7 VIII. MINH HỌA KIẾN TRÚC CỦA MỘT HỆ VI ĐIỀU KHIỂN ......................................... 7 IX. LỰA CHỌN BỘ VI ĐIỀU KHIỂN KHI THIẾT KẾ: ........................................................ 8 1. Tiêu chuẩn thứ nhất ......................................................................................................... 8 2. Tiêu chuẩn thứ hai ........................................................................................................... 8 3. Tiêu chuẩn thứ ba ............................................................................................................ 8 Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 .......................................................... 9 I. GIỚI THIỆU........................................................................................................................ 9 II. VI ĐIỀU KHIỂN AT89C51 ............................................................................................... 9 1. Sơ đồ khối AT89C51..................................................................................................... 10 2. Định thì chu kỳ máy ...................................................................................................... 13 4. Các thanh ghi chức năng đặc biệt (SFR – Special Function Registers) ........................... 21 5. Cấu trúc port ................................................................................................................. 25 6. Hoạt động Reset ............................................................................................................ 26 7. Các vấn đề khác ............................................................................................................ 27 8. Các đặc tính của AT89C51 ............................................................................................ 31 BÀI TẬP CHƯƠNG II ............................................................................................................. 36 Chương III: LẬP TRÌNH HỢP NGỮ TRÊN VI ĐIỀU KHIỂN MCS-51................................... 37 I. CÁC PHƯƠNG PHÁP ĐỊNH ĐỊA CHỈ ............................................................................ 37 1. Định địa chỉ trực tiếp .................................................................................................... 37 2. Định địa chỉ gián tiếp .................................................................................................... 37 3. Định địa chỉ thanh ghi .................................................................................................. 38 4. Định địa chỉ tức thời .................................................................................................... 38 5. Định địa chỉ chỉ số ........................................................................................................ 38 II. CÁC VẤN ĐỀ LIÊN QUAN KHI LẬP TRÌNH HỢP NGỮ ............................................ 38 1. Cú pháp lệnh ................................................................................................................. 38 2. Khai báo dữ liệu ............................................................................................................ 38 3. Các toán tử .................................................................................................................... 40 4. Cấu trúc chương trình .................................................................................................... 41 III. TẬP LỆNH..................................................................................................................... 41 1. Nhóm lệnh chuyển dữ liệu ............................................................................................. 41 2. Nhóm lệnh xử lý bit....................................................................................................... 45
  3. ii 3. Nhóm lệnh chuyển điều khiển ....................................................................................... 47 4.Nhóm lệnh logic ............................................................................................................ 50 5.Nhóm lệnh số học .......................................................................................................... 51 BÀI TẬP CHƯƠNG III............................................................................................................ 54 Chương IV: CÁC HOẠT ĐỘNG CỦA VI ĐIỀU KHIỂN MCS-51 .......................................... 55 I. HOẠT ĐỘNG ĐỊNH THỜI (TIMER / COUNTER) ......................................................... 55 1. Giới thiệu ...................................................................................................................... 55 2. Hoạt động Timer / Counter ............................................................................................ 55 3. Các thanh ghi điều khiển hoạt động ............................................................................... 56 4. Các chế độ hoạt động .................................................................................................... 57 5. Timer 2 ......................................................................................................................... 59 6. Các ví dụ....................................................................................................................... 64 II. CỔNG NỐI TIẾP (SERIAL PORT) ................................................................................ 67 1. Các thanh ghi điều khiển hoạt động............................................................................... 68 2. Tạo tốc độ baud............................................................................................................. 69 3. Truyền thông đa xử lý ................................................................................................... 73 4. Nhận dạng địa chỉ tự động ............................................................................................. 74 5. Kiểm tra lỗi khung ........................................................................................................ 75 6. Các ví dụ ....................................................................................................................... 75 III. NGẮT (INTERRUPT) .................................................................................................... 77 1. Các thanh ghi điều khiển hoạt động ............................................................................... 77 2. Xử lý ngắt ..................................................................................................................... 79 3. Ngắt do bộ định thời...................................................................................................... 80 4. Ngắt do cổng nối tiếp .................................................................................................... 83 5. Ngắt ngoài .................................................................................................................... 85 BÀI TẬP CHƯƠNG IV ........................................................................................................... 87 Chương V: CÁC ỨNG DỤNG DỰA TRÊN VI ĐIỀU KHIỂN MCS-51 .................................. 88 I. ĐIỀU KHIỂN LED ĐƠN ................................................................................................. 88 II. ĐIỀU KHIỂN LED 7 ĐOẠN .......................................................................................... 90 1. Cấu trúc và bảng mã hiển thị dữ liệu trên Led 7 đoạn .................................................... 90 2. Các phương pháp hiển thị dữ liệu ................................................................................. 93 III. ĐIỂU KHIỂN MA TRẬN LED ...................................................................................... 97 IV. ĐIỀU KHIỂN ĐỘNG CƠ BƯỚC ................................................................................ 100 V. ĐIỀU KHIỂN LCD (Liquid Crystal Display) ................................................................ 103 VI. GIAO TIẾP VỚI PPI8255 ............................................................................................ 112 BÀI TẬP CHƯƠNG V........................................................................................................... 118 Tài liệu tham khảo ..................................................................................................................... v
  4. iii LỜI NÓI ĐẦU Giáo trình Vi xử lý được biên soạn dành cho hệ cao đẳng chuyên nghiệp và cao đẳng nghề, ngành điện – điện tử và cơ điện tử. Giáo trình gồm 5 chương: Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Số tiết : 5 LT Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Số tiết : 15 LT Chương III: LẬP TRÌNH HỢP NGỮ TRÊN VI ĐIỀU KHIỂN MCS-51 Số tiết : 10 LT Chương IV: CÁC HOẠT ĐỘNG CỦA VI ĐIỀU KHIỂN MCS-51 Số tiết : 05 LT Chương V: CÁC ỨNG DỤNG CỦA VI ĐIỀU KHIỂN MCS-51 Số tiết : 10 LT + 90 TH Giáo trình nhằm cung cấp cho sinh viên các kiến thức cơ bản về hệ vi xử lý, tìm hiểu về tổng quan, cấu trúc, các tập lệnh, kỹ thuật lập trình và ứng dụng của vi điều khiển MCS-51, qua đó người học có thể vận dụng, tiếp cận với các họ vi xử lý, vi điều khiển khác đang từng ngày phát triển không ngừng.
  5. iv
  6. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 1 Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ I. SỰ PHÁT TRIỂN CỦA CÁC BỘ VI XỬ LÝ 1. Thế hệ 1 (1971 - 1973) Đặc điểm chung của các vi xử lý thế hệ này: - Bus dữ liệu: 4 bit. - Bus địa chỉ: 12 bit. - Công nghệ chế tạo: PMOS. - Tốc độ thực hiện lệnh: 10 – 60 µs/lệnh với fCLOCK = 0,1 – 0,8 MHz. Một số vi xử lý đặc trưng cho thế hệ này: 4040 (Intel), PPS-4 (Rockwell International)… 2. Thế hệ 2 (1974 - 1977) Đặc điểm chung của các vi xử lý thế hệ này: - Bus dữ liệu: 8 bit. - Bus địa chỉ: 16 bit. - Công nghệ chế tạo: NMOS hoặc CMOS. - Tốc độ thực hiện lệnh: 1 – 8 µs/lệnh với fCLOCK = 1 – 5 MHz. Một số bộ vi xử lý đặc trưng cho thế hệ này: 6502 (Mos Technology), 6800/6809 (Motorola), 8080/8085 (Intel), Z80 (Zilog), … 3. Thế hệ 3 (1978 - 1982) Đặc điểm chung của các vi xử lý thế hệ này: - Bus dữ liệu: 16 bit. - Bus địa chỉ: 20 - 24 bit. - Công nghệ chế tạo: HMOS. - Tốc độ thực hiện lệnh: 0,1 – 1 µs/lệnh với fCLOCK = 5 – 10 MHz. Một số bộ vi xử lý đặc trưng cho thế hệ này: 68000/68010 (Motorola), 8086/80186/80286 (Intel)… 4. Thế hệ 4 (1983 - nay) Đặc điểm chung của các vi xử lý thế hệ này: - Bus dữ liệu: 32 - 64 bit. - Bus địa chỉ: 32 bit. - Công nghệ chế tạo: HCMOS.
  7. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 2 - Tốc độ thực hiện lệnh: 0,01 – 0,1 µs với fCLOCK = 20 – 100 MHz. Một số bộ vi xử lý đặc trưng cho thế hệ này: 68020/68030/68040/68060 (Motorola), 80386/80486/Pentium (Intel), … II. SƠ ĐỒ KHỐI CỦA MỘT HỆ VI XỬ LÝ 1. Khái niệm hệ vi xử lý - Khả năng được lập trình để thao tác trên các dữ liệu mà không cần sự can thiệp của con người. - Khả năng lưu trữ và phục hồi dữ liệu. 2. Sơ đồ khối hệ vi xử lý - Phần cứng (Hardware): các thiết bị ngoại vi → để giao tiếp với con người. - Phần mềm (Software): chương trình → để xử lý dữ liệu. Hình 1.1 – Sơ đồ khối của hệ vi xử lý - CPU (Central Processing Unit): đơn vị xử lý trung tâm. - RAM (Random Access Memory): bộ nhớ truy xuất ngẫu nhiên. ROM (Read Only Memory): bộ nhớ chỉ đọc. - Interface Circuitry: mạch điện giao tiếp. - Peripheral Devices (Input): các thiết bị ngoại vi (thiết bị nhập) - Peripheral Devices (Output): các thiết bị ngoại vi (thiết bị xuất). - Address bus: bus địa chỉ. - Data bus: bus dữ liệu. - Control bus: bus điều khiển. III. ĐƠN VỊ XỬ LÝ TRUNG TÂM CPU đóng vai trò chủ đạo trong hệ vi xử lý, nó quản lý tất cả các hoạt động của hệ và thực
  8. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 3 hiện tất cả các thao tác trên dữ liệu. CPU là một vi mạch điện tử có độ tích hợp cao. Khi hoạt động, CPU đọc mã lệnh được ghi dưới dạng các bit 0 và bit 1 từ bộ nhớ, sau đó nó sẽ thực hiện giải mã các lệnh này thành dãy các xung điều khiển tương ứng với các thao tác trong lệnh để điều khiển các khối khác thực hiện từng bước các thao tác đó và từ đó tạo ra các xung điều khiển cho toàn hệ. Hình 1.2 – Sơ đồ khối của CPU - IR (Instruction Register): thanh ghi lệnh. - PC (Program Counter / Instruction Pointer): bộ đếm chương trình / con trỏ lệnh. - Instruction decode and control unit: đơn vị giải mã lệnh và điều khiển. - ALU (Arithmetic and Logic Unit): đơn vị số học và logic. - Registers: các thanh ghi. Tóm lại, khi hoạt động CPU sẽ thực hiện liên tục 2 thao tác: tìm nạp lệnh và giải mã – thực hiện lệnh. + Thao tác tìm nạp lệnh: - Nội dung của thanh ghi PC được CPU đưa lên bus địa chỉ (1). - Tín hiệu điều khiển đọc (Read) chuyển sang trạng thái tích cực (2). - Mã lệnh (Opcode) từ bộ nhớ được đưa lên bus dữ liệu (3). - Mã lệnh được chuyển vào trong thanh ghi IR trong CPU (4). - Nội dung của thanh ghi PC tăng lên một đơn vị để chuẩn bị tìm nạp lệnh kế tiếp từ bộ nhớ. + Thao tác giải mã – thực hiện lệnh: - Mã lệnh từ thanh ghi IR được đưa vào đơn vị giải mã lệnh và điều khiển. - Đơn vị giải mã lệnh và điều khiển sẽ thực hiện giải mã opcode và tạo ra các tín hiệu để điều khiển việc xuất nhập dữ liệu giữa ALU và các thanh ghi (Registers). - Căn cứ trên các tín hiệu điều khiển này, ALU thực hiện các thao tác đã được xác định.
  9. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 4 Hình 1.3 – Hoạt động của BUS cho chu kỳ nạp lệnh Một chuỗi các lệnh (Opcode) kết hợp lại với nhau để thực hiện một công việc có ý nghĩa được gọi là chương trình (Program) hay phần mềm (Software). IV. BỘ NHỚ BÁN DẪN Bộ nhớ bán dẫn là một bộ phận khác rất quan trọng của hệ vi xử lý, các chương trình và dữ liệu đều được lưu giữ trong bộ nhớ. Bộ nhớ bán dẫn trong hệ vi xử lý gồm: - ROM: bộ nhớ chương trình → lưu giữ chương trình điều khiển hoạt động của toàn hệ thống. - RAM: bộ nhớ dữ liệu → lưu giữ dữ liệu, một phần chương trình điều khiển hệ thống, các ứng dụng và kết quả tính toán. 1. ROM (Read Only Memory): Bộ nhớ chỉ đọc, thông tin trong ROM sẽ không bị mất đi ngay cả khi nguồn điện cung cấp cho ROM không còn. + Cấu trúc ROM: + Phân loại một số loại ROM:
  10. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 5 - MROM (Mask ROM): ROM mặt nạ. - PROM (Programmable ROM): ROM lập trình được. - EPROM (Eraseable PROM): ROM lập trình và xóa được. - UV-EPROM (Ultra Violet EPROM): ROM xóa bằng tia cực tím. - EEPROM (Electric EPROM): ROM lập trình và xóa bằng tín hiệu điện. - Flash ROM: ROM lập trình và xóa bằng tín hiệu điện. 2. RAM (Random Access Memory): Bộ nhớ truy xuất ngẫu nhiên (bộ nhớ ghi đọc), thông tin trong RAM sẽ bị mất đi khi nguồn điện cung cấp cho RAM không còn.. + Cấu trúc RAM: + Phân loại một số loại RAM: - DRAM (Dynamic RAM): RAM động - SRAM (Static RAM): RAM tĩnh + Cách xác định dung lượng bộ nhớ bán dẫn 8 bit sử dụng cho chip vi điều khiển 8051 như sau: - Dựa vào số lượng chân địa chỉ: Dung lượng = 2N , với N là số đường địa chỉ của bộ nhớ. Ví dụ: Bộ nhớ bán dẫn 8 bit có 10 đường địa chỉ. Cho biết dung lượng của bộ nhớ là bao nhiêu? N = 10 → dung lượng = 210 = 1024 = 1 KB - Dựa vào mã số của bộ nhớ: Mã số: XX YYYY XX: loại bộ nhớ 27: UV-EPROM 28: EEPROM 61,62: SRAM 40,41: DRAM YYYY: dung lượng bộ nhớ
  11. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 6 Dung lượng = YYYY (Kbit) hoặc dung lượng = YYYY / 8 (KB) Ví dụ: Bộ nhớ có mã số 27256, dung lượng của bộ nhớ là bao nhiêu ? 27 → Bộ nhớ UV-EPROM 256 → Dung lượng = 256 (Kbit) = 32 (KB) V. CÁC THIẾT BỊ NGOẠI VI (CÁC THIẾT BỊ XUẤT NHẬP) Mạch điện giao tiếp (Interface Circuitry) và các thiết bị xuất nhập hay thiết bị ngoại vi (Peripheral Devices) tạo ra khả năng giao tiếp giữa hệ vi xử lý với thế giới bên ngoài. Bộ phận giao tiếp giữa bus hệ thống của hệ vi xử lý với các thế giới bên ngoài thường được gọi là cổng (Port). Như vậy tùy theo từng loại thiết bị giao tiếp mà ta có các cổng nhập (Input) để lấy thông tin từ ngoài vào hệ và các cổng xuất (Output) để đưa thông tin từ trong hệ ra ngoài. Tổng quát, ta có 3 loại thiết bị xuất nhập sau: - Thiết bị lưu trữ lớn: băng từ, đĩa từ, đĩa quang, … - Thiết bị giao tiếp với con người: màn hình, bàn phím, máy in, … - Thiết bị điều khiển / kiểm tra: các bộ kích thích, các bộ cảm biến, … VI. HỆ THỐNG BUS Bus là tập hợp các đường dây mang thông tin có cùng chức năng. Việc truy xuất thông tin tới một mạch điện xung quanh CPU thì nó sử dụng 3 loại bus: bus địa chỉ, bus dữ liệu và bus điều khiển. CPU sử dụng hệ thống bus này để thực hiện các thao tác đọc (READ) và ghi (WRITE) thông tin giữa CPU với bộ nhớ hoặc các thiết bị ngoại vi. - Bus địa chỉ (Address bus): - Để chuyển tải thông tin của các bit địa chỉ. - Là loại bus 1 chiều (CPU → MEM hay I/O). - Để xác định bộ nhớ hoặc thiết bị ngoại vi mà CPU cần trao đổi thông tin. - Để xác định dung lượng bộ nhớ hoặc ngoại vi mà CPU có khả năng truy xuất. - Bus dữ liệu (Data bus): - Để chuyển tải thông tin của các bit dữ liệu. - Là loại bus 2 chiều (CPU ↔ MEM hay I/O). - Để xác định số bit dữ liệu mà CPU có khả năng xử lý cùng một lúc. - Bus điều khiển (Control bus): - Để chuyển tải thông tin của các bit điều khiển (mỗi đường dây là một tín hiệu điều khiển khác nhau). - Là loại bus 1 chiều (CPU → MEM-I/O hoặc MEM-I/O → CPU). - Để điều khiển các khối khác trong hệ và nhận tín hiệu điều khiển từ các khối đó để phối
  12. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 7 hợp hoạt động. VII. VI XỬ LÝ – VI ĐIỀU KHIỂN Để phân biệt bộ vi xử lý và bộ vi điều khiển ta có thể dựa trên các yếu tố như sau: Vi xử lý Vi điều khiển Yếu tố phân loại (Microprocessor) (Microcontroller) CPU X X ROM X RAM X Cấu trúc phần cứng (Hardware Mạch giao tiếp nối tiếp X architecture) Mạch giao tiếp song song X Mạch điều khiển ngắt X Các mạch điều khiển khác X Ứng dụng lớn, tính toán phức tạp X Các ứngdụng (Applications) Ứng dụng nhỏ, tính toán đơn giản X Các kiểu định địa chỉ Nhiều Ít Các đặc trưng của tập lệnh Byte, Word, Double (Instruction set feature) Độ dài từ dữ liệu xử lý Bit, Byte word, … VIII. MINH HỌA KIẾN TRÚC CỦA MỘT HỆ VI ĐIỀU KHIỂN Hình 1.4 – Kiến trúc của vi điều khiển - WDT (Watch-Dog Timer): Bộ định thời Watch-Dog. - OSC., OSC/N (Oscillator): Bộ dao động (N: hệ số chia tần). - Timer: Bộ định thời. - A/D (Analog/Digital): Bộ biến đổi tín hiệu tương tự/số. - SFR Registers (Special Function Register): Các thanh ghi chức năng đặc biệt. - RAM Memory: Bộ nhớ dữ liệu. - Program Memory: Bộ nhớ chương trình. - EEPROM: Bộ nhớ EEPROM. I/O Ports: Các port xuất/nhập. Instruction Decoder: Bộ giải mã lệnh. ALU: Đơn vị logic và số học. Accumulator: Thanh ghi tích lũy. Control Logic:
  13. Chương I. GIỚI THIỆU CHUNG VỀ BỘ VI XỬ LÝ Trang 8 Điều khiển logic. - Program Counter: Bộ đếm chương trình. - Instructions/Addresses: Các lệnh / địa chỉ. IX. LỰA CHỌN BỘ VI ĐIỀU KHIỂN KHI THIẾT KẾ: Có bốn họ vi điều khiển thông dụng trên thị trường hiện nay là: 68xxx của Motorola, 80xxx của Intel, Z8xx của Zilog và PIC16xxx của Microchip Technology. Mỗi loại vi điều khiển trên đều có một tập lệnh và thanh ghi riêng nên chúng không tương thích lẫn nhau. Vậy khi ta tiến hành thiết kế một hệ thống sử dụng vi điều khiển thì ta cần dựa trên những tiêu chuẩn nào? Có ba tiêu chẩn chính: 1. Tiêu chuẩn thứ nhất Đáp ứng yêu cầu tính toán một cách hiệu quả và kinh tế. Do vậy, trước tiên ta cần phải xem xét bộ vi điều khiển 8 bit, 16 bit hay 32 bit là thích hợp nhất. Một số tham số kỹ thuật cần được cân nhắc khi chọn lựa là: - Tốc độ: tốc độ lớn nhất mà vi điều khiển hỗ trợ là bao nhiêu. - Kiểu IC: là kiểu 40 chân DIP, QFP hay là kiểu đóng vỏ khác (DIP: vỏ dạng hai hàng chân, QFP: vỏ vuông dẹt). Kiểu đóng vỏ rất quan trọng khi có yêu cầu về không gian, kiểu lắp ráp và tạo mẫu thử cho sản phẩm cuối cùng. - Công suất tiêu thụ: là một tiêu chuẩn cần đặc biệt lưu ý nếu sản phẩm dùng pin hoặc điện áp lưới. - Dung lượng bộ nhớ ROM và RAM tích hợp sẵn trên chip. - Số chân vào/ra và bộ định thời trên chip. - Khả năng dễ dàng nâng cao hiệu suất hoặc giảm công suất tiêu thụ. - Giá thành trên một đơn vị khi mua số lượng lớn. Vì đây là vấn đề có ảnh hưởng đến giá thành cuối cùng của sản phẩm. 2. Tiêu chuẩn thứ hai Có sẵn các công cụ phát triển phần mềm, chẳng hạn như các chương trình mô phỏng, trình biên dịch, trình hợp dịch và gỡ rối. 3. Tiêu chuẩn thứ ba Khả năng đáp ứng về số lượng ở hiện tại cũng như ở tương lai. Đối với một số nhà thiết kế thì tiêu chuẩn này thậm chí còn quan trọng hơn cả hai tiêu chuẩn trên.
  14. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 9 Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Chương này giới thiệu tổng quan về họ vi điều khiển MCS-51(chủ yếu trên AT89C51):cấu trúc phần cứng, sơ đồ chân, các thanh ghi, đặc tính lập trình và các đặc tính về điện. I. GIỚI THIỆU Họ vi điều khiển MCS-51 do Intel sản xuất đầu tiên vào năm 1980 là các IC thiết kế cho các ứng dụng hướng điều khiển. Các IC này chính là một hệ thống vi xử lý hoàn chỉnh bao gồm các các thành phần của hệ vi xử lý:CPU, bộ nhớ, các mạch giao tiếp, điều khiển ngắt. MCS-51 là họ vi điều khiển sử dụng cơ chế CISC (Complex Instruction Set Computer), có độ dài và thời gian thực thi của các lệnh khác nhau. Tập lệnh cung cấp cho MCS-51 có các lệnh dùng cho điều khiển xuất / nhập tác động đến từng bit. MCS-51 bao gồm nhiều vi điều khiển khác nhau, bộ vi điều khiển đầu tiên là 8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM nội, phải sử dụng bộ nhớ ngoài. Sau này, các nhà sản xuất khác như Siemens, Fujitsu, … cũng được cấp phép làm nhà cung cấp thứ hai. MCS-51 bao gồm nhiều phiên bản khác nhau, mỗi phiên bản sau tăng thêm một số thanh ghi điều khiển hoạt động của MCS-51. II. VI ĐIỀU KHIỂN AT89C51 AT89C51 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệ CMOS có các đặc tính như sau: - 4 KB FPEROM (Flash Programmable and Erasable Read Only Memory), có khả năng tới 1000 chu kỳ ghi xoá. - Tần số hoạt động từ: 0Hz đến 24 MHz - 3 mức khóa bộ nhớ lập trình - 128 Byte RAM nội. - 4 Port xuất /nhập I/O 8 bit. - 2 bộ Timer/counter 16 Bit. - 6 nguồn ngắt. - Giao tiếp nối tiếp điều khiển bằng phần cứng. - 64 KB vùng nhớ mã ngoài, 64 KB vùng nhớ dữ liệu ngoài. - Cho phép xử lý bit. - 210 vị trí nhớ có thể định vị bit. - 4 chu kỳ máy (4 µs đối với thạch anh 12MHz) cho hoạt động nhân hoặc chia. - Có các chế độ nghỉ (Low-power Idle) và chế độ nguồn giảm (Power-down). Ngoải ra, một số IC khác của họ MCS-51 có thêm bộ định thời thứ 3 và 256 byte RAM nội.
  15. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 10 1. Sơ đồ khối AT89C51 Hình 2.1 – Sơ đồ khối của AT89C51 AT89C51 gồm có 40 chân, mô tả như sau: Port 0 là port có 2 chức năng ở các chân 32 – 39 của AT89C51: - Chức năng IO (xuất / nhập): dùng cho các thiết kế nhỏ. Tuy nhiên, khi dùng chức năng này thì Port 0 phải dùng thêm các điện trở kéo lên (pull-up), giá trị của điện trở phụ thuộc vào thành phần kết nối với Port. Khi dùng làm ngõ ra, Port 0 có thể kéo được 8 ngõ TTL. Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó.
  16. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 11 Hình 2.2 – Sơ đồ chân của AT89C51 - Chức năng địa chỉ / dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏi phải sử dụng bộ nhớ ngoài thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ (8 bit thấp). Ngoài ra khi lập trình cho AT89C51, Port 0 còn dùng để nhận mã khi lập trình và xuất mã khi kiểm tra (quá trình kiểm tra đòi hỏi phải có điện trở kéo lên) Port 1: Port1 (chân 1 – 8) chỉ có một chức năng là IO, không dùng cho mục đích khác (chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ 3). Tại Port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài. Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉ thấp trong quá trình lập trình hay kiểm tra. Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1 trước đó. Port 2: Port 2 (chân 21 – 28) là port có 2 chức năng: - Chức năng IO (xuất / nhập):có khả năng kéo được 4 ngõ TTL. - Chức năng địa chỉ:dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài có địa chỉ 16 bit. Khi đó, Port 2 không được dùng cho mục đích IO. Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó. Khi lập trình, Port 2 dùng làm 8 bit địa chỉ cao hay một số tín hiệu điều khiển. Port 3: Port 3 (chân 10 – 17) là port có 2 chức năng: - Chức năng IO: có khả năng kéo được 4 ngõ TTL.
  17. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 12 Khi dùng làm ngõ vào, Port 3 phải được set mức logic 1 trước đó. - Chức năng khác: mô tả như Bảng 2.1 Bảng 2.1: Chức năng các chân của Port 3 Bit Tên Chức năng P3.0 RxD Ngõ vào port nối tiếp P3.1 TxD Ngõ ra port nối tiếp P3.2 INT0 Ngắt ngoài 0 P3.3 INT1 Ngắt ngoài 1 P3.4 T0 Ngõ vào của bộ định thời 0 P3.5 T1 Ngõ vào của bộ định thời 1 P3.6 WR Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ ngoài. P3.7 RD Tín hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoài. Nguồn: Chân 40:VCC = 5V ± 20% Chân 20:GND PSEN (Program Store Enable): PSEN (chân 29) cho phép đọc bộ nhớ chương trình mở rộng đối với các ứng dụng sử dụng ROM ngoài, thường được nối đến chân OC (Output Control) của ROM để đọc các byte mã lệnh. PSEN sẽ ở mức logic 0 trong thời gian AT89C51 lấy lệnh.Trong quá trình này, PSEN sẽ tích cực 2 lần trong 1 chu kỳ máy. Mã lệnh của chương trình được đọc từ ROM thông qua bus dữ liệu (Port0) và bus địa chỉ (Port0 + Port2). Khi 8951 thi hành chương trình trong ROM nội, PSEN sẽ ở mức logic 1. ALE/ PROG (Address Latch Enable / Program): ALE/ PROG (chân 30) cho phép tách các đường địa chỉ và dữ liệu tại Port 0 khi truy xuất bộ nhớ ngoài. ALE thường nối với chân Clock của IC chốt (74373, 74573). Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống. Xung này có thể cấm bằng cách set bit 0 của SFR tại địa chỉ 8Eh lên 1. Khi đó, ALE chỉ có tác dụng khi dùng lệnh MOVX hay MOVC. Ngoài ra, chân này còn được dùng làm ngõ vào xung lập trình cho ROM nội ( PROG ). EA /VPP (External Access): EA (chân 31) dùng để cho phép thực thi chương trình từ ROM ngoài. Khi nối chân 31 với Vcc, AT89C51 sẽ thực thi chương trình từ ROM nội (tối đa 8KB), ngược lại thì thực thi từ ROM ngoài (tối đa 64KB).
  18. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 13 Ngoài ra, chân EA được lấy làm chân cấp nguồn 12V khi lập trình cho ROM. RST (Reset): RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiệu đưa lên mức 1 trong ít nhất là 2 chu kỳ máy. X1,X2: Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ. Tần số thạch anh thường sử dụng cho AT89C51 là 12Mhz. Giá trị C1, C2 = 30 pF ± 10 pF Hình 2.3 – Sơ đồ kết nối thạch anh 2. Định thì chu kỳ máy Một chu kỳ máy bao gồm 6 trạng thái (12 xung clock). Một trạng thái bao gồm 2 phần ứng với 12 xung clock: Phase 1 và Phase 2. Như vậy, một chu kỳ máy bao gồm 12 xung clock được biểu diễn từ S1P1 đến S6P2 (State 1, Phase 1 - State 6, Phase 2). Chu kỳ lấy lệnh và thực thi lệnh mô tả như Hình 2.4. Tín hiệu chốt địa chỉ ALE tích cực 2 lần trong một chu kỳ máy (trong khoảng thời gian S1P2 đến S2P1 và từ S4P2 đến S5P1). Từ đó tần số xung tại chân ALE bằng 1/6 tần số thạch anh. Đối với các lệnh thực thi trong 1 chu kỳ: - Lệnh 1 byte: được thực thi tại thời điểm S1P2 sau khi mã lệnh được chốt vào thanh ghi lệnh tại S1P1. - Lệnh 2 byte: byte thứ 2 được đọc tại thời điểm S4 và sẽ được thực thi tại thời điểm S4. Đối với các lệnh thực thi trong 2 chu kỳ: Quá trình lấy lệnh thực hiện tại thời điểm S1 của chu kỳ đầu tiên. Nếu lệnh có nhiều hơn 1 byte thì sẽ được lấy ở các thời điểm tiếp theo giống như các lệnh thực thi trong 1 chu kỳ.
  19. Chương II. TỔNG QUAN VỀ VI ĐIỀU KHIỂN MCS-51 Trang 14 Hình 2.4 – Chu kỳ lệnh 3. Tổ chức bộ nhớ Hình 2.5 - Các vùng nhớ trong AT89C51
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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