Như ta thấy, tất cả cỏc hoạt động trong cỏc vi điều khiển được thực hiện ở tốc độ cao và khỏ đơn giản, nhưng vi điều khiển chớnh nú sẽ khụng được thật sự hữu ớch nếu khụng cú mạch đặc biệt làm cho nú hoàn thiện. Cú một số mạch cụ thể sau đõỵ
Read Only Memory (ROM)
Read Only Memory (ROM) là một loại bộ nhớ được sử dụng để lưu vĩnh viễn cỏc chương trỡnh được thực thị Kớch cỡ của chương trỡnh cú thể được viết phụ thuộc vào kớch cỡ của bộ nhớ nàỵ ROM cú thể được tớch hợp trong vi điều khiển hay thờm vào như là một chip gắn bờn ngoài, tựy thuộc vào loại vi điều khiển. Cả hai tựy chọn cú một số nhược điểm. Nếu ROM được thờm vào như là một chip bờn ngoài, cỏc vi điều khiển là rẻ hơn và cỏc chương trỡnh cú thể tồn tại lõu hơn đỏng kể. Nhưng đồng thời, làm giảm số lượng cỏc chõn vào/ra để vi điều khiển sử dụng với mục đớch khỏc. ROM nội thường là nhỏ hơn và đắt tiền hơn, nhưng lỏ ghim thờm cú sẵn để kết nối với mụi trường ngoại vị Kớch thước của dóy ROM từ 512B đến 64KB
Random Access Memory (RAM)
Random Access Memory (RAM) là một loại bộ nhớ sử dụng cho cỏc dữ liệu lưu trữ tạm thời và kết quả trung gian được tạo ra và được sử dụng trong quỏ trỡnh hoạt động của bộ vi điều khiển. Nội dung của bộ nhớ này bị xúa một khi nguồn cung cấp bị tắt.
Electrically Erasable Programmable ROM (EEPROM)
EEPROM là một kiểu đặc biệt của bộ nhớ chỉ cú ở một số loại vi điều khiển. Nội dung của nú cú thể được thay đổi trong quỏ trỡnh thực hiện chương trỡnh (tương tự như RAM), nhưng vẫn cũn lưu giữ vĩnh viễn, ngay cả sau khi mất điện (tương tự như ROM).
Bộ mụn Kỹ thuật mỏy tớnh – Khoa Điện tử - Trường ĐH Kỹ thuật Cụng nghiệp 90 Nú thường được dựng để lưu trữ cỏc giỏ trị được tạo ra và được sử dụng trong quỏ trỡnh hoạt động (như cỏc giỏ trị hiệu chuẩn, mó, cỏc giỏ trị để đếm, v.v..), mà cần phải được lưu sau khi nguồn cung cấp ngắt. Một bất lợi của bộ nhớ này là quỏ trỡnh ghi vào là tương đối chậm.
Cỏc thanh ghi chức năng đặc biệt (SFR)
Thanh ghi chức năng đặc biệt (Special Function Registers) là một phần của bộ nhớ RAM. Mục đớch của chỳng được định trước bởi nhà sản xuất và khụng thể thay đổi được. Cỏc bit của chỳng được liờn kết vật lý tới cỏc mạch trong vi điều khiển như bộ chuyển đổi A/D, modul truyền thụng nối tiếp,… Mỗi sự thay đổi trạng thỏi của cỏc bit sẽ tỏc động tới hoạt động của vi điều khiển hoặc cỏc vi mạch.
Bộđếm chương trỡnh (Program Counter)
Bộ đếm chương trỡnh chứa địa chỉ chỉ đến ụ nhớ chứa cõu lệnh tiếp theo sẽ được kớch hoạt. Sau mỗi khi thực hiện lệnh, giỏ trị của bộ đếm được tăng lờn 1. Vỡ lý do đú nờn chương trỡnh chỉ thực hiện được được từng lệnh trong một thời điểm.
Central Processor Unit (CPU)
Đõy là một đơn vị cú nhiệm vụ điều khiển và giỏm sỏt tất cả cỏc hoạt động bờn trong vi điều khiển và người sử dụng khụng thể tỏc động vào hoạt động của nú. Nú bao gồm một số đơn vị con nhỏ hơn, trong đú quan trọng nhất là:
Bộ mụn Kỹ thuật mỏy tớnh – Khoa Điện tử - Trường ĐH Kỹ thuật Cụng nghiệp 91 - Instruction decoder is a part of the electronics which recognizes program
instructions and runs other circuits on the basis of that. The abilities of this circuit are expressed in the "instruction set" which is different for each microcontroller familỵ
- Bộ giải mó lệnh cú nhiệm vụ nhận dạng cõu lệnh và điều khiển cỏc mạch khỏc theo lệnh đó giải mó. Việc giải mó đươpcj thực hiện nhờ cú tập lệnh “instruction set”. Mỗi họ vi điều khiển thường cú cỏc tập lệnh khỏc nhaụ - Arithmetical Logical Unit (ALU) Thực thi tất cả cỏc thao tỏc tớnh toỏn số học
và logic.
- Thanh ghi tớch lũy (Accumulator) là một thanh ghi SFR liờn quan mật thiết
với hoạt động của ALỤ Nú lưu trữ tất cả cỏc dữ liệu cho quỏ trỡnh tớnh toỏn và lưu giỏ trị kết quả để chuẩn bị cho cỏc tớnh toỏn tiếp theọ Một trong cỏc thanh ghi SFR khỏc được gọi là thanh ghi trạng thỏi (Status Register) cho biết trạng thỏi của cỏc giỏ trị lưu trong thanh ghi tớch lũỵ
Cỏc cổng vào/ra (I/O Ports)
Để vi điều khiển cú thể hoạt động hữu ớch, nú cần cú sự kết nối với cỏc thiết bị ngoại vị Mỗi vi điều khiển sẽ cú một hoặc một số thanh ghi (được gọi là cổng) được kết nối với cỏc chõn của vi điều khiển.
Chỳng được gọi là cổng vào/ra (I/O port) bởi vỡ chỳng cú thể thay đổi chức năng, chiều vào/ra theo yờu cầu của người dựng.
Bộ mụn Kỹ thuật mỏy tớnh – Khoa Điện tử - Trường ĐH Kỹ thuật Cụng nghiệp 92
Bộ dao động (Oscillator)
Bộ dao động đúng vai trũ nhạc trưởng làm nhiệm vụ đồng bộ húa hoạt động của tất cả cỏc mạch bờn trong vi điều khiển. Nú thường được tạo bởi thạch anh hoặc gốm để ổn định tần số. Cỏc lệnh khụng được thực thi theo tốc độ của bộ dao động mà thường chậm hơn, bởi vỡ mỗi cõu lệnh được thực hiện qua nhiều bước. Mỗi loại vi điều khiển cần số chu kỳ khỏc nhau để thực hiện lệnh.
Bộđịnh thời/đếm (Timers/Counters)
Hầu hết cỏc chương trỡnh sử dụng cỏc bộ định thời trong hoạt động của mỡnh. Chỳng thường là cỏc thanh ghi SFR 8 hoặc 16 bit, sau mỗi xung dao động clock, giỏ trị của chỳng được tăng lờn. Ngay khi thanh ghi tràn, một ngắt sẽ được phỏt sinh.
Bộ mụn Kỹ thuật mỏy tớnh – Khoa Điện tử - Trường ĐH Kỹ thuật Cụng nghiệp 93
Truyền thụng nối tiếp
Kết nối song song giữa vi điều khiển và thiết bị ngoại vi được thực hiện qua cỏc cổng vào/ra là giải phỏp lý tưởng với khoảng cỏch ngắn trong vài một. Tuy nhiờn khi cần truyền thụng giữa cỏc thiết bị ở khoảng cỏch xa thỡ khụng thể dựng kết nối song song, vỡ vậy truyền thụng nối tiếp là giải phỏp tốt nhất.
Ngày nay, hầu hết cỏc vi điều khiển cú một số bộ điều khiển truyền thụng nối tiếp như một trang bị tiờu chuẩn. Chỳng được sử dụng phụ thuộc vào nhiều yếu tố khỏc nhau như:
- Bao nhiờu thiết bị vi điều khiển muốn trao đổi dữ liệu - Tốc độ trao đổi dữ liệu
- Khoảng cỏch truyền
- Truyền/nhận dữ liệu đồng thời hay khụng?
Chương trỡnh
Khụng giống như cỏc mạch tớch hợp, chỉ cần kết nối cỏc thành phần với nhau và bật nguồn, vi điều khiển cần phải lập trỡnh trước. Để viết một chương trỡnh cho vi điều khiển, cú một vài ngụn ngữ lập trỡnh bậc thấp cú thể sử dụng như Assembly, C hay Basic. Viết một chương trỡnh bao gồm việc viết cỏc cõu lệnh đơn giản theo một thứ tự để chỳng cú thể thực thị Cú rất nhiều phần mềm chạy trờn mụi trường Windows cho phộp xõy dựng cỏc chương trỡnh hoàn chỉnh cho cỏc họ vi điều khiển