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

Một phần của tài liệu Kỹ thuật vi xử lý - Chương 4 docx (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.

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

dụng để kớch hoạt chip ADC0804.

- 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

- 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 ứng dụng mà đầu vào tương tự ỏp đến Vin khỏc với dải 0 đến 5V. Bảng 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)

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à dữ liệu đó được chuyển đổi chỉ được truy cập khi chõn CS = 0và chõn 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 Kỹ thuật vi xử lý - Chương 4 docx (Trang 30 - 33)