Đồ Án: Thiết Kế Bộ Đo và Hiển Thị Nhiệt Độ LED 7 Đoạn (ĐH Hải Phòng)

Đồ án nghiên cứu lập trình điều khiển đề số 1 2 thiết kế bộ đo và hiển thị nhiệt độ bằng led 7 đoạn, thiết kế chi tiết, tính toán kỹ thuật theo tiêu chuẩn, đánh giá tính khả thi

Trường đại học

Trường Đại Học Hải Phòng

Chuyên ngành

Điện - Cơ

Người đăng

Ẩn danh

Thể loại

Đồ án

2024

42
25
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời nói đầu

1. Chương 1: Tổng quan về bộ đo và khống chế nhiệt độ, độ ẩm hiển thị bằng LCD16x02

1.1. Cấu trúc của hệ thống

1.2. Thành phần chính

1.3. Nguyên lý hoạt động

1.4. Lập trình vi điều khiển AT89C52

1.5. Khởi Động và Cấu Hình

1.6. Đo nhiệt độ và độ ẩm

1.7. Hiển thị nhiệt độ và độ ẩm

1.8. Khống chế nhiệt độ

1.9. Phần mềm lập trình

2. Chương 2: Cơ sở lý thuyết thiết kế mạch đo nhiệt độ và độ ẩm hiển thị kết quả lên màn hình LCD 16x02, sử dụng cảm biến DHT11 và vi điều khiển AT89S52

2.1. Giới thiệu khái quát về họ MCS-51 và chip AT89S52

2.2. Khái quát về họ MCS-51

2.3. Cấu trúc vi xử lý AT89S52

2.4. Tổng quan về màn hình LCD 16x02

2.5. Tổng quan về cảm biến DHT11

3. Chương 3: Sơ đồ khối và sơ đồ nguyên lý của hệ thống

3.1. Sơ đồ khối của hệ thống

3.2. Sơ đồ nguyên lý và chức năng từng khối

3.3. Khối xử lý trung tâm

3.4. Khối hiển thị

3.5. Khối cảm biến

3.6. Mạch nạp và cấp nguồn cho vi điều khiển

3.7. Phần lập trình và mô phỏng

3.8. Phần lập trình

3.9. Phần mô phỏng

KẾT LUẬN VÀ ĐÁNH GIÁ

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Đo Nhiệt Độ LED 7 Đoạn Bằng Vi Điều Khiển

Ngày nay, ứng dụng kỹ thuật điện tử đã tạo ra những thiết bị chính xác, nhanh chóng và gọn nhẹ, góp phần nâng cao hiệu quả hoạt động của con người. Vi điều khiển ngày càng phát triển, từ 4 bit đến 32 bit và 64 bit, đáp ứng nhu cầu đa dạng trong công nghiệp, nông nghiệp và đời sống. Một ứng dụng thiết thực là nhiệt kế điện tử. Đồ án môn học này tập trung vào thiết kế mạch đo nhiệt độ và độ ẩm hiển thị kết quả lên màn hình LCD 16x02, sử dụng cảm biến DHT11 và vi điều khiển AT89S52. Đề tài này dựa trên kiến thức môn Vi Điều Khiển và được thực hiện với sự hướng dẫn của thầy Nguyễn Quang Thư. Kết quả mô phỏng trên phần mềm Proteus và Kit 8051 cho thấy tính khả thi của đề tài. Việc sử dụng LED 7 đoạn để hiển thị nhiệt độ là một giải pháp tiết kiệm và hiệu quả. Sơ đồ mạch được thiết kế cẩn thận để đảm bảo độ chính xác cao nhất có thể. Code đo nhiệt độ vi điều khiển được tối ưu hóa để giảm thiểu tài nguyên sử dụng. Tuy nhiên, việc đo nhiệt độ vi điều khiểnhiển thị nhiệt độ LED 7 đoạn vẫn còn nhiều thách thức cần giải quyết.

