Tải bản đầy đủ - 0 (trang)
Là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt chip ADC804. Để truy cập ADC0804 thì chân này phải ở mức thấp.

Là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt chip ADC804. Để truy cập ADC0804 thì chân này phải ở mức thấp.

Tải bản đầy đủ - 0trang

Trường Đại Học Công Nghiệp Hà Nội



Lớp:



CLK IN là chân vào, được nối tới một nguồn đồng hồ ngoài khi đồng hồ ngoài

được sử dụng để tạo thời gian. Tuy nhiên 0804 cũng có một bộ tạo xung

đồng hồ trên chip. Để dùng đồng hồ trong (cũng còn được gọi là đồng hồ

riêng) của 804 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ở như chỉ ra ở hình 12.5. Trong trường hợp này tần số đồng

hồ được xác định bằng biểuthức:



f



1

1,1RC



Giá trị thông thường của các đại lượng trên là R = 10k, C= 150pF và tần

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

e)INTR (Interrupt)

Ngắt hay 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 ở trạng thái cao và khi việc chuyển đổi hồn

tất thì nó xuống 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 caoxuống-thấp tới chân RD để đưa dữ liệu ra.

f)Vin (+) và Vin (-)

Đây là hai đầu vào tương tự vi sai, trong đó V in = 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à sẽ được chuyển đổi về dạng số.

g)VCC

Là chân nguồn ni +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ở.

h)Vref/2

Chân 9 là đ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) thì điện áp đầu vào tương tự cho ADC804 nằm trong

dải 0 đến +5v (giống như chân V CC). 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. Chân Vref/2 được dùng để thực hiện

các điện áp đầu vào có dải khác với 0 - 5V. Ví dụ, nếu dải đầu vào tương tự cần

Đo và khống chế nhiệt độ



10



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



biến đổi từ 0 đến 4V thì Vref/2 được nối với +2V.

Bảng 12.5 biểu diễn dải điện áp Vin đối với các đầu vào Vref/2 khác nhau.

i)D0 - D7

D0 - D7 là các chân ra dữ liệu số (D7 là bit cao nhất MSB và D0 là bit thấp

nhất LSB). Các chân này được đệm ba trạng thái và dữ liệu đã được chuyển đổi

chỉ được truy cập khi chân CS = 0 và chân RD đưa xuống mức thấp. Để tính

điện áp đầu ra ta có thể sử dụng cơng thức sau:

Dout 



Vin

(kích thước bước tham khảo phần giải thích)

kichthuocbuoc



ở đây Dout là đầu ra dữ liệu số (dạng thập phân). V in là điện áp đầu vào tương tự

và kích thước bước (độ phân dải) là sự thay đổi nhỏ nhất được tính bằng

(2Vref/2) chia cho 256 đối với ADC 8 bit.

Từ những trình bày trên, có thể tóm tắt các bước khi ADC0804 thực hiện

chuyển đổi dữ liệu là:

1. Bật CS = 0 và gửi một xung thấp lên cao tới chân WR để 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

hồn tất và có thể chuyển sang bước tiếp theo. Nếu INTR còn ở mức cao thì

tiếp tục thăm dò cho đến khi nó xuống thấp.

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.

5.IC Cảm biến nhiệt LM35

LM35 là họ cảm biến nhiệt mạch tích hợp chính xác cao có điện áp đầu

ra tỷ lệ tuyến tính với nhiệt độ theo thang độ Celsius. Họ cảm biến này khơng

u cầu căn chỉnh ngồi vì vốn nó đã được căn chỉnh. Họ này cho ra điện áp

10mV ứng với thay đổi nhiệt độ là 10C.

Một số thơng số kỹ thuật chính của họ LM35.

Dòng làm việc 400A – 5mA.

Dòng thuận : 10mA

Đo và khống chế nhiệt độ



11



Trường Đại Học Cơng Nghiệp Hà Nội



Lớp:



Dòng ngược: 15mA

Điện áp VS=4V-30V

Điện áp ra 10mV/ 0C



Phối hợp tín hiệu và nối ghép LM35 với 8051



Phối hợp tín hiệu là một thuật ngữ được sử dụng rộng rãi trong lĩnh vực thu

Đo và khống chế nhiệt độ



12



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



nhận dữ liệu. Hầu hết các bộ cảm biến đều đưa ra tín hiệu dạng điện áp, dòng

điện, dung kháng hoặc trở kháng. Tuy nhiên, chúng ta cần

chuyển đổi các tín hiệu này về điện áp để đưa đến đầu vào của bộ chuyển đổi

ADC. Sự chuyển đổi (biến đổi) này được gọi chung là phối hợp tín hiệu. Phối

hợp tín hiệu có thể là chuyển dòng điện thành điện áp hoặc khuyếch đại tín

hiệu. Ví dụ, bộ cảm biến nhiệt thay đổi trở kháng theo nhiệt độ. Sự thay đổi trở

kháng cần được chuyển thành điện áp để các bộ ADC có thể sử dụng được. Xét

trường hợp nối LM35 tới ADC0804. Vì ADC0804 có độ phân dải 8 bit với tối

đa có 256 mức (28), và LM35 tạo ra điện áp 10mV ứng với sự thay đổi nhiệt độ

10C, nên ta có điều chỉnh điện áp vào tại chân IN bằng cách thay đổi Vref/2 tại

chân 9



Phần II: thiết kế và thi công

Sơ đồ nguyên lý .



Đo và khống chế nhiệt độ



13



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



Sơ đồ mạch in:



Đo và khống chế nhiệt độ



14



Trường Đại Học Cơng Nghiệp Hà Nội



Lớp:



Chương trình phần mềm

#include

#include

#include

sbit den_do=P2^3;

sbit den_vang=P2^1;

sbit den_xanh=P2^2;

sbit INTR_ADC=P3^6;

sbit RD_ADC=P3^4;

sbit WR_ADC=P3^5;

sbit led1 = P2^4;

sbit led2 = P2^5;

sbit led3 = P2^6;

sbit led4 = P2^7;

unsigned int temp,i;

unsigned int set_t=25;

unsigned char

M[10]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80,0X90};

unsigned char donvi,chuc ;

void tre(unsigned int t)

{

for(i=1;i<=t;++i);

}

void hienthi(void)

{

Đo và khống chế nhiệt độ



15



Trường Đại Học Công Nghiệp Hà Nội



chuc=(temp)/10;



Lớp:



// tach lay hang chuc



donvi=(temp)%10; // tach lay hang don vi

led1=1;

P0=M[chuc];

tre(800);

led1=0;

P0=0xFF;

led2=1;

P0=M[donvi];

tre(800);

led2=0;

P0=0xFF;

}

void ht_dat()

{

chuc=(set_t)/10; // nt

donvi=(set_t)%10; //nt

led3=1;

P0=M[chuc];

tre(800);

led3=0;

P0=0xFF;

led4=1;

P0=M[donvi];

tre(800);

led4=0;

P0=0xFF;

Đo và khống chế nhiệt độ



16



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



}

void so_sanh_temp() // ham so sanh nhiet do

{

if(temp==set_t)

{

den_vang=0;

den_do=den_xanh=1;

}

else

if(temp>set_t)

{

den_xanh=0;

den_do=den_vang=1;

}

else

if (temp
{

den_do=0;

den_vang=den_xanh=1;

}

}

void main ()

{

IE=0x85; // cho phep ngat ngoai 0 va ngat ngoai 1

IP=0;



// uu tien ngat bang nhau



IT1=IT0=1; // ngat theo suon am

//++++++++++++++++//

den_do=den_vang=den_xanh=1;// tat toan bo den

Đo và khống chế nhiệt độ



17



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



while(1)

{



WR_ADC=0;//bat dau chuyen doi

tre(50);

WR_ADC=1; //dung chuyen doi

while(!INTR_ADC);//CHO BIEN DOI XONG

RD_ADC=0; // doc du lieu chuyen doi

temp=P1; // gan gia tri chuyen doi vao bien temp

hienthi();

ht_dat();

so_sanh_temp();

}

}

void ngat_int0() interrupt 0 // ham ngat ngoai 0

{

tre(50); // chong rung phim

set_t++;

}

void ngat_int1() interrupt 2 // ham ngat ngoai 1

{

tre(50); // chong rung phim

set_t--;

}



Giải thích chương trình:



Đo và khống chế nhiệt độ



18



Trường Đại Học Công Nghiệp Hà Nội



Lớp:



Cảm biến LM35 biến đổi nhiệt độ môi trường thành giá trị điện áp xuất

ra tại chân 2 đưa vào ADC. Thao tác chuyển đổi nhiệt độ đo được thành điện áp

cấp vào chân IN của ADC, từ điện áp cấp vào ADC lại được chuyển qua các

chân BD để truyền sang cổng P1 của Vi diều khiển dưới dạng các bít 0 và 1

Điều khiển các chân WR, RD, INT0 của vi mạch biến đổi tương tự – số

ADC0804 để ADC biến đổi điện áp được lấy từ chân 2 của IC cảm biến nhiệt độ

LM35:

- WR=0: cho phép ADC biến đổi.

- WR=1:không cho phép ADC biến đổi.

- Chân RD và INT0 luôn = 0: luôn cho phép ADC xuất ra giá trị ra cổng và

VDK luôn nhận được.

- Điện áp tham chiếu tại chân 9 của ADC được hiệu chỉnh thành 1.28V như vậy

ta có kích thước bước là 10mV.Như vậy giá trị nhỏ nhất mà ADC có thể nhận

biết được là 10mV tương ứng với 1 độ C.

-Giá trị nhiệt độ khống chế được thay đổi bằng 2 phím và được đưa vào ngắt

ngồi INT0 và INT1 của VDK.

Đợi sau khi đã biến đổi xong thực hiện đọc dữ liệu từ ADC vào Port 1 của vi

điều khiển, gán giá trị đọc được cho biến temp. Qua chương trình chuyển đổi lại

chuyển đổi ngược lại từ dạng bít nhận được sang dạng điện áp và rồi chuyển từ

điện áp sang nhiệt độ rồi được hiển thị trên 2Led 7 thanh.(Q1 và Q2)

Ta có thể điều chỉnh nhiệt độ khống chế tăng lên hoặc giảm xuống bằng phím

nhấn. Thao tác khống chế ở đây được thực hiện mô phỏng qua 3 led là đỏ, vàng,

xanh. Để tiện cho việc thay đổi giá trị khống chế nhiệt độ,chúng em để 2LED 7

thanh (Q3 và Q4) để hiển thị giá trị nhiệt độ khống chế.



Đo và khống chế nhiệt độ



19



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Là chân chọn chip, đầu vào tích cực mức thấp được sử dụng để kích hoạt chip ADC804. Để truy cập ADC0804 thì chân này phải ở mức thấp.

Tải bản đầy đủ ngay(0 tr)

×