1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Vi xử lý. Ứng dụng họ vi điều khiển 8051 ghép nối 4 led 7 thanh để hiển thị số đo nhiệt độ dùng vi mạch lm35 adc0808 với khoảng đo [-55 đến 125] độ C

43 52 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 43
Dung lượng 1,83 MB
File đính kèm Vi xu ly.rar (234 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • BỘ CÔNG THƯƠNG

  • TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

  • KHOA ĐIỆN —

  • BÀI TẬP LỚN

  • KỸ THUẬT VI XỬ LÝ

  • ĐỀ TÀI: ứng dụng họ vi ĐIỀu khIỂn 8051 ghÉp nỐi 4 led 7 thanh ĐỂ hiỂn thỊ sỐ ĐO nhIỆt ĐỘ dÙng vi mẠch lm35 adc0808 VỚI khoẢng ĐO [-55 ÷ 125]0c

  • Giáo viên hướng dẫn : Ngyễn Thu Hà

  • CHƯƠNG I: PHÂN TÍCH YÊU CẦU CÔNG NGHỆ

    • 1.1. Phân tích và giới hạn về đặc điểm của các thiết bị.

    • 1.1.1. Tìm hiểu chung về hệ thống.

    • Nội dung đề tài: “ Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh để hiển thị số đo nhiệt độ dùng vi mạch LM35, ADC0808, khoảng đo [-55 ÷ 125 ]°C ”.

    • 1.1.2. Các đặc điểm chính của các thiết bị.

    • c. Mạch truyền thông chuẩn R_232.

    • Giới thiệu

    • Ưu điểm của giao diện nối tiếp RS232 + Khả năng chống nhiễu của các cổng nối tiếp cao + Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện + Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp

    • Những đặc điểm cần lưu ý trong chuẩn RS232 + Trong chuẩn RS232 có mức giới hạn trên và dưới (logic 0 và 1) là +-15V. Hiện nay đang được cố định trở kháng tải trong phạm vi từ-7000Ω- 3000Ω + Mức logic 1 có điện áp nằm trong khoảng -3V đến -15V, mức logic 0

    • Quá trình dữ liệu

      • Quátrình truyền dữ liệu.

      • Tốc độ Baud.

    • 1.2.Vi mạch LM35 và ADC0808

    • 1.2.1.Vi mạch LM35

    • 1.2.2. Giới thiệu về ADC0808.

  • CHƯƠNG II: THIẾT KẾ HỆ THỐNG

    • 2.1. Tính toán lựa chọn thiết bị

    • 2.1.1. Vi điều khiển 89C51

    • 2.1.2. Vi mạnh LM 35

    • 2.1.3. Led bảy thanh.

    • Ghép nối led 7 thanh

    • 2.1.4. IC Max232.

    • 2.2. Giao tiếp giữa VĐK 8051 với LM35 và ADC0808:

    • 2.2.1. ADC0808 và LM35.

    • 2.2.2. VĐK 8051 và ADC0808.

    • Trong hệ thống, vi điều khiển sử dụng 14 đường điều khiển để giao tiếp với ADC0808, trong đó có 8 đường dùng để nhận dữ liệu số sau khi chuyển đổi (P3.0÷P3.7), 3 đường dùng để xuất địa chỉ chọn 1 trong 8 kênh (P2.0,P2.1,P2.2), 1 đường dùng để chốt địa chỉ và cũng dùng để xuất tín hiệu điều khiển ADC0808 bắt đầu chuyển đổi(P2.4),1 đường dùng để xuất tín hiệu điều khiển cho phép xuất dữ liệu(P2.6), 1 đường dùng để nhận tín hiệu báo quá trình chuyển đổi kết thúc để tiến hành nhận dữ liệu.

    • Có 2 cách để điều khiển ADC0808 bắt đầu quá trình chuyển đổi và nhận dữ liệu, tiêu biểu ở đây chúng em dùng cách thứ nhất, đó là sau khi ra lệnh ADC thực hiện quá trình chuyển đổi thì vi điều khiển sẽ kiểm tra tín hiệu EOC xem chúng xuống mức thấp là báo hiệu quá trình chuyển đổi đang xảy ra, và chờ cho đến khi tín hiệu này lên mức cao trở lại thì quá trình chuyển đổi kết thúc mới tiến hành nhận dữ liệu. Và chân ALE và chân START được nối chung vào 1 đường điều khiển.

    • Lưu đồ điều khiển ADC0808 chuyển đổi 1 kênh theo cách 1.

    • S

    • Đ

    • S

    • Đ

    • 2.3 Xây mạch nguyên lý và thuyết minh.

    • 2.3.1.Mạch nguyên lý.

    • 2.3.2.Thuyết minh hoạt động:

    • 2.4.Xây dựng thuật toán.

    • 2.4.1.Chương trình con phục vụ ngắt.

    • 2.4.2. Chương trình con khởi tạo và đọc số liệu.

    • 2.4.3. Chương trình con tính toán nhiệt độ.

    • 2.4.4. Chương trình con hiển thị nhiệt độ dương.

    • 2.4.5. Chương trình con hiển thị nhiệt độ âm.

    • 2.5.Chương trình điều khiển.

  • CHƯƠNG 3: KẾT LUẬN

  • Tài liệu tham khảo:

Nội dung

Nội dung đề tài: “ Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh để hiển thị số đo nhiệt độ dùng vi mạch LM35, ADC0808, khoảng đo [-55 ÷ 125 ]°C ”. •Với yêu cầu của đề tài thì hệ thống gồm có. -Vi điều khiển AT89C51: Thiết bị chính dùng để điều khiển ADC0808 đọc chuyển đổi dữ liệu, sau đó xử lý tính toán và xuất dữ liệu ra LED 7 thanh. -ADC0808: Dùng để chuyển đổi tín hiệu điện áp thành tín hiệu số đưa vào vi điều khiển. -Vi mạch LM35: Đo giá trị nhiệt độ và chuyển thành các mức điện áp khác nhau tương ứng với sự tăng của nhiệt độ. -Mạch truyền thông chuẩn RS_232: Dùng IC Max232 để chuyển đổi mức logic giữa vi điều khiển và máy tính. -4 LED bảy thanh: Hiển thị giá trị nhiệt độ đo được từ cảm biến LM35 -2 loa cảnh báo: Cảnh báo khi có sự thay đổi của nhiệt độ khác với giá trị đặt. -2 nút ấn START, STOP: Bắt đầu và dừng quá trình đo nhiệt độ. •Phân tích giới hạn của đề tài. -Với nội dung chính của đề tài là để đo nhiệt độ nằm trong khoảng từ [-55°C ÷ 125 °C], không phải là ứng dụng lớn nên ta dùng vi điều khiển AT89C51 không cần ghép nối thêm bộ nhớ ngoài -Cảm biến nhiệt độ LM35 với dải nhiệt độ đo được từ -55 ÷ 150 °C, độ chính xác cao, sai số chỉ nằm trong khoảng 0.5°C ADC0808 với độ phân giải 8bit cho độ chính xác cao khi thực hiện quá trình chuyển đổi dữ liệu

PHÂN TÍCH YÊU CẦU CÔNG NGHỆ

Phân tích và giới hạn về đặc điểm của các thiết bị

1.1.1 Tìm hiểu chung về hệ thống.

Nội dung đề tài: “ Ứng dụng họ vi điều khiển 8051 ghép nối 4 LED 7 thanh để hiển thị số đo nhiệt độ dùng vi mạch LM35, ADC0808, khoảng đo [-55 ÷ 125 ]°C ”.

 Với yêu cầu của đề tài thì hệ thống gồm có.

- Vi điều khiển AT89C51: Thiết bị chính dùng để điều khiển ADC0808 đọc chuyển đổi dữ liệu, sau đó xử lý tính toán và xuất dữ liệu ra LED 7 thanh.

- ADC0808: Dùng để chuyển đổi tín hiệu điện áp thành tín hiệu số đưa vào vi điều khiển.

- Vi mạch LM35: Đo giá trị nhiệt độ và chuyển thành các mức điện áp khác nhau tương ứng với sự tăng của nhiệt độ.

- Mạch truyền thông chuẩn RS_232: Dùng IC Max232 để chuyển đổi mức logic giữa vi điều khiển và máy tính

- 4 LED bảy thanh: Hiển thị giá trị nhiệt độ đo được từ cảm biến LM35

- 2 loa cảnh báo: Cảnh báo khi có sự thay đổi của nhiệt độ khác với giá trị đặt.

- 2 nút ấn START, STOP: Bắt đầu và dừng quá trình đo nhiệt độ.

 Phân tích giới hạn của đề tài.

- Với nội dung chính của đề tài là để đo nhiệt độ nằm trong khoảng từ [- 55°C ÷ 125 °C], không phải là ứng dụng lớn nên ta dùng vi điều khiển AT89C51 không cần ghép nối thêm bộ nhớ ngoài

- Cảm biến nhiệt độ LM35 với dải nhiệt độ đo được từ -55 ÷ 150 °C, độ chính xác cao, sai số chỉ nằm trong khoảng 0.5°C

- ADC0808 với độ phân giải 8bit cho độ chính xác cao khi thực hiện quá trình chuyển đổi dữ liệu.

1.1.2 Các đặc điểm chính của các thiết bị. a.Đặc điểm chính của vi điều khiển AT89C51.

Hình1.1: Sơ đồ khối của AT89C51

Hình 1.2: Sơ đồ chân của AT89C51

Chức năng các chân của AT89C51.

- AT89C51 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ a.Các Port: Port 0 :

Port 0 là cổng có hai chức năng tại các chân 32–39 của vi xử lý 8951 Trong các thiết kế nhỏ không dùng bộ nhớ mở rộng, Port 0 hoạt động như các đường IO Trong các thiết kế lớn có bộ nhớ mở rộng, Port 0 được kết hợp giữa bus địa chỉ và bus dữ liệu để phục vụ truy cập bộ nhớ ngoài.

- Port 1:là port IO trên các chân 1-8 Các chân được ký hiệu P1.0, P1.1, P1.2,

… có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần Port 1 không có chức năng khác, vì vậy chúng chỉ được dùng cho giao tiếp với các thiết bị bên ngoài

- Port 2 : - Port 2 là 1 port có tác dụng kép trên các chân 21 - 28 được 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

-Port 3: - Port 3 là port có tác dụng kép trên các chân 10 - 17 Các chân của port này có nhiều chức năng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8951 như ở bảng sau:

Bit Tên Chức năng chuyển đổi P3.0 RXT Ngõ vào dữ liệu nối tiếp P3.1 TXD Ngõ vào dữ liệu nối tiếp P3.2 INT0\ Ngõ vào ngắt cứng thứ 0 P3.3 INT1\ Ngõ vào ngắt cứng thứ 1 P3.4 T0 Ngõ vào của Timer/Counter thứ 0 P3.5 T1 Ngõ vào của 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.1: Chức năng của Port3

 Các ngõ tín hiệu điều khiển :

Ngõ tín hiệu PSEN (Program store enable):

PSEN là tín hiệu ngõ ra trên chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng Nó còn được xem như chân 0E (Output Enable) của EPROM, cho phép đọc các byte mã lệnh từ bộ nhớ ngoài Việc kích hoạt PSEN đúng cách đảm bảo quá trình truy xuất dữ liệu của chương trình từ bộ nhớ mở rộng được thực hiện ổn định và chính xác.

- PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương trình trong ROM nội PSEN sẽ ở mức logic 1

Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :

- Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus 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 ra ở 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 Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho Eprom trong 8951

Ngõ tín hiệu EA\(External Access):

Trong 8951, tín hiệu EA\ ở chân 31 thường được mắc ở mức 1 hoặc 0 để quyết định nguồn mã được thực thi Khi EA\ ở mức 1, 8951 sẽ thực thi chương trình từ ROM nội trong phạm vi địa chỉ thấp 8 Kbyte; khi EA\ ở mức 0, nó sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ còn được dùng làm chân cấp nguồn 21V khi lập trình cho EPROM trong 8951 Ngõ tín hiệu RST (Reset) được dùng để reset bộ vi xử lý và hệ thống.

Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệu này đưa lên cao ít nhất là 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 tự động Reset

Các ngõ vào bộ dao động X1, X2:

Bộ dao động được tích hợp sẵn bên trong vi điều khiển 8951 cho phép thiết kế nhanh chóng và đơn giản: khi sử dụng 8951, người thiết kế chỉ cần kết nối thêm thạch anh và các tụ theo sơ đồ minh họa Tần số thạch anh được sử dụng phổ biến cho 8951 là 12 MHz, giúp tạo xung nhịp ổn định và tối ưu hóa hiệu suất cho các ứng dụng nhúng.

- Chân 40 (Vcc) được nối lên nguồn 5V b.Led 7 thanh.

Vi mạch LM35 và ADC0808

Cảm biến LM35 là bộ cảm biến nhiệt mạch tích hợp chính xác cao, mà điện áp đầu ra của nó tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius.

 Đặc điểm chính của LM35.

- Điện áp đầu vào từ 4-30V

- Độ phân giải điện áp đầu ra là 10mV/1°C

- Độ chính xác cao ở 25°C là 0.5°C

- Trở kháng đầu ra thấp 0.1 cho 1mA tải

Dải nhiệt độ đo được của LM35 là từ -55°C 150°C với các mức điện áp ra khác nhau Xét một số mức điện áp sau:

Tùy theo cách mắc của LM35 để ta đo được các giải nhiệt độ phù hợp

Bộ ADC0808 là IC tích hợp 8 bộ chuyển đổi tương tự số 8 bit Bộ chọn kênh được giải mã qua 3 chân điều khiển tương tích.

IN1 IN2 IN3 IN4 IN5 IN6 IN7

OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8 OE

Hình 1.5: Các chân của ADC0808

- IN0 tới IN7 : 8 ngõ đầu vào tương tự

- ADDA,ADDB,ADDC : là 3 chân giải mã chọn 1 trong 8 ngõ vào

- OUT1 OUT8 là gõ ra song song 8 bit, nhưng thứ tự các chân bị ngược, OUT8 là bit có trọng số thấp nhất,và OUT1 là bit có trọng số cao nhất.

- ALE : Cho phép chốt địa chỉ

- START : Tạo xung bắt đầu chuyển đổi

- CLOCK : Chân tạo xung dao dộng cho quá trình biến đổi A-D

- EOC : Báo quá trình cuyển đổi kết thúc.

- OE : Cho phép dữ liệu đầu ra

- VREP+/- : Chân tham chiếu điện áp

 Các đặc tính của ADC0808.

- Thời gian chuyển đổi nhanh : 100us

- Nhiệt độ hoạt động -10 tới 85 độ C

 Cấu trúc bên trong ADC0808.

Hình 1.6: cấu trúc bên trong của ADC 0808

 Giản đồ xung hoạt động của ADC0808

Trong ứng dụng ta có thể dùng 1 đường điều khiển cả 2 tín hiệu ALE và START Sau khi ra lệnh ADC thực hiện quá trình chuyển đổi thì vi điều khiển sẽ kiểm tra tín hiệu EOC, nếu chúng xuống mức thấp là báo hiệu quá trình chuyển đổi đang xảy ra, và chờ cho đến khi tín hiệu này lên mức cao trở lại thì quá trình chuyển đổi kết thúc mới tiến hành nhận dữ liệu.

Ta có thể không thực hiện theo cách kiểm tra vừa trình bày bằng cách chờ ADC chuyển đổi xong sau 1 khoảng thời gian Tconv ít nhất là 116us theo sổ tay tra cứu (datasheet) thì bắt đầu nhận dữ liệu Khi đó ta không cần phải dùng 1 đường tín hiệu kiểm tra chân EOC và chân này bỏ trống.

 Lưu đồ điều khiển ADC0808 chuyển đổi 1 kênh theo 2 cách.

Lưu đồ (a) điều khiển chuyển đổi bằng cách chờ tín hiệu trả lời EOC, lưu đồ (b) thì dùng delay Thời gian chờ phải lớn hơn thời gian chuyển đổi cho trong datasheet.

Tạo xung cho ALE và START

Cho OE = 1 Nhận dữ liệu Cho OE = 0

Xuất addr kênh ra [A2:A0] Tạo xung cho ALE và START

Delay chờ chuyển đổi xong

Cho OE = 1 Nhận dữ liệu Cho OE = 0

THIẾT KẾ HỆ THỐNG

Tính toán lựa chọn thiết bị

Chọn vi điều khiển AT 89C51 do hãng Intel sản xuất Các sản phẩm AT89C51 thích hợp cho những ứng dụng điều khiển Việc xử lý trên byte và các toán số học ở cấu trúc dữ liệu nhỏ được thực hiện bằng nhiều chế độ truy xuất dữ liệu nhanh trên RAM nội Tập lệnh cung cấp một bảng tiện dụng của những tập lệnh số học 8 bit gồm cả lệnh nhân và chia Nó cung cấp những hỗ trợ mở rộng trên chip dùng cho những biến 1 bit như là kiểu dữ liệu riêng biệt cho phép quản lý và kiểm tra từng bit trực tiếp trong hệ thống điều khiển.

AT89C51 cung cấp những đặc tính chuẩn như : 4 Kbyte bộ nhớ chỉ đọc có thế xóa và lập trình nhanh (EPROM), 128 Byte RAM, 32 đường I/O, 2 TIME/COUNTER 16 Bit,

5 vecto ngắt có cấu trúc 2 mức ngắt, một Port nối tiếp bán song công, 1 mạch dao động tạo xung Clock và bộ dao động ON-CHIP.

Các đặc điểm của chip AT89C51 được tóm tắt như sau :

 4Kbyte bộ nhớ có thể lập trình nhanh, có khả năng tới 1000 chu kỳ ghi/xóa

 Tần số hoạt động từ: 0Hz đến 24MHz

 3 mức khóa bộ nhớ lập trình

 64KB vùng nhớ mã ngoài

 64KB vùng nhớ dữ liệu ngoại

 4às cho hoạt động nhõn hoặc chia

Chọn vi mạch LM35 của hãng National Semiconductor Đặc tính của LM35 :

 Chuẩn hóa theo thang đo nhiệt đọ Cesius

 Đầu ra tuyến tính 10mV/1độC

 Dải nhiệt độ đo được từ -55 tới 150 độ tùy theo kiểu đóng vỏ

 Dòng tiêu thụ rất nhỏ cỡ 60uA, nên nhiệt tự tỏa rất nhỏ hầu như không ảnh hưởng đến kết quả đo.

 Sai số nhỏ , chỉ khoảng 0.5độ C

Hình 2.3: LED 7 thanh Ở trên là hình dạng LED7 ngoài thực tế và trong mạch nguyên lý và cấu tạo.

Cấu tạo của LED chúng ta nhìn trên rất đơn giản chúng chỉ gồm các LED đơn được xếp lại với nhau thành hình như trên hình vẽ Các LED đơn này chỉ chung nhau Anot hoặc Katot và riêng nhau các chân con lại Anot hặc Katot Nhiệm vụ của chúng ta là cho sáng các LED đơn đó để cho nó thành số hay kí tự đơn giản.

Hiện nay LED 7 được sản xuất theo 2 kiểu là Anot chung và Katot chung và được điều khiển làm việc tương tự như bơm dòng hay tiêu thụ dòng của các LED đơn có trong LED7 (Thường hay thiết kế theo kiểu bơm dòng cho LED) Thông thường trong các mạch thiết kế thực tế người thiết kế thường hay sử dụng loại Anot chung Phương pháp ghép nối là cấp dòng, đảo trạng thái thông qua đệm và quét LED

 Ghép nối led 7 thanh Để ghép nối với LED7 có thể có nhiều cách, nhưng phải đảm bảo sao có thể điều khiển tắt mở riêng từng LED đơn trong đó để tạo ra các số và các ký tự mong muốn.Các IC điều khiển đều khó khả năng sinh dòng kém tức là dòng đầu ra của các chân ICs nhỏ hơn khả năng nuôi dòng Do vậy, nếu ghép nối trực tiếp các net với các chân cổng IC thì loại Anode chung là thích hợp hơn cả Cần phải chú ý dòng dồn về ICs quá mức chịu được thì cũng không được vì làm nóng và dei ICs điều khiển

 2 cách ghép nối thường dùng:

- Cách 1: Dùng trực tiếp các chân điều khiển (vi xử lý) Đối với cách này thì nhìn thì rất tốn chân của vi xử lý Và dòng của LED sẽ dồn tất cả về vi xử lý Nếu một hệ thống lớn thì cách này không ổn vì ảnh hưởng đến vi xử lý và nhiều dòng dồn về vi xử lý sẽ làm vi xử lý nóng và dẫn tới chết ( chúng ta tưởng tượng xem nếu mà hệ thống nhiều phần điều khiển từ các chân vi xử lý mà tất cả các tải điều khiển dồn trực tiếp dòng về vi xử lý thì lúc đó dòng trong 1 thời điểm khá lớn vượt quá ngưỡng cho phép của vi xử lý.

Dòng mà vi xử lý chịu đựng được cũng khá nhỏ đâu dưới 100mA ) Các này chỉ dùng được hệ thống điều khiển ít, mạch dùng vi xử lý khá đơn giản như hiện thị LED, đếm số từ 0 đến 9

Hinh 2.4: Ghép nối AT 89C51 với led 7 thanh

- Cách 2 : Dùng IC giải mã BCD sang LED 7 thanh

Hình 2.5: Dùng IC giải mã BCD sang LED 7 thanh

Sử dụng IC giải mã 7447 để giả mã từ mã BCD sang mã LED7 Đối với cách này thì trông rất ổn Vừa tiếp kiệm được chân vi xử lý và tránh được dòng dồn về vi xử lý (dòng ở đây được dồn về 7447) Đây là cách mà người thiết kế thường dùng trong các hệ thống cần đến hiện thị.

Thông thường các thiết kế, LED 7 thanh được dùng để hiện thị các giá trị các giá trị số từ 0 đến 9 và đôi khi cần phải hiện thị các kí tự đơn giản như A đến F trong hệ thống để báo trạng thái của hệ thống Các giá trị hiện thị bao gồm nhiều chữ số tức là chúng ta phải dùng đến nhiều LED7 ghép lại thì mới hiện thị được nhiều số Ví dụ như muốn hiện thị số 123 chả hạn thì chúng ta phải dùng đến 3 LED 7 thanh ghép lại.

Như vậy để ghép nhiều LED 7 thanh thay vì chúng ta phải dùng 8 chân riêng rẽ cho mỗi LED Ví dụ để hiện thị được 3 chữ số lên LED 7 (123 chẳng hạn) khi đó ta sẽ mất 3x8 = 24 chân dữ liệu điều khiển để hiện thị được 3 chữ số Như vậy sẽ rất tốn chân vi xử lý, do vậy người ta dùng chung các đường dữ liệu cho các LED 7 thanh và thiết kế thêm các tín hiệu điều khiển cấp nguồn riêng rẽ cho từng LED 7 một hay là cấp nguồn cho các chân Anot chung hay Katot chung Nhìn trên sơ đồ trên ta thấy được kiểu ghép nối giữa các LED Các đường dữ liệu vào của 3 LED được chung với nhau và các chân điều khiển nguồn cho các LED được riêng rẽ và được điều khiển bằng transitor ( khuếch đại dòng) Như vậy đối với mạch trên chúng ta tiếp kiệm được nhiều chân vi xử lý Đối với mạch trên và cách ghép nối như trên thì mất tối đa chỉ có

Hinh 2.6: Ghép nối với nhiều led 7 thanh

8 chân dữ liệu của LED 7 được chung nhau và chung được ghép nối qua 2 cách : Thứ nhất dùng vào trực tiếp các chân vi xử lý và thứ 2 là qua các IC đệm hay IC giải mã Nhưng trong thiết kế không mấy khi người ta cho trực tiếp các chân dữ liệu đó vào trực tiếp vi xử lý mà người ta phải cho qua các IC đệm hay giải mã đối với hệ thống lớn Chỉ những mạch đơn giản người ta mới cho vào trực tiếp vi xử lý.Thông thường người ta dùng thêm các IC đệm hay giải mã như ULN2803, 74LS47 Đối với phương pháp ghép LED như thế này thì làm sao điều khiển được hiện

Giao tiếp giữa VĐK 8051 với LM35 và ADC0808

Như vậy đối với phương pháp này chúng ta tiếp kiệm được một số lượng lớn chân vi xử lý và đồng thời tiếp kiệm được năng lượng tiêu thụ do phương pháp quét LED trong thời gian ngắn Khi đó tối đa trong 1 thời điểm có 1 LED sáng toàn bộ thôi. Cần phải tính toán giá trị dòng vào cho LED sao cho LED sáng đẹp bằng cách thêm bớt điện trở.

MAX232 là IC của hãng Maxim, chuyên dùng cho giao tiếp giữa RS232 và thiết bị ngoại vi Đây là IC hoạt động ổn định và được sử dụng phổ biến trong các mạch giao tiếp chuẩn RS232, với giá thành phù hợp khoảng 10K–12K MAX232 tích hợp hai kênh truyền cho chuẩn RS232, với các tín hiệu được thiết kế phù hợp cho RS232 Mỗi đầu ra và cổng nhận tín hiệu đều được bảo vệ chống phóng tĩnh điện (ESD) lên đến khoảng 15KV Ngoài ra MAX232 được thiết kế với nguồn cấp +5V và tiêu thụ công suất nhỏ.

2.2 Giao tiếp giữa VĐK 8051 với LM35 và ADC0808:

- Như đã biết ADC0808 là IC chuyên dụng dùng để chuyển đổi tín hiệu dạng điện áp hoặc dòng điện(còn gọi là tín hiệu analog) thành tín hiệu dạng số, có giá trị tùy thuộc vào độ phân giải của ADC và điện áp tham chiếu cấp vào 2 chân VREP(+) và VREP(-) Ở trong bài chúng em dùng ADC0808 có độ phân giải 8 bit, giá trị số tương ứng là 255 Giá trị nhiệt độ sau khi đo được từ cảm biến LM35 sẽ được chuyển đổi thành giá trị điện áp, sau đó được đưa vào đầu vào của ADC Lúc này giá trị điện áp ở đầu vào sẽ tương ứng với một giá trị số ở đầu ra.

- Có nhiều cách mắc vi mạch LM35 để đo được các dải nhiệt độ khác nhau, do đề bài yêu cầu đo dải nhiệt độ (-55°C ÷ 125°C) nên chúng em dùng cách mắc như sau: chân số 1 nối lên nguồn 5V, chân số 3 được mắc xuống mass, và chân số 2 đầu ra điện áp sẽ được mắc thêm vào nguồn điện áp âm là -5V qua 1 điện trở hạn dòng có giá trị là 50k

Sơ đồ cách mắc của LM35

- Sau đó điện áp đầu ra của LM35 sẽ được đưa vào bộ cộng không đảo để khuếch đại lên 0.55V như vậy:

 Sơ đồ kết nối giữa ADC0808 và LM35.

IN1 IN2 IN3 IN4 IN5 IN6 IN7

 Cụ thể là AT89C51 và ADC0808.

- Giá trị điện áp sau khi đã được ADC0808 chuyển đổi sang giá trị số và được đưa vào Port3 của VĐK để xử lý tính toán và xuất dữ liệu ra LED

 Sơ đồ kết nối giữa AT89C51 và ADC0808.

Trong hệ thống, vi điều khiển giao tiếp với ADC0808 bằng 14 đường điều khiển Trong đó, 8 đường dữ liệu từ P3.0 đến P3.7 được dùng để nhận dữ liệu số sau khi chuyển đổi; 3 đường địa chỉ ở P2.0, P2.1 và P2.2 dùng để chọn một trong 8 kênh bằng địa chỉ tương ứng; một đường ở P2.4 dùng để chốt địa chỉ và đồng thời phát tín hiệu bắt đầu quá trình chuyển đổi cho ADC0808; một đường ở P2.6 dùng để xuất tín hiệu điều khiển cho phép xuất dữ liệu; và đường còn lại dùng để nhận tín hiệu cho biết quá trình chuyển đổi đã kết thúc để tiến hành nhận dữ liệu.

Có hai cách để điều khiển ADC0808 bắt đầu quá trình chuyển đổi và nhận dữ liệu, tiêu biểu cho phần này là cách thứ nhất: sau khi cấp lệnh cho ADC, nó sẽ bắt đầu quá trình chuyển đổi và dữ liệu được đọc sau khi chu trình hoàn tất.

EA/VPP ALE/PROG PSEN

ADDB A xuống mức thấp là báo hiệu quá trình chuyển đổi đang xảy ra, và chờ cho đến khi tín hiệu này lên mức cao trở lại thì quá trình chuyển đổi kết thúc mới tiến hành nhận dữ liệu Và chân ALE và chân START được nối chung vào 1 đường điều khiển.

 Lưu đồ điều khiển ADC0808 chuyển đổi 1 kênh theo cách 1.

Xây mạch nguyên lý và thuyết minh

Tạo xung cho ALE và START

Hình 2.7 Sơ đồ mạch nguyên lý

 Phân tích mạch nguyên lý

- Port0 của vi điều khiển dùng để xuất DATA ra LED 7 thanh để hiển thị.

- Port2 được kết nối tới các chân điều khiển của ADC0808 và kết nối với 2 loa cảnh báo ngưỡng thấp và ngưỡng cao.

- Port3 dùng để nhận dữ liệu từ ADC0808, do thứ tự các chân của ADC0808 bị ngược, nghĩa là OUT8 là bit có trọng số thấp nhất, ngược lại OUT1 lại là bit có trọng số cao nhất, sẽ được mắc tương ứng vào các chân P3.0 P3.7.

- Port1 được kết nối với nút nhấn Start, Stop và các chận điều khiển quét LED.

 Phương pháp thực hiện đo nhiệt độ:

- Cảm biến LM35 sau khi đo được nhiệt độ bất kì, nó sẽ trả ra giá tri điện áp ở đầu ra tỉ lệ với sự tăng của nhiệt độ, 1°C/10mV: -55°C ÷ -0.55mV,

- Tín hiệu điện áp ở đầu ra của cảm biến LM35 sẽ được khuếch đại lên 0.55V, như vậy :

Ta dùng IC ADC0808 để chuyển đổi tín hiệu tương tự từ cảm biến nhiệt độ thành tín hiệu số và đưa vào vi điều khiển AT89C51 để xử lý, tính toán nhiệt độ rồi hiển thị kết quả lên đèn LED Quá trình chuyển đổi tín hiệu từ analog sang số và xử lý của AT89C51 cho phép đo nhiệt độ nhanh, ổn định và trực quan thông qua LED hiển thị, phù hợp cho các ứng dụng giám sát nhiệt độ tự động, giáo dục điện tử và các dự án nhúng.

7 đoạn Cụ thể điện áp Vout của LM35 sau khi được khuếch đại sẽ được mắc vào chân IN0 của ADC0808.

 Công thức tính toán nhiệt độ:

- Ta cấp điện áp tham chiếu 5V vào chân VREP(+),VREP(-) nối xuống mass.

- ADC0808 có độ phân giải 8 bit tương ứng với giá trị số là 255

- Gọi giá tri số trả ra từ ADC0808 là D

- Giá tri điện áp trả ra từ cảm biến LM35 là Vout

- Giá trị nhiệt độ là T. Điện áp đầu ra từ LM35 sẽ là: Đầu ra ADC

5V( Điện áp tham chiếu) FFH Vout D

- Quan hệ giữa nhiệt độ đo được và điện áp đầu ra của LM35 là quan hệ tuyến tính:

Nhiệt độ đo được sẽ là:

Khi ấn nút RUN hệ thống thực hiện đo nhiệt độ,

Khi nhiệt độ nhỏ hơn 4 0 C thì chuông báo kêu cảnh báo ngưỡng nhiệt độ thấp.

Khi nhiệt độ cao hơn 100 0 C thì chuông báo sẽ kêu cảnh bao nguỡng nhiệt độ cao. Dải nhiệt độ đo từ -55 0 C đến 125 0 C

Khi ấn nút STOP hệ thống dừng và lưu lại giá trị cuối cùng khi đo.

Xây dựng thuật toán

2.4.2 Chương trình con khởi tạo và đọc số liệu

Khởi tạo và đọc số liệu

Bật loa cảnh báo t o thấp

T>4 0 C Tắt loa cảnh báo t 0 thấp

Tắt loa cảnh báo t 0 cao

Bật loa cảnh báo t o cao

Tính toán nhiệt độ và giải mã HEXTOBCD

Hiển thị nhiệt độ âm

Khởi tạo và đọc số liệu Đ

2.4.3 Chương trình con tính toán nhiệt độ

2.4.4 Chương trình con hiển thị nhiệt độ dương

2.4.5 Chương trình con hiển thị nhiệt độ âm.

Tra ra mã 7 thanh R5 = R5 – 1 R6 = Num

A & 7FH (cho dấu chấm sáng) Đ

Hiển thị Dn n = n + 1 Quay trái quét Num = Num - 1

Chương trình điều khiển

;============================================================ ; Khai báo các biến phục vụ tính toán

;============================================================Tra ra mã 7 thanh R5 = R5 – 1 R6 = Num

A & 7FH (cho dấu chấm sáng) Đ

Hiển thị Dn n = n + 1 Quay trái quét Num = Num - 1

;============================================================ ; Khai báo các biến số hiển thị

;============================================================ dvi equ 61h dau_C equ 62h dau_DO equ 63h chuc equ 64h tram equ 65h nghin equ 66h chuc_nghin equ 67h num equ 68h quet equ 69h dem equ 6ah led equ p0

;============================================================ ; Khai báo kết nối với ADC0808

;============================================================ ; Khai báo kết nối với nút nhấn

;============================================================ ; Khai báo kết nối với LOA

;============================================================ org 0000h start: jmp main org 002bh jmp NgatT2 main: mov p3,#0ffh clr ea mov sp,#2fh mov t2con,#00h mov th2,#0ech ; Trễ 5ms mov tl2,#78h mov rcap2h,th2 mov rcap2l,tl2 mov quet,#0fbh mov num,#6 mov r0,#dau_C mov dem,#0 mov r5,#4 clr LOA_CAO clr LOA_THAP setb RUN setb STOP jb RUN,$ jnb RUN,$ ; Chờ buông nút nhấn mov dem,#0 setb tr2 ; Cho timer2 bắt đầy đếm setb et2 ; Cho phép timer2 ngắt setb ea ; Cho phép ngắt toàn cục jmp $ ; Đợi ngắt

;============================================================ ; Chương trình con phục vụ ngắt Timer2

;============================================================ NgatT2: jb RUN,M1 jnb RUN,$ ; Chờ buông nút nhấn mov dem,#0

M1: clr tf2 ; Xóa cờ tràn Timer2 lcall KhoiTaoVaDocSoLieu ; 5ms đọc số liệu 1 lần

; Thiết lập LOA cảnh báo nhiệt độ thấp kêu - mov a,XL mov b,#30 subb a,b ; Kiểm tra xem có phải dưới 4°C jc N10 ; Nhảy đến nhãn N10 cho LOA kêu clr LOA_THAP ; Tắt LOA cảnh báo nhiệt độ thấp > 4°C jmp N11

N10: setb LOA_THAP ; Bật LOA cảnh báo nhiệt độ thấp

Ngày đăng: 01/02/2022, 19:29

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w