7
Đo nhiệt độ dùng LM35 kết hợp IC ADC0808 với 8051 1, Giới thiệu chung IC ADC0808 là một vi mạch tích hợp có chức năng chuyển đổi tín hiệu tương tự sang kỹ thuật số (Analog to Digital Converters), độ phân giải của bộ ADC là 8bit tức nó sẽ chuyển đổi tín hiệu điện tương tự sang 256 mức điện áp so với Vref cấp vào bộ chuyển đổi. Các bạn có thể xem datasheet của nó trong tệp đính kèm. a) Sơ đồ chân: Ý nghĩa các chân:

Đo Nhiệt Độ Dùng LM35 Kết Hợp IC ADC0808 Với 8051

Embed Size (px)

DESCRIPTION

Đo nhiệt độ dùng LM35 kết hợp IC ADC0808 với 8051

Citation preview

o nhit dng LM35 kt hp IC ADC0808 vi 80511, Gii thiu chung IC ADC0808l mt vi mch tch hp c chc nng chuyn i tn hiu tng t sang k thut s (Analog to Digital Converters), phn gii ca b ADC l 8bit tc n s chuyn i tn hiu in tng t sang 256 mc in p so vi Vref cp vo b chuyn i. Cc bn c th xem datasheet ca n trong tp nh km.a) S chn:

ngha cc chn: Cc chn t IN0-IN7 l ng vo analog. Vref+/Vref- l chn cp p so snh. ALE l chn cho php giao tip T 2-1 n 2-8 l cc ng ra song song 8bit START l chn cho php chuyn i EOC l chn bo qu trnh chuyn i hon tt, kiu dng c ngt ADD A, ADD B, ADD C l 3bit a ch chn knh u vo t IN0-IN7 VCC, GND l chn cp ngun dng 5V v ngun m (Mass) CLOCK l chn cp xung ng h cho IC hot ng, tc ly mu v chuyn i ph thuc vo ci ny, ti a 640khz OUTPUT ENABLE (OE) l chn bo cho IC xut data ra Port vi iu khin ly i.b) Gin xung giao tip IC ADC0808 (ADC0809)

c) Cm bin nhit LM35l cm bin nhit , u ra l tn hiu in p bin i theo nhit , c 10mV tng ng vi 1 C v gii o ca IC ny l -55 n 150 C, in p cung cp t 4-20VDC. o c nhit m tc nh hn 0 ta phi cp thm ngun m -Vs cho IC ny nh sau:

2, Lp trnh giao tip ADC0808Tnh nng: T ng cp nht gi tr ADC (gi tr nhit ca LM35) t IC ADC0808 ri hin th ln LCD 16x2, to xung ng h cho IC ADC0808 s dng ngt timer.Xy dng: Xy dng cc hm giao tip LCD v giao tip ADC0808 c th nh sau* LCD16x2: LCD_Init() Hm khi to LCD LCD_Clear() Hm xa mn hnh LCD_Gotoxy(X,Y) Hm tr ti v tr trn mn hnh. Trong X l v tr 0-15, Y l dng 0-1 LCD_PutChar(k_t_ascii) Hm gi mt k t ASCII ln LCD LCD_Puts(Ni dung) Hm gi mt chui k t ln LCD* ADC0808: ADC0808_Read(channel) Hm c ADC theo knh t 0-7 V mt s hm khc nh delay, tnh nhit , chuyn i hin th....CODE://Khai bo chn giao tip ADC0808#define ADC0808_DATA P3 //PORT#define ADC0808_A P2_0 //PIN#define ADC0808_B P2_1#define ADC0808_C P2_2#define ADC0808_ALE P2_3#define ADC0808_START P2_4#define ADC0808_EOC P2_5#define ADC0808_OE P2_6#define ADC0808_CLK P2_7/**********Hm c ADC0808 theo knh******/unsigned char ADC0808_Read(unsigned char channel){ unsigned char kq; ADC0808_A = channel & 0x01; //Chn knh ADC0808_B = channel & 0x02; ADC0808_C = channel & 0x04; ADC0808_ALE = 1; //Giao tip ADC0808_START = 1; //Bt u chuyn i ADC0808_ALE = 0; ADC0808_START = 0; while(ADC0808_EOC); //Ch chuyn i xong while(!ADC0808_EOC); ADC0808_OE = 1; //c d liu kq = ADC0808_DATA; ADC0808_OE = 0; return kq; //Tr v hm d liu ADC}Xem code y trong file nh km cui bi vit....!3, M phng trn Proteus:

Ti sao phi to p Vref 2.56V xin c gii thch nh sau: Cng thc tnh in p chuyn i:Vin = (Vref*ADC)256 Do phn gii ca ADC0808 l 8bit ln s c 256 mc in p so vi Vref. Tc nu ta cp vo Vref l 5V v tn hiu input vo l 2.5V chng hn th gi tr ADC = 2562 = 128 (do Vin = 12 Vref) t suy ra Vref = 2.56V th ADC=25 th in p u vo input phi l 250mV => C tng/gim 10mV l ADC tng/gim 1 gi tr. M cm bin nhit LM35 li c ng ra c 10mV l thay i 1 C nh vy suy ra ADC=25 th LM35 ang 25 C. Vi cch ny ta khng cn phi tnh ton gi tr nhit sau khi chuyn i m c th xut lun gi tr ADC ra mn hnh LCD.Lm vi LM35 th vic u tin l bn phi chn c Vref ph hp v LM35 tng 10mV tng ng vi 1 nn ln n 1o0 mi c 1V nn nu khng chy Vref ph hp th d vi nhiu nh th sai s cng ln. Thng th dng Vref=2.56V. Hihi. Mnh cha bit bn ngocanh khng thnh cng im no nn cng cha bit gii thch g hn.Mnh ch mi lm LM35 vi ATmega8, s dng in p tham chiuVref = 5Vly t bn ngoi. Mun LM35 lm vic n nh th cn thit phi mc thm h thng t in + cun cm vo 2 chnAVCC, AREF in p chy b chuyn i ADC bn trong v tham chiu l n nh nht. V ngun cung cp cho ton b mch cng phi cc k n nh na.