[Tìm hiểu] Bộ vi điều khiển 8-bit AT89S52 với bộ nhớ Flash 8K byte 

0
906

AT89S52 là một trong những bộ vi điều khiển phổ biến của họ Atmel, vi điều khiển AT89S52 là vi điều khiển công nghệ CMOS 8 bit có bộ nhớ Flash 8kb và bộ nhớ RAM 256 byte. 

Nó có thể hoạt động ở tần số tối đa là 33MHz bằng cách sử dụng bộ dao động bên ngoài. Giống như các bộ vi điều khiển khác, nó có các chân GPIO, ba bộ định thời 16 bit, một cổng giao tiếp UART song công (truyền tín hiệu theo cả 2 hướng), ba bộ định thời 16 bit, bộ tạo dao động trên chip.

AT89S52

Hơn nữa, nó có 40 chân, trong đó có 32 chân GPIO. AT89S52 cũng có bộ đếm thời gian Watchdog có sẵn để vận hành chế độ tối ưu năng lượng cho bộ vi điều khiển. 

Bộ vi điều khiển này ứng dụng trong thiết bị gia đình đến ngành công nghiệp cung cấp khả năng điều khiển digital cho các hệ thống nhúng.

Giới thiệu Vi điều khiển AT89S52

Đây là bộ vi điều khiển 8 bit, công suất thấp, hiệu suất cao, dựa trên công nghệ CMOS với dải tần hoạt động từ 0 đến 33MHz. Con chip này có thể hoạt động ở hai chế độ lựa chọn nguồn điện hoạt động. 

Thiết bị này cung cấp 32 chân GPIO có thể được sử dụng làm chân đầu vào – đầu ra digital hoặc cũng có thể sử dụng cùng một chân cho các chức năng thay thế.

Sơ đồ chân AT89S52

Sơ đồ chân của vi điều khiển 8-bit AT89S52 được hiển thị bên dưới:

so-do-chan-AT89S52

Cấu hình chân AT89S52

Bộ vi điều khiển 8-bit AT89S52 có 3 package. Nhưng sơ đồ sơ đồ chân là giống nhau cho cả ba. Chi tiết cấu hình chân trong bảng được đề cập dưới đây:

Số chân Tên chân Đặc điểm
32-39 Port 0 8 chân Địa chỉ và Dữ liệu / GPIO
1-8 Port 1 8 chân GPIO 
21-28 Port 2 8 chân GPIO
10-17 Port 3 8 chân GPIO
9 RST Chân Reset
18 XTAL2 Chân đầu ra của bộ tạo dao động bên ngoài
19 XTAL1 Chân đầu vào bộ tạo dao động bên ngoài
20 GND Chân nối đất
40 VCC Chân cấp điện
31 EA / VPP Kích hoạt truy xuất bên ngoài / chân cấp nguồn kích hoạt Flash
30 ALE / PROG Chân chốt địa chỉ / Chân lập trình flash
29 PSEN Chân cho phép lưu chương trình
Chân Port 0

Tất cả các cổng của AT89S52 là 8-bit có nghĩa là mỗi port có 8 chân đa chức năng. Các chân đầu vào / đầu ra này có thể được cấu hình cho các chức năng khác bằng cấu hình cách các thanh ghi cấu hình. 

Nếu chúng ở trạng thái mức thấp, chúng hoạt động như các chân đầu vào trở kháng cao hai chiều. Nhưng nếu chúng được kéo lên mức cao, chúng được sử dụng làm chân đầu ra digital.

Các chân Port0 cũng được sử dụng để cập nhật các byte thấp trong code đến bộ nhớ chương trình bên trong của vi điều khiển AT89S52 và cũng được sử dụng để xác nhận code đã được cập nhật. Khi sử dụng các chân này để lập trình, chúng ta cần kết nối các chân này với các điện trở kéo lên bên ngoài.

Chân Port 1

Tương tự như port 0, Port1 cũng có các chân dữ liệu 2 chiều 8 bit với các điện trở kéo lên bên trong. Một số chân GPIO này được sử dụng giao tiếp lập trình hệ thống trong mạch và một số được sử dụng làm chức năng thay thế cho ba chân bộ định thời / bộ đếm 16 bit.

Số chân Chức năng
P1.0 T2
P1.1 T2EX
P1.5 MOSI
P1.6 MISO
P1.7 SCK
Chân Port 2

Giống như Port 1, Port2 cũng có các chân dữ liệu 2 chiều 8 bit với các điện trở kéo lên bên trong. Một số chân GPIO này được sử dụng để giao tiếp lập trình hệ thống trong mạch và một số chân được sử dụng làm chức năng thay thế cho ba chân Bộ định thời / Bộ đếm 16 bit.

Các chân Port2 cũng được sử dụng để cập nhật các byte cao trong code lên bộ nhớ chương trình bên trong của vi điều khiển AT89S52 và cũng được sử dụng để xác nhận code đã được cập nhật. Khi sử dụng các chân này để lập trình, chúng ta cần kết nối các chân này với các điện trở kéo lên bên ngoài.

Chân port 3

Port 3 cũng là một cổng 8-bit và có 8 chân GPIO. Ngoài chức năng nhập / xuất, các chân này còn có một số tính năng đặc biệt. 

