![]() |
|
Tài trợ cho PIC Vietnam |
Cơ bản về vi điều khiển và PIC Những bài hướng dẫn cơ bản nhất để làm quen với vi điều khiển PIC |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Nhập môn đệ tử
Tham gia ngày: Apr 2009
Bài gửi: 1
: |
Đo nhiệt độ với LM335
Chào mọi người!
Em mới tập viết về Pic nên có vấn đề sau muốn hỏi mọi người. Giờ em đang thử mô phỏng protues để đo nhiệt độ dùng LM335. sơ đồ và code như sau: #include <16F877a.h> #include <def_877a.h> #device *=16 adc=8 #FUSES NOWDT, HS, NOPUT, NOPROTECT, NODEBUG, NOBROWNOUT, NOLVP, NOCPD, NOWRT #use delay(clock=20000000) #include <lcd.c> //#include <lcd_NTT.H> #include <luutinh.h> void main() { float value; set_tris_a(0xFF); set_tris_d(0x00); setup_adc(ADC_CLOCK_INTERNAL); setup_adc_ports(AN0); set_adc_channel(0); delay_us(100); value=(float)read_adc(); value=(value-558.5)/2.048; lcd_init(); while(1) { value=(float)read_adc(); value=(value-558.5); lcd_gotoxy(1,1); printf(lcd_putc,"TEMPERATURE WARN\n"); lcd_gotoxy(1,2); printf(lcd_putc,"TEMP. NOW : %u",value); } } Em Dùng biến trở nối với chân adj của lm335. Khi Lm335 tại 0 độ C thì ngõ ra điện áp của Lm335 là 2,73V. sau đó nếu nhiệt độ LM335 thay đổi thì điện áp ngõ ra ở chân LM335 thay đổi và nhiệt độ hiển thị trên LCD cũng thay đổi. Nhưng trong mô phỏng thì nó không diễn ra như vậy. Nhiệt độ hiển thị trên LCD luôn là 134. đôi lúc khi chỉnh lại thì nó chỉ dao đông từ 129 tới 135 đô. Mong mọi người giúp đỡ. link: http://www.mediafire.com/?wjgytmmgtyg Cảm ơn! thay đổi nội dung bởi: tthong, 21-11-2009 lúc 08:31 AM. |
![]() |
![]() |