1.1. Giới Thiệu Bộ Đo và Hiển Thị Nhiệt Độ Vi Điều Khiển

Hệ thống đo và hiển thị nhiệt độ LED 7 đoạn là một ứng dụng phổ biến của vi điều khiển. Nó bao gồm một cảm biến nhiệt độ (ví dụ: LM35 hoặc DS18B20), một vi điều khiển Arduino hoặc PIC, và một hoặc nhiều LED 7 đoạn. Cảm biến nhiệt độ sẽ chuyển đổi nhiệt độ thành tín hiệu điện, vi điều khiển sẽ đọc tín hiệu này và chuyển đổi nó thành giá trị nhiệt độ, sau đó hiển thị giá trị này trên LED 7 đoạn. Mạch này có thể được sử dụng trong nhiều ứng dụng khác nhau, từ các thiết bị gia dụng đến các hệ thống công nghiệp. Mục tiêu là tạo ra một hệ thống đơn giản, dễ sử dụng và có độ chính xác chấp nhận được. Thiết kế cũng cần xem xét đến vấn đề nhiễu trong mạch điện tử và các biện pháp lọc nhiễu.

1.2. Ứng Dụng Đo Nhiệt Độ Vi Điều Khiển Thực Tế

Các ứng dụng của hệ thống đo nhiệt độ sử dụng vi điều khiểnhiển thị LED 7 đoạn rất đa dạng. Trong gia đình, nó có thể được sử dụng để theo dõi nhiệt độ trong phòng trẻ em hoặc trong tủ lạnh. Trong công nghiệp, nó có thể được sử dụng để giám sát nhiệt độ của máy móc hoặc trong quá trình sản xuất. Trong nông nghiệp, nó có thể được sử dụng để kiểm soát nhiệt độ trong nhà kính hoặc chuồng trại. Ngoài ra, nó cũng có thể được sử dụng trong các thiết bị y tế, hệ thống HVAC (Heating, Ventilation, and Air Conditioning), và nhiều lĩnh vực khác. Điều quan trọng là chọn cảm biến nhiệt độ phù hợp với phạm vi nhiệt độ cần đo và đảm bảo hệ thống được calibrating sensor để có độ chính xác cao nhất.

II. Phân Tích Thách Thức Thiết Kế Mạch Đo Nhiệt Độ LED 7 Đoạn

Việc thiết kế mạch đo và hiển thị nhiệt độ bằng LED 7 đoạn không phải lúc nào cũng đơn giản. Một trong những thách thức lớn nhất là đảm bảo độ chính xác của phép đo. Sai số cảm biến nhiệt độ và các yếu tố môi trường có thể ảnh hưởng đến kết quả. Ngoài ra, việc lập trình hiển thị LED 7 đoạn cũng đòi hỏi kiến thức về vi điều khiểnnguyên lý hoạt động LED 7 đoạn. Việc lựa chọn linh kiện phù hợp, như cảm biến nhiệt độ LM35, cảm biến nhiệt độ DS18B20, và vi điều khiển Arduino hoặc PIC, cũng rất quan trọng. Hơn nữa, cần phải xem xét đến vấn đề nguồn cho vi điều khiển và đảm bảo thiết kế PCB hợp lý để tránh nhiễu.

2.1. Các Yếu Tố Ảnh Hưởng Độ Chính Xác Cảm Biến Nhiệt Độ

Độ chính xác của hệ thống đo nhiệt độ phụ thuộc rất nhiều vào cảm biến nhiệt độ được sử dụng. Các yếu tố như độ chính xác cảm biến nhiệt độ, độ phân giải, độ ổn định, và phạm vi nhiệt độ có thể ảnh hưởng đến kết quả. Datasheet LM35Datasheet DS18B20 cung cấp thông tin chi tiết về các thông số này. Ngoài ra, các yếu tố môi trường như độ ẩm, áp suất, và nhiễu điện từ cũng có thể gây ra sai số. Việc lựa chọn cảm biến có độ chính xác cao và sử dụng các kỹ thuật lọc nhiễu là rất quan trọng để đảm bảo độ tin cậy của hệ thống.