Cổng 3 cũng được sử dụng để truyền dữ liệu nối tiếp UART, ngắt ngoài và thực hiện các thao tác đọc / ghi bộ nhớ dữ liệu bên ngoài.

Số chân Chức năng
P3.0 RXD
P3.1 TXD
P3.2 INT0
P3.3 INT1
P3.4 T0
P3.5 T1
P3.6 WR
P3.7 RD

Tất cả các chân này là chân dữ liệu hai chiều và tương thích với chuẩn TTL. Chúng có thể là nguồn dòng sink hay source và tất cả đều có điện trở kéo lên bên trong để xác định đúng trạng thái.

Các tính năng và thông số kỹ thuật của AT89S52

Các tính năng và ngoại vi Khả dụng
Kiến ​​trúc vi xử lý PIC 8 bit
Số lượng chân 40
RAM 256 byte
EEPROM / HEF Không
Bộ nhớ chương trình 8 KBytes
Tốc độ CPU 33 MHz
Bộ tạo dao động bên trong Không
Số bộ so sánh 2
ADC Không
DAC Không
Số lượng chân I / O có thể lập trình 32
Bộ hẹn giờ Watchdog Không
Tần số dao động bên ngoài 23 MHz (tối đa)
Độ phân giải của PWM Không
Số bộ hẹn giờ 16 bit 3
Loại bộ nhớ chương trình Flash
Module UART 1
Cờ ngắt nguồn
Cặp con trỏ dữ liệu 
Điện áp hoạt động 4V – 5,5 V
Nhiệt độ hoạt động -55 0 C – 125 0 C

Một số tính năng chi tiết nổi bật được liệt kê dưới đây:

  • Là bộ vi điều khiển công nghệ CMOS hiệu suất cao tích hợp công nghệ Flash
  • Hoạt động ở dải điện áp rộng 4 – 5.5V, vì vậy nó là một IC công suất thấp.
  • Thiết bị hỗ trợ lập trình bên trong ở cả chế độ page và byte của bộ nhớ Flash.
  • Tần số hoạt động lên đến 33MHz nhưng có thể thay đổi để tiết kiệm năng lượng.
  • Module có thời gian lập trình nhanh với 10.000 chu kỳ đọc / ghi.
  • Bộ nhớ RAM 256 × 8 bit.
  • Giao tiếp nối tiếp thông qua module UART song công.
  • Nó có một chân reset, ba bộ định thời 16 bit và tám bộ ngắt.
  • AT89S52 có hai chế độ nguồn. Đầu tiên là chế độ nhàn rỗi, trong đó thiết bị xử lý dừng hoạt động trong khi ngoại vi vẫn tiếp tục hoạt động. Thứ hai là chế độ tắt nguồn sẽ tạm dừng bộ dao động và các chức năng khác và lưu nội dung RAM.
  • Bộ đếm thời gian Watchdog để hoạt động khởi động thiết bị từ chế độ ngủ và có thể được kích hoạt hoặc hủy kích hoạt thông qua lập trình

Cách lập trình Vi điều khiển 8-bit AT89S52

Các phần mềm và trình biên dịch khác nhau hiện có trên thị trường có thể được sử dụng để lập trình dòng vi điều khiển Atmel.

Công cụ hỗ trợ trình biên dịch

Chúng ta cần một IDE, IPE, một trình biên dịch phù hợp và một lập trình viên phát triển hoặc gỡ lỗi để phát triển một chương trình. Chức năng của IDE (Integrated Development Environment) là môi trường để lập trình. 

Trình biên dịch chuyển đổi chương trình thành các tệp HEX có thể đọc được. IPE (Integrated Programming Environment) phục vụ mục đích ghi các tệp HEX trong AVR MCU. Đối với IDE, chúng tôi thường sử dụng Keil uVision IDE.

USBASP là một trình gỡ lỗi và lập trình mạch đóng một vai trò không thể thiếu trong việc lập trình vi điều khiển. Nó hỗ trợ In-Circuit-Serial-Programming và được vận hành bởi máy tính để ghi code vào vi điều khiển 8-bit AT89S52. 

Đối với lập trình phần cứng, nó được mua riêng lẻ. Nên mô phỏng chương trình trước trên phần mềm để tối ưu hóa chương trình và không bị lỗi. Hơn nữa, cần có phần cứng như bộ chuyển đổi 12 V, Bộ điều chỉnh điện áp 7805, Bộ dao động thạch anh và tụ điện.

Hình bên dưới là sơ đồ kết nối để lập trình bộ điều khiển AT89S52:

trinh-bien-dich-AT89S52

Các ứng dụng của AT89S52

  • Hệ thống cảm biến
  • Hệ thống y tế
  • Hệ thống tự động hóa trong gia đình
  • Hệ thống nhúng chi phí thấp
  • Ô tô
  • Mục đích quốc phòng và bảo mật

>>> Mời anh em xem thêm:

Sơ đồ 2D AT89S52

AT89S52

 

 

Tôi là một người làm việc trong lĩnh vực cơ khí, thiết bị công nghiệp....Blog là nơi tôi chia sẻ thông tin hữu ích đến các bạn đọc.
Subscribe
Notify of
0 Bình luận
Inline Feedbacks
View all comments