GHẫP NỐI ADC VỚI 8051 VÀ LẬP TRèNH

Một phần của tài liệu Hệ vi điều khiển - Chương 4 pdf (Trang 30 - 33)

Cỏc bộ chuyển đổi ADC được sử dụng rất rộng rói. Lý do là mỏy tớnh làm việc trờn cỏc giỏ trị nhị phõn, tuy nhiờn trong thực tế, cỏc đại lượng vật lý đều ở

dạng tương tự (liờn tục) vớ dụ: nhiệt độ, ỏp suất, lưu lượng, … là cỏc đại lượng vật lý được chuyển về dũng điện hoặc điện ỏp (tương tự) qua một thiết bị gọi là bộ

biến đổi. Do vậy cần một bộ chuyển đổi tương tự sốđể bộ vi điều khiển cú thểđọc

được chỳng. Chip ADC được sử dụng rộng rói hiện nay đú là ADC0804.

4.3.2.1. Gii thiu v ADC0804

ADC0804 là bộ chuyển đổi tương tự – số thuộc họ ADC0800 của hóng National Semiconductor. Chip cú điện ỏp nuụi +5V và độ phõn giải 8 bit. Ngoài

độ phõn giải thỡ thời gian chuyển đổi cũng là một thụng số quang trọng đỏnh giỏ bộ ADC. Đú là thời gian cần thiết để bộ ADC chuyển đầu vào tương tự thành số nhị phõn. Đối với ADC0804 thời gian chuyển đổi phụ thuộc vào tần sốđồng hồ cấp tới chõn CLK và CLK IN và khụng bộ hơn 110às. Hỡnh 5.6.2a mụ tả

ADC ở chếđộ chạy tự do.

Cỏc chõn của ADC801 cú chức năng như sau:

- CS (Chip Select) - Chọn chip: Đầu vào tớch cực mức thấp được sử dụng

- RD (Read) – Đọc: Tớn hiệu vào tớch cực mức thấp. Khi CS = 0 và nếu cú một xung từ cao xuống thấp ỏp đến chõn RD thỡ dữ liệu ra dạng số 8 bit

được đưa tới cỏc chõn dữ liệu D0 – D7. Chõn RD cũn được gọi là chõn cho phộp đầu ra.

- WR (Write) – Ghi: Chõn này dựng để bỏo cho ADC0804 bắt đầu quỏ trỡnh chuyển đổi. Nếu CS = 0 khi WR tạo ra xung thấp lờn cao thỡ bộ

ADC0804 bắt đầu tiến hành chuyển đổi giỏ trị đầu vào tương tự Vin về

số nhị phõn 8 bit. Lượng thời gian cần thiết để chuyển đổi thay đổi phụ

thuộc vào tần số đưa đến chõn CLK IN và CLK R. Khi việc chuyển đổi dữ liệu được hoàn tất thỡ chõn INTR được ADC0804 hạ xuống thấp. - CLK IN và CLK R: CLK IN là chõn vào nối tới đồng hồ ngoài khi đồng

hồ ngoài được sử dụng để tạo thời gian. Tuy nhiờn ADC0804 cũng cú một bộ tạo xung đồng hồ trờn chip. Để dựng đồng hồ trong thỡ cỏc chõn CLK IN và CLK R được nối tới một tụ điện và một điện trở (hỡnh 5.6.2a). Tần sốđồng hồđược xỏc định như sau:

RCf f 1 , 1 1 =

Giỏ trị thụng thường của đại lượng trờn là R = 10K, C = 150pF và tần số

nhận được là f = 606 KHz, thời gian chuyển đổi sẽ là 110às.

- INTR (Interrupt) – Ngắt: Cũn gọi là kết thỳc việc chuyển đổi. Đõy là chõn ra tớch cực mức thấp. Bỡnh thường chõn này ở mức cao khi chuyển

đổi hoàn tất thỡ nú chuyển xuống mức thấp để bỏo cho CPU biết là dữ

liệu được chuyển đổi đó sẵn sàng để lấy đi. Sau khi INTR xuống thấp cần đặt CS = 0 và gửi một xung cao xuống thấp tới chõn RD để đưa dữ

liệu ra.

- Vin (+) và Vin (-): Đõy là hai đầu vào tương tự vi sai, trong đú

- Vin = Vin (+) – Vin (-). Thụng thường Vin (-) được nối xuống đất và Vin (+) được dựng làm đầu vào tương tự và tớn hiệu này sẽđược chuyển về dạng số.

- VCC: Là chõn nguồn nuụi +5V. Chõn này cũn được dựng làm điện ỏp tham chiếu khi đầu vào Vref/2+ (chõn 9) để hở.

- Vref/2: Là chõn điện ỏp đầu vào được dựng làm điện ỏp tham chiếu. Nếu chõn này hở (khụng được nối đất) thỡ điện ỏp đầu vào tương tự cho ADC0804 nằm trong dải 0 đến 5 V (giống như Vcc). Tuy nhiờn cú nhiều

5.6.2b biểu diễn quan hệ dải điện ỏp Vin đối với cỏc đầu vào Vref/2 khỏc nhau: VIN+ 6 VIN- 7 VREF/2 9 CLK IN 4 A GND 8 RD 2 WR 3 INTR 5 CS 1 D GND 10 DB7(MSB) 11 DB6 12 DB5 13 DB4 14 DB3 15 DB2 16 DB1 17 DB0(LSB) 18 CLK R 19 VCC 20 U1 ADC0804 TUONG TU - SO Sơđồ chõn ca ADC8084

Hỡnh 5.6.2a. Kim tra ADC chếđộ chy t do

Vref/ 2 (V) Vin(V) Kớch thước bước (mV) (adsbygoogle = window.adsbygoogle || []).push({});

Hở 0 đến 5 5/256 = 19.53 2.0 0 đến 4 4/256 = 15.62 1.5 0 đến 3 3/256 = 11.71 1.28 0 đến 2.56 2.56/256 = 10 1.0 0 đến 2 2/256 = 7.81 0.5 0 đến 1 1/256 = 3.90

Bng 5.6.2b. Quan hệđin ỏp Vref/2 vi Vin

Kớch thước bước là sự thay đổi nhỏ nhất mà ADC cú thể phõn biệt được. - D0 – D7: Là cỏc chõn dữ liệu số. Cỏc chõn này được đệm 3 trạng thỏi và

RD đưa xuống mức thấp. Để tớnh điện ỏp đầu ra cú thể sử dụng cụng thức sau: buoc thuoc kich V D in out = - Dout: Là đầu ra dữ liệu số - Vin: Điện ỏp đầu vào tương tự

Như vậy ta cú thể túm tắt cỏc bước khi ADC chuyển đổi dữ liệu là: 1. Bật WR = 1 để gửi một xung thấp lờn cao để bắt đầu chuyển đổi.

2. Duy trỡ kiểm tra chõn INTR. Nếu INTR xuống thấp thỡ việc chuyển đổi

được hoàn tất và cú thể chuyển sang bước tiếp theo.

3. Sau khi chõn INTR xuống thấp , bật CS = 0 và gửi một xung cao xuống thấp đến chõn RD để nhận dữ liệu từ chip ADC0804. Phõn chia thời gian cho quỏ trỡnh này được trỡnh bày như sau (hỡnh 5.6.2c).

Hỡnh 5.6.2c. Phõn chia thi gian đọc và ghi ca ADC0804

4.3.2.2. Ni ghộp ADC0804 vi 8051 và lp trỡnh

Sơ đồ ghộp nối ADC0804 với 8051 như hỡnh vẽ (hỡnh 5.6.2d) sử dụng nguồn đồng hồ sẵn cú trong 8051.

Từ sơđồ ghộp nối hóy: Viết chương trỡnh kiểm tra chõn INTR và chuyển tớn hiệu đầu vào tương tự vào thanh ghi A.

CS D0 – D7 Ra dữ liệu

Một phần của tài liệu Hệ vi điều khiển - Chương 4 pdf (Trang 30 - 33)