Vi điều khiển 8051

Phần mở đầu này xin nói một chút về vi điều khiển dành cho các bạn chưa biết về vi điều khiển. Vi điều khiển thường được sử dụng cho các robot hay các máy móc tự động mà bạn thấy, nếu muốn làm một con robot hay một cái máy hoạt động tự động, vi điều khiển là khởi đầu cần thiết. Điểm đặc biệt của vi điều khiển là cho phép người sử dụng lập trình theo ý muốn. Điều này có nghĩa là, việc điều khiển không còn bị chi phối vào mạch điện tử nữa, thay vào đó là các chương trình được lập trình cho vi điều khiển theo ý muốn.

 Một số thuật ngữ có thể bạn không hiểu, nhưng chỉ cần ghi nhớ về thuật ngữ, và đọc tiếp trong phần bài học bạn sẽ từ từ hiểu ra.

 Cơ bản về họ vi điều khiển 8051 và MSC-51 

Vi điều khiển 8051 được xem là huyền thoại của các chip vi điều khiển vì 8051 đạt đến độ hoàn chỉnh cần thiết và là mẫu hình tiêu biểu cho nhiều chip vi điều khiển được phát triển sau này. Chính vì vậy các tài liệu hướng dẫn thường sử dụng 8051, vì rằng các nền tảng của 8051 là cốt lõi căn bản nhất để tìm hiểu vi điều khiển.

Vào năm 1980 Intel công bố chíp 8051 (80C51), bộ vi điều khiển đầu tiên của họ vi điều khiển MCS-51. Nó bao gồm 4KB ROM, 128 byte RAM, 32 đường xuất nhập, 1 port nối tiếp và 2 bộ định thời 16 bit. Tiếp theo sau đó là sự ra đời của chip 8052, 8053, 8055 với nhiều tính năng được cải tiến. 

Hiện nay Intel không còn cung cấp các loại Vi điều khiển họ MCS-51 nữa, thay vào đó các nhà sản xuất khác như Atmel, Philips/signetics, AMD, Siemens, Matra&Dallas, Semiconductors được cấp phép làm nhà cung cấp thứ hai cho các chip của họ MSC-51. Chip Vi điều khiển được sử dụng rộng rãi trên thế giới cũng như ở Việt Nam hiện nay là Vi điều khiển của hãng Atmel với nhiều chủng loại vi điều khiển khác nhau.

Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là 89C51, 89C53, 89C55. Vi điều khiển Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng.

          Bảng 1

  Dung lượng RAM Dung lượng ROM Chế độ nạp
89C51 128 byte 4 Kbyte song song
89C52 128 byte 8 Kbyte song song
89C53 128 byte 12 Kbyte song song
89C55 128 byte 20 Kbyte song song

   

             Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.

    Bảng 2

  Dung lượng RAM Dung lượng ROM Chế độ nạp
89S51 128 byte 4 Kbyte nối tiếp
89S52 128 byte 8 Kbyte nối tiếp
89S53 128 byte 12 Kbyte nối tiếp
89S55 128 byte 20 Kbyte nối tiếp

       Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều khiển thế hệ trước. Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạoROM và RAM như 98Sxx trong bảng 2, tuy nhiên 98Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối tiếp.

Chip vi điều khiển thực hành trong tài liệu này 89S52

       Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều khiển với nhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v... các sách này đều hướng dẫn cụ thể về phần cứng cũng như cách thức lập trình. Chương trình phần mềm dành cho các Vi điều khiển này là như nhau, vì vậy bạn có thể tham khảo thêm về Vi điều khiển ở các sách này.

vi dieu khien 89s52

        Các phần thực hành trên phần cứng thực tế, tài liệu này sẽ cùng các bạn thực hành với Vi điều khiển 89S52 (Mã đầy đủ:AT89S52; AT là viết tắt của nhà sản xuất ATMEL) vì : 

  • Trên thị trường không còn bán chip 8051 hay 89S51 nữa, mà chỉ còn bán 89S52
  •  Các Vi điều khiển 89Sxx được cải tiến từ dòng 89Cxx (dòng 89Cxx là chủng loại chip được sử dụng khá phổ biến trước đây.)
  •  Chương trình viết dành cho 89Cxx đều chạy được với 89Sxx 
  • 89Sxx rẻ hơn 89Cxx 

        89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch mà không cần tháo chip vi điều khiển sang mạch khác để nạp chương trình và nhiều tính năng cải tiến khác. 

 

-/-