Tiểu Luận: Vi Điều Xử Lý Và Vi Điều Khiển
I. Tìm hiểu về vi điều khiển
Trong những thập niên cuối thế kỷ XX, sự phát triển vượt bậc của kỹ thuật điện tử đã dẫn đến việc tích hợp mật độ cao các thiết bị điện tử nhỏ gọn với nhiều chức năng hơn. Bước đột phá quan trọng là sự ra đời của bộ vi xử lý (microprocessor) bởi Intel, cho phép thay đổi chức năng thông qua chương trình thay vì cấu trúc phần cứng cố định. Điều này mang lại sự mềm dẻo hóa, tốc độ xử lý cao và khả năng xử lý lớn cho các thiết bị.
Vi xử lý có các khối chức năng cơ bản để lấy dữ liệu, xử lý và xuất dữ liệu. Tuy nhiên, vi xử lý không có khả năng giao tiếp trực tiếp với các thiết bị ngoại vi. Để hoạt động, vi xử lý cần chương trình để điều khiển các mạch logic, thực hiện các lệnh từ bộ nhớ.
Để giải quyết hạn chế này, các nhà sản xuất đã tích hợp bộ nhớ và các mạch giao tiếp ngoại vi vào một IC duy nhất, tạo ra Vi điều khiển (microcontroller). Vi điều khiển có cấu trúc phần cứng đơn giản hơn, dễ dàng giao tiếp với thiết bị bên ngoài, phù hợp cho các ứng dụng nhỏ và không đòi hỏi khả năng tính toán quá lớn.
Năm 1976, Intel giới thiệu bộ vi điều khiển 8748, tiền thân của họ MCS-48. Đến năm 1980, chip 8051 ra đời, đánh dấu sự phát triển của họ MCS-51 và trở thành chuẩn công nghệ cho nhiều dòng vi điều khiển sau này.
I.3. Họ MSC-51
Họ vi điều khiển MCS-51, đặc biệt là chip 8051, được sử dụng rộng rãi trên toàn thế giới và tại Việt Nam. Chip 8051 ban đầu bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập và 2 bộ định thời 16-bit. Sau đó, các phiên bản cải tiến như 8052, 8053, 8055 đã được ra đời.
Hiện nay, Intel không còn sản xuất các loại vi điều khiển này, nhưng các hãng khác như Atmel, Philips/Signetics, AMD, Siemens đã được cấp phép sản xuất. Hãng Atmel nổi bật với các dòng vi điều khiển 89Cxx và 89Sxx, với các mã số tương ứng như AT89C51, AT89S52. Dòng 89Sxx có ưu điểm là khả năng nạp chương trình theo chế độ nối tiếp, giúp việc lập trình trở nên đơn giản và tiện lợi hơn.
II. Sơ lược phần cứng vi điều khiển - Giao tiếp bên ngoài
Các thành viên của họ MCS-51 (Atmel) thường có các đặc điểm chung như bộ nhớ FLASH ROM bên trong (4/8/12/20 Kbyte) cho phép nạp/xóa chương trình đến 10000 lần, 128 Byte RAM nội, 4 Port xuất/nhập 8 bit, 2-3 bộ định thời 16-bit, khả năng giao tiếp truyền dữ liệu nối tiếp.
Vi điều khiển có thể mở rộng không gian nhớ chương trình ngoài (tối đa 64KByte) và bộ nhớ dữ liệu ngoài (tối đa 64KByte). Ngoài ra, còn có bộ xử lý bit cho phép thao tác trên từng bit.
II.1. Khảo sát sơ đồ chân
Vi điều khiển 8051 có 40 chân với nhiều kiểu đóng vỏ khác nhau. Các chân này bao gồm:
- Chân VCC (chân 40): Cấp điện áp nguồn (+5V ±0.5).
- Chân GND (chân 20): Nối đất (Mass).
- Port 0 (P0, chân 32-39): Có chức năng xuất/nhập và làm bus địa chỉ/dữ liệu (AD7-AD0) khi giao tiếp với bộ nhớ ngoài.
- Port 1 (P1, chân 1-8): Chỉ có chức năng xuất/nhập.
- Port 2 (P2, chân 21-28): Có chức năng xuất/nhập và làm bus địa chỉ cao (A8-A15) khi kết nối với bộ nhớ ngoài dung lượng lớn.
- Port 3 (P3, chân 10-17): Có chức năng xuất/nhập và các chức năng riêng biệt như RxD, TxD, INT0, INT1, T0, T1, WR, RD.
- Chân RESET (RST, chân 9): Dùng để thiết lập lại trạng thái ban đầu cho vi điều khiển.
- Chân XTAL1 và XTAL2 (chân 18, 19): Sử dụng để nhận nguồn xung clock từ bên ngoài, thường kết nối với thạch anh để tạo dao động ổn định.
- Chân PSEN: Tín hiệu cho phép truy xuất bộ nhớ chương trình ngoài.
- Chân ALE: Chân cho phép chốt địa chỉ, dùng để giải đa hợp các đường dữ liệu và địa chỉ khi kết nối với IC chốt.
- Chân EA: Xác định chương trình thực hiện được lấy từ ROM nội hay ROM ngoại.