2.2. Khó Khăn Khi Lập Trình Hiển Thị LED 7 Đoạn Multiplexing

Việc hiển thị nhiệt độ trên LED 7 đoạn có thể trở nên phức tạp khi sử dụng kỹ thuật hiển thị LED 7 đoạn multiplexing để tiết kiệm chân vi điều khiển. Kỹ thuật này đòi hỏi phải quét các LED 7 đoạn liên tục với tốc độ đủ nhanh để mắt người không nhận ra sự nhấp nháy. Điều này đòi hỏi phải sử dụng Timer vi điều khiểnNgắt vi điều khiển một cách hiệu quả. Ngoài ra, cần phải tính toán giá trị điện trở hạn dòng (current limiting resistor) phù hợp để bảo vệ LED 7 đoạn và đảm bảo độ sáng đồng đều.

III. Hướng Dẫn Thiết Kế Sơ Đồ Mạch Đo Nhiệt Độ LED 7 Đoạn

Để thiết kế mạch đo và hiển thị nhiệt độ bằng LED 7 đoạn, cần phải có kiến thức về sơ đồ mạch đo nhiệt độ LED 7 đoạn, linh kiện điện tử, và lập trình vi điều khiển. Đầu tiên, cần chọn cảm biến nhiệt độ phù hợp, như LM35 hoặc DS18B20. Sau đó, cần chọn vi điều khiển Arduino hoặc PIC và thiết kế mạch giao tiếp giữa cảm biến và vi điều khiển. Tiếp theo, cần thiết kế mạch hiển thị LED 7 đoạn và viết chương trình để đọc dữ liệu từ cảm biến và hiển thị nhiệt độ trên LED 7 đoạn. Cuối cùng, cần thiết kế PCBmô phỏng mạch điện bằng các phần mềm như Proteus hoặc Altium để đảm bảo mạch hoạt động đúng.

3.1. Lựa Chọn Cảm Biến Nhiệt Độ Phù Hợp LM35 DS18B20

Cả LM35DS18B20 đều là những cảm biến nhiệt độ phổ biến được sử dụng trong các dự án vi điều khiển. LM35 là một cảm biến analog, có nghĩa là nó tạo ra một điện áp tương ứng với nhiệt độ. Điện áp này cần được chuyển đổi thành giá trị số bằng bộ chuyển đổi ADC (Analog-to-Digital Converter) của vi điều khiển. DS18B20 là một cảm biến số, giao tiếp với vi điều khiển thông qua giao thức 1-Wire. DS18B20 có ưu điểm là dễ dàng kết nối với vi điều khiển và có thể được sử dụng trong các ứng dụng đa điểm. Việc lựa chọn cảm biến phụ thuộc vào yêu cầu về độ chính xác, phạm vi nhiệt độ, và độ phức tạp của mạch.

3.2. Giao Tiếp Cảm Biến Nhiệt Độ Với Vi Điều Khiển Arduino PIC

Việc giao tiếp cảm biến nhiệt độ với vi điều khiển đòi hỏi phải hiểu rõ về giao thức giao tiếp của cảm biến và các chân I/O của vi điều khiển. Đối với LM35, cần kết nối chân ra của cảm biến với một chân analog của vi điều khiển và đọc giá trị ADC. Đối với DS18B20, cần sử dụng một thư viện hỗ trợ giao thức 1-Wire và kết nối chân dữ liệu của cảm biến với một chân số của vi điều khiển. Cần đảm bảo rằng điện trở kéo lên (pull-up resistor) được kết nối đúng cách để đảm bảo giao tiếp ổn định.

3.3. Tính Toán Giá Trị Điện Trở Hạn Dòng cho LED 7 Đoạn

Việc tính toán điện trở hạn dòng (current limiting resistor) cho LED 7 đoạn là rất quan trọng để bảo vệ LED khỏi hư hỏng. Giá trị của điện trở phụ thuộc vào điện áp nguồn, điện áp thuận của LED, và dòng điện mong muốn qua LED. Công thức tính toán là: R = (V_nguồn - V_LED) / I_LED. Cần tham khảo datasheet của LED 7 đoạn để biết các thông số V_LED và I_LED. Nếu không tính toán cẩn thận, LED có thể bị cháy hoặc hoạt động không ổn định.

IV. Code Đo Nhiệt Độ Vi Điều Khiển Hiển Thị LED 7 Đoạn

Việc viết code đo nhiệt độ vi điều khiển để hiển thị trên LED 7 đoạn đòi hỏi kiến thức về lập trình vi điều khiển. Code cần bao gồm các phần sau: khởi tạo các chân I/O, đọc dữ liệu từ cảm biến nhiệt độ, chuyển đổi dữ liệu thành giá trị nhiệt độ, và lập trình hiển thị LED 7 đoạn. Code cũng cần phải được tối ưu hóa để giảm thiểu tài nguyên sử dụng và đảm bảo tốc độ xử lý đủ nhanh. Việc sử dụng các thư viện hỗ trợ cảm biến nhiệt độ và LED 7 đoạn có thể giúp đơn giản hóa quá trình lập trình.

4.1. Mẫu Code Arduino Đọc Dữ Liệu Từ Cảm Biến LM35

const int sensorPin = A0; // Chân kết nối với LM35

void setup() {
  Serial.begin(9600);
}

void loop() {
  int sensorValue = analogRead(sensorPin);
  float voltage = sensorValue * (5.0 / 1023.0);
  float temperatureC = (voltage - 0.5) * 100; // Công thức chuyển đổi điện áp sang nhiệt độ (°C)

  Serial.print("Nhiet do: ");
  Serial.print(temperatureC);
  Serial.println(" °C");
  delay(1000);
}

Đoạn code này đọc giá trị analog từ LM35, chuyển đổi thành điện áp, và sau đó chuyển đổi thành nhiệt độ (°C). Giá trị nhiệt độ được in ra Serial Monitor.

4.2. Mẫu Code Hiển Thị Nhiệt Độ Trên LED 7 Đoạn Multiplexing

Việc hiển thị nhiệt độ trên LED 7 đoạn sử dụng kỹ thuật multiplexing đòi hỏi phải quét các LED liên tục. Đoạn code dưới đây minh họa cách thực hiện việc này:

// Định nghĩa các chân kết nối với LED 7 đoạn
const int digitPins[4] = {8, 9, 10, 11}; // Các chân điều khiển các chữ số
const int segmentPins[7] = {2, 3, 4, 5, 6, 7, 12}; // Các chân điều khiển các đoạn của LED

void displayDigit(int digit) {
  // Code để bật/tắt các đoạn của LED 7 đoạn để hiển thị chữ số 'digit'
}

void loop() {
  // Lấy giá trị nhiệt độ cần hiển thị
  int temperature = 25; // Ví dụ: Nhiệt độ là 25°C
  int thousands = temperature / 1000; // Lấy chữ số hàng nghìn
  int hundreds = (temperature / 100) % 10; // Lấy chữ số hàng trăm
  int tens = (temperature / 10) % 10; // Lấy chữ số hàng chục
  int ones = temperature % 10; // Lấy chữ số hàng đơn vị

  // Quét các chữ số để hiển thị
  displayDigit(ones);
  delay(2);
  // ... Tương tự cho hàng chục, hàng trăm, hàng nghìn
}

V. Ứng Dụng Thực Tế và Phát Triển Mạch Đo Nhiệt Độ

Mạch đo nhiệt độ vi điều khiển với hiển thị LED 7 đoạn có nhiều ứng dụng đo nhiệt độ vi điều khiển trong thực tế. Nó có thể được sử dụng trong các hệ thống điều khiển nhiệt độ, thiết bị gia dụng, và các ứng dụng công nghiệp. Trong tương lai, có thể phát triển mạch này bằng cách tích hợp thêm các tính năng như kết nối không dây, lưu trữ dữ liệu, và điều khiển từ xa. Việc thay thế LED 7 đoạn bằng LCD cũng là một hướng phát triển tiềm năng.

5.1. Các Dự Án Mở Rộng và Nâng Cấp Chức Năng Đo Nhiệt Độ

Có nhiều cách để mở rộng và nâng cấp chức năng của mạch đo nhiệt độ. Có thể tích hợp thêm module Bluetooth hoặc Wi-Fi để cho phép giám sát nhiệt độ từ xa. Cũng có thể thêm bộ nhớ để lưu trữ dữ liệu nhiệt độ theo thời gian và phân tích xu hướng. Ngoài ra, có thể thêm các chức năng điều khiển, chẳng hạn như bật/tắt thiết bị làm mát hoặc sưởi ấm khi nhiệt độ vượt quá ngưỡng cài đặt.

5.2. Thay Thế LED 7 Đoạn Bằng LCD Hiển Thị Chi Tiết Hơn

Việc thay thế LED 7 đoạn bằng LCD có thể cải thiện khả năng hiển thị của hệ thống. LCD có thể hiển thị nhiều thông tin hơn, chẳng hạn như nhiệt độ hiện tại, nhiệt độ tối đa/tối thiểu, và các thông báo cảnh báo. LCD cũng có thể hiển thị các ký tự đặc biệt, chẳng hạn như biểu tượng độ (°C) và độ ẩm (%). Tuy nhiên, việc sử dụng LCD có thể làm tăng chi phí và độ phức tạp của mạch.

VI. Kết Luận và Hướng Phát Triển Đồ Án Đo Nhiệt Độ LED 7 Đoạn

Đồ án đo và hiển thị nhiệt độ LED 7 đoạn là một dự án thú vị và hữu ích, giúp người học nắm vững kiến thức về vi điều khiển, cảm biến nhiệt độ, và kỹ thuật hiển thị. Mặc dù còn nhiều thách thức, nhưng với sự sáng tạo và nỗ lực, hoàn toàn có thể tạo ra những sản phẩm có giá trị thực tiễn cao. Hướng phát triển tiếp theo có thể tập trung vào việc cải thiện độ chính xác, tăng cường tính năng, và giảm thiểu chi phí.

6.1. Đánh Giá Ưu và Nhược Điểm Của Phương Pháp Đo Nhiệt Độ

Phương pháp đo nhiệt độ sử dụng vi điều khiểnhiển thị LED 7 đoạn có ưu điểm là đơn giản, dễ thực hiện, và chi phí thấp. Tuy nhiên, nó cũng có nhược điểm là độ chính xác có thể không cao, khả năng hiển thị hạn chế, và khó tích hợp các tính năng nâng cao. Việc lựa chọn phương pháp phù hợp phụ thuộc vào yêu cầu cụ thể của từng ứng dụng.

6.2. Tiềm Năng Phát Triển Mạch Đo Nhiệt Độ Trong Tương Lai

Mạch đo nhiệt độ có tiềm năng phát triển lớn trong tương lai. Với sự phát triển của công nghệ IoT (Internet of Things), có thể kết nối mạch với internet để cho phép giám sát và điều khiển nhiệt độ từ xa. Cũng có thể tích hợp trí tuệ nhân tạo (AI) để dự đoán xu hướng nhiệt độ và đưa ra các khuyến nghị phù hợp. Ngoài ra, có thể phát triển các cảm biến nhiệt độ mới với độ chính xác cao hơn và kích thước nhỏ hơn.

11/09/2025

Trích đoạn nội dung tài liệu

Chương 1. TỔNG QUAN VỀ BỘ ĐO VÀ KHỐNG CHẾ NHIỆT ĐỘ, ĐỘ ẨM HIỂN THỊ BẰNG LCD16x02 1. Cầu trúc của hệ thống 1.1 Thành phần chính - Vi điều khiển AT89C52: Bộ não của hệ thống, có nhiệm vụ xử lý dữ liệu từ cảm biến nhiệt độ, điều khiển hiển thị và hệ thống khống chế nhiệt độ. - Cảm biến nhiệt độ: Cảm biến đo nhiệt độ và độ ẩm, cung cấp dữ liệu dạng số trực tiếp.

- Màn hình LCD: Được sử dụng để hiển thị thông tin nhiệt độ và độ ẩm, kết nối với vi điều khiển thông qua các cổng I/O.2 Sơ đồ kết nối - DHT11: Kết nối chân DATA của cảm biến với một chân I/O của vi điều khiển (ví dụ: P2. - LCD: Kết nối các chân D0-D7 với P0 của vi điều khiển, RS với P2. - Relay/Triac: Kết nối với các chân xuất của vi điều khiển thông qua mạch lái relay hoặc optoisolator để điều khiển 2. Nguyên lý hoạt động - Đo nhiệt độ và độ ẩm: Cảm biến DHT11 thu thập nhiệt độ và độ ẩm từ môi trường, sau đó gửi dữ liệu dạng số đến vi điều khiển.

- Xử lý dữ liệu: Vi điều khiển đọc và xử lý dữ liệu từ DHT11, tính toán giá trị nhiệt độ và độ ẩm thực tế. 3 - Hiển thị dữ liệu: Vi điều khiển điều khiển màn hình LCD để hiển thị các giá trị nhiệt độ và độ ẩm. - Khống chế nhiệt độ: Vi điều khiển so sánh nhiệt độ đo được với giá trị mục tiêu và điều khiển relay hoặc triac để điều chỉnh nhiệt độ của hệ thống. Lập trình vi điều khiển AT89C52 3.

Khởi Động và Cấu Hình - Thiết lập các cổng I/O: Cấu hình các cổng xuất và nhập cho cảm biến, LCD16x02 và relay/triac. - Khởi tạo giao tiếp với DHT11: Viết mã để điều khiển việc đọc dữ liệu từ DHT11.2 Đo nhiệt độ và độ ẩm - Đọc dữ liệu từ DHT11: Sử dụng giao thức 1-Wire để nhận dữ liệu số từ cảm biến. - Xử lý dữ liệu: Tách và xử lý các giá trị nhiệt độ và độ ẩm từ dữ liệu nhận được.3 Hiển thị nhiệt độ và độ ẩm - Xuất dữ liệu ra LCD: Gửi dữ liệu nhiệt độ và độ ẩm tới màn hình LCD để hiển thị.4 Khống chế nhiệt độ - So sánh nhiệt độ: So sánh nhiệt độ đo được với giá trị cài đặt sẵn. - Điều khiển relay/triac: Kích hoạt relay hoặc triac để duy trì nhiệt độ trong phạm vi mong muốn.5 Phần mềm lập trình - Sử dụng phần mềm Keil µVision : Môi trường phát triển tích hợp (IDE) phổ biến cho vi điều khiển 8051, hỗ trợ lập trình và mô phỏng.

- Tính năng chính: 4 + Trình soạn thảo mã: Hỗ trợ ngôn ngữ Assembly và C. + Trình biên dịch C51: Biên dịch mã C thành mã máy cho AT89C52. + Trình giả lập: Kiểm tra và gỡ lỗi mã trước khi nạp vào phần cứng. Cơ sở lý thuyết thiết kế mạch đo nhiệt độ và độ ẩm hiển thị kết quả lên màn hình LCD 16x02, sử dụng cảm biến DHT11 và vi điều khiển AT89S52 1.

Giới thiệu khái quát về họ MCS-51 và chip AT89S52 1. Khái quát về họ MCS-51 MCS-51 là họ vi điều khiển của hãng Intel. Vi mạch tổng quát của họ MCS-51 là chip 8051. Chip 8051 có một số đặc trưng cơ bản:  Bộ nhớ chương trình bên trong: 4KB (ROM)  Bộ nhớ dữ liệu bên trong: 128 byte (RAM)  Bộ nhớ chương trình bên ngoài: 64KB (ROM)  Bộ nhớ dữ liệu bên ngoài: 64KB (RAM)  4 port xuất nhập vào ra 8 bit  2 bộ định thời 16 bit  Mạch giao tiếp nối tiếp  Bộ xử lí bit  210 vị trí nhớ được định địa chỉ bit Ngoài ra, MCS-51 còn có một số chip vi điều khiển khác có cấu trúc gần tương tự như chip 8031, 8032, 8051, 8052, 8751, 8752, 8951, 8952, … 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 Bảng 1.1 Dung lượng RAM Dung lượng ROM Chế độ nạp 89S51 128 byte 4 Kbyte Nối tiếp 6 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 Bảng 1.

Cấu trúc vi xử lý AT89S52 Hình 1.1 Sơ đồ chân của AT89S52 Đây là một vi điều khiển 8bit với 8k byte trong hệ thống lập trình flash. Các thông số cơ bản: - Tương thích với sản phẩm MCS-51 ® - 8k bite trong bộ nhớ của hệ thống lập trình flash ( ISP) – độ bền : 1000 chu kỳ Ghi / Xóa. - Định mức hoạt động: 4V – 5,5V - Hoạt động khi hoàn toàn tĩnh điện: 0 Hz to 33 MHz - Khóa bộ nhớ chương trình có 3 mức. - Bộ nhớ RAM bên trong là 256x8bit - 32 đường dẫn I/O - 3 Bộ đếm / Bộ định thời 16 bit - 8 nguồn ngắt.

7 - Kênh nối tiếp UART song công - Chế độ giảm điện áp và nghỉ ngơi điện áp thấp. - Phục hồi ngắt ở chế độ giảm điện áp - Bộ đếm cảnh báo - Con trỏ dữ liệu kép - Cờ tắt điện áp. Các AT89S52 là một vi điều khiển CMOS 8-bit năng lượng thấp, hiệu suất cao với 8K byte trong bộ nhớ hệ thống lập trình Flash. Thiết bị này được sản xuất bằng công nghệ bộ nhớ không biến đổi mật độ cao của Atmel, tương thích với sơ đồ chân và thiết lập lệnh 80C51 theo tiêu chuẩn công nghiệp.

Flash trên chip cho phép bộ nhớ chương trình được tái lập trình trong hệ thống hoặc bởi một bộ lập trình bộ nhớ không biến đổi thông thường.Bằng cách kết hợp một CPU 8-bit đa năng với trong hệ thống lập trình Flash trên một chip nguyên khối, Atmel AT89S52 là một vi điều khiển mạnh mẽ mà cung cấp một giải pháp rất linh hoạt và hiệu quả chi phí cho nhiều ứng dụng điều khiển nhúng. Ngoài ra, AT89S52 được thiết kế với logic tĩnh cho hoạt động tần số xuống không và hỗ trợ hai phần mềm lựa chọn chế độ tiết kiệm năng lượng. Chế độ nhàn rỗi cho dừng CPU trong khi cho phép bộ nhớ RAM, bộ đếm/ bộ định thời, cổng nối tiếp và hệ thống ngắt để tiếp tục hoạt động. Chế độ giảm điện áp thì giữ lại nội dung bộ nhớ RAM nhưng đóng bang bộ tạo dao động, vô hiệu hóa tất cả các chức năng khác của chip cho đến lần ngắt tiếp theo hoặc là thiết lập lại hệ thống.

 Chức năng cơ bản của các chân. VCC:Cung cấp điện áp. GND: Nối đất. Cổng 0: từ chân 32 đến chân 39 (P0.7) là cổng I/O 2 mở 2 chiều 8 bit.

Cổng 0 có 2 chức năng: trong các thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng 8 như các đường IO, đối với thiết kế lớn có bộ nhớ mở rộng nó được kết hợp giữa bus địa chỉ và bus dữ liệu. Cổng 0 cũng được byte mã trong khi lập trình flash và kết quả đầu ra các byte mã trong khi xác minh chương trình. Trở pullups bên ngoài được yêu cầu trong quá trình xác minh chương trình Cổng 1 :từ chân 1 đến chân 9 (P1.7) là cổng I/O 8 bit 2 hướng với trở pullups ở bên trong, Cổng 1 dùng cho giao tiếp với thiết bị bên ngoài nếu cần. Cổng 1 cũng nhận các byte địa chỉ mức thấp trong khi xác minh chương trình.

Chân cổng Các chức năng thay thế P1.0 T2 ( đầu vào đếm ngoài cho Bộ đếm/ bộ định thời 2) , dừng đồng hồ.3: Chức năng các chân của 89S52 Cổng 2:từ chân 21 đến chân 28 (P2.7) và là cổng I/O 8 bit 2 hướng với trở pullups ở bên trong. Cổng 2 có tác dụng kép dùng như các đường xuất/nhập hoặc là byte cao của bus địa chỉ đối với các thiết bị dùng bộ nhớ mở rộng. Cổng 2 cũng nhận các bit địa chỉ mức cao và 1 số tín hiệu điều khiển trong khi xác minh chương trình. Cổng 3:từ chân 10 đến chân 17 (P3.7) và là cổng I/O 8 bit 2 hướng với trở pullups ở bên trong.

Cổng 3 có tác dụng kép. Các chân của cổng này có nhiều chức năng, có công dụng chuyển đổi có liên hệ đến các đặc tính đặc biệt của 89S52 như ở bảng sau: Bit Tên Chức năng chuyển đổi 9 P3.0 RXD Cổng vào dữ liệu nối tiếp P3.1 TXD Cổng xuất dữ liệu nối tiếp P3.2 INT0 Cổng vào ngắt cứng thứ 0 P3.3 INT1 Cổng vào ngắt cứng thứ 1 P3.4 T0 Cổng vào Timer/Counter thứ 0 P3.5 T1 Cổng vào Timer/Counter thứ 1 P3.6 WR Tín hiệu ghi dữ liệu lên bộ nhớ ngoài P3.7 RD Tín hiệu đọc bộ nhớ dữ liệu ngoài Bảng 1.4: Chức năng các bit cổng P3 Cổng 3 cũng nhận 1 vài tín hiệu điều khiển cho lập trình Flash và xác minh. PSEN (Program store enable): PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE của Eprom cho phép đọc các byte mã lệnh. PSEN ở mức thấp trong thời gian 89S52 lấy lệnh.

Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu, được chốt vào thanh ghi lệnh bên trong 89S52 để giải mã lệnh. Khi 89S52 thi hành chương trình trong ROM nội, PSEN ở mức cao. ALE (Address Latch Enable): Khi 89S52 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus địa chỉ và dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt.

Tín hiệu ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động. EA (External Access): Tín hiệu vào EA (chân 31) thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 89S52 thi hành chương trình từ ROM nội. Nếu ở mức 0, 10 89S52 thi hành chương trình từ bộ nhớ mở rộng.

Chân EA được lấy làm chân cấp nguồn 21V khi lập trình cho Eprom trong 89S52. RST (Reset):Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch phải tự động reset. Các giá trị tụ và điện trở được chọn là: .2: Khối reset R1=10, R2=220, C=10 F Các ngõ vào bộ dao động X1, X2: Bộ tạo dao động được tích hợp bên trong 89S52.

Khi sử dụng 89S52, người ta chỉ cần nối thêm thạch anh và các tụ.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