tumi_kt
28-10-2010, 04:24 PM
Hi các bro!mình có làm bài thực hành đo nhiệt độ với LM35 dùng 4511 BCD .Mình đã cho chạy mô phỏng bằng proteus thì thấy nhiệt độ hiển thị đúng ở dải dưới 100 độ C,từ 100 độ C trở lên thì thấy hiển thị không còn đúng nửa.Các bro xem qua và cho ý kiến nha.
đây là đoạn code của mình :
// CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI
void tachso()
{
donvi=adc%10; // CHU SO HANG DON VI
chuc=adc/10; // CHU SO HANG CHUC
tram=adc/100; //chu so hang tram
}
// chuong trinh chuyen doi do C
void convert()
{
adc=read_adc();
adc=adc/2.048;
}
// CHUONG TRINH CON HIEN THI RA 2 LED 7 DOAN
void display()
{
portb=a[donvi];
output_high(pin_d0); //chot data
portb=a[chuc];
output_high(pin_d1); //chot data
portb=a[tram];
output_high(pin_d2); //chot data
delay_ms(500);
output_low(pin_d0); //lay data
output_low(pin_d1); //lay data
output_low(pin_d2); //lay data
delay_us(1);
}
mình đính kèm file demo lun nà.
đây là đoạn code của mình :
// CHUONG TRINH CON TACH SO HANG CHUC VA HANG DON VI
void tachso()
{
donvi=adc%10; // CHU SO HANG DON VI
chuc=adc/10; // CHU SO HANG CHUC
tram=adc/100; //chu so hang tram
}
// chuong trinh chuyen doi do C
void convert()
{
adc=read_adc();
adc=adc/2.048;
}
// CHUONG TRINH CON HIEN THI RA 2 LED 7 DOAN
void display()
{
portb=a[donvi];
output_high(pin_d0); //chot data
portb=a[chuc];
output_high(pin_d1); //chot data
portb=a[tram];
output_high(pin_d2); //chot data
delay_ms(500);
output_low(pin_d0); //lay data
output_low(pin_d1); //lay data
output_low(pin_d2); //lay data
delay_us(1);
}
mình đính kèm file demo lun nà.