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.
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:
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ó |
Cặp con trỏ dữ liệu | Có |
Đ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:
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:
- DAC7715 IC chuyển đổi tín hiệu digial sang tín hiệu analog
- FOD3180 là gì? tìm hiểu thông tin và cách sử dụng
- IC điều khiển SMPS VIPER22A
Sơ đồ 2D AT89S52