Intel MCS-51
Intel MCS-51 (được biết đến nhiều nhất với tên gọi 8051) là vi điều khiển đơn tinh thể kiến trúc Harvard, lần đầu tiên được sản xuất bởi Intel năm 1980, để dùng trong các hệ thống nhúng. Trong những năm 1980 và đầu những năm 1990 đã rất nổi tiếng. Tuy nhiên đến năm 2006, các dòng MCS-51 đã bị cho là cũ và được thay thế bằng các thiết bị hiện đại hơn, với các lõi phối hợp 8051, được sản xuất bởi hơn 20 nhà sản xuất độc lập, như Atmel, Maxim IC (công ty con của Dallas Semiconductor), NXP Semiconductors (Philips Semiconductor trước đây), Winbond, Silicon Laboratories, Texas Instruments và Cypress Semiconductor. Tên gọi chính thức của họ vi điều khiển Intel 8051 — MCS 51.
Những vi điều khiển Intel 8051 được sản xuất với việc dùng công nghệ MOSFET, những bản sau, chứa ký hiệu «C» trong tên, như 80C51, dùng công nghệ CMOS và yêu cầu công suất thấp, hơn những cái MOSFET trước (điều này cho phép trang bị cho các thiết bị với nguồn là pin).
Kiến trúc
[sửa | sửa mã nguồn]Kiến trúc cơ bản bên trong 8051 bao gồm các đặt tính sau:
- Một ALU 8-bit, một thanh tích lũy và một thanh ghi 8-bit, do đó nó là một vi điều khiển 8-bit
- bus dữ liệu 8-bit - có thể truy cập 8 bits dữ liệu trong một hoạt động.
- bus địa chỉ 16-bit - có thể truy cập 216 vị trí nhớ 64kB (65536 vị trí) cho mỗi bộ nhớ RAM và ROM
- RAM trên chip - 128 bytes (bộ nhớ dữ liệu)
- ROM trên chip - 4 kbytes (bộ nhớ chương trình)
- 32 chân I/O riêng biệt (4 nhóm mỗi nhóm 8 chân I/O) có thể được truy cập riêng rẽ.
- Hai bộ định thời/đếm 16-bit
- Đơn vị thu/phát bất đồng bộ phổ biến UART hoàn toàn song công.
- Sáu nguyên nhân ngắt với 2 mức ưu tiên.
- Chế độ tiết kiệm năng lượng (trên một số phiên bản)
Lập trình
[sửa | sửa mã nguồn]Đối với 8051 cho phép vài trình biên dịch từ ngôn ngữ lập trình C, phần lớn chúng hỗ trợ mở rộng ngôn ngữ để dùng hiệu quả hơn các đặc tính của 8051. Ví dụ như, lập trình viên có thể cho biết, trong kiểu nào từ 6 kiểu bộ nhớ 8051 cần giữ biến; có thể cho trình biên dịch biết, bằng cách nào dùng các khối đăng ký chuyển và các chỉ dẫn để манипулирования các bậc registr riêng biệt. Để lập trình 8051 có thể dùng các ngôn ngữ bậc cao khác: Forth, BASIC, Pascal, PL/M и Modula 2, nhưng chúng không phổ biến như C và Assembler.