tthong
21-11-2009, 08:26 AM
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!
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!