27-10-2014, 10:23 PM | #1 |
Nhập môn đệ tử
Tham gia ngày: Aug 2014
Bài gửi: 3
: |
Lỗi code mạch đo nhiệt độ dùng LM35
em mới học Pic,đang tập viết code cho mạch đo nhiệt độ dùng LM35 hiển thị trên LED 7SEG nhưng không chạy được,bác nào rảnh xem hộ e vs.
code e viết đây ạ..... //Cau Hinh PIC #include "16f877a.h"//KHAI BAO THU VIEN #fuses XT,NOWDT,NOPUT,BROWNOUT,NOLVP,NOWRT,NODEBUG,NOPROT ECT//KHAI BAO PIC #use delay(clock=4000000)//KHAI BAO TAN SO THACH ANH #device *=16 adc=8; unsigned char const ma_LED[10]= {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//khai bao ma led unsigned char chuc,donvi;//Cac bien chu so int nhietdo,hienthi; void convert_bcd(int8 x) { chuc=x%10; donvi=x/10; donvi=donvi%10; } void hienthi() { OUTPUT_D( ma_LED[chuc]); output_B(0b11111110); delay_ms(10); output_B(0b11111111); OUTPUT_D( ma_LED [donvi]); output_B(0b11111101); delay_ms(10); output_B(0b11111111); } //CHUONG TRINH CHINH void main() { { SET_TRIS_B(0X00); //Port B là output(ngo ra) SET_TRIS_D(0x00); //port D la output(ngo ra) setup_ADC(ADC_clock_internal);//T/G lay mau bang xung clock setup_ADC_ports(AN0);//Lay Vref=5V set_ADC_channel(0);//chon chan A0 la chan dua tin hieu Analog vao delay_us(10);//tao khoang t/g de lay mau nhietdo=read_adc();//doc tin hieu vao nhietdo=nhietdo/2.048; convert_bcd((int8)nhietdo);//chuyen doi ADC //Vong lap while(1) { nhietdo=read_adc(); nhietdo=nhietdo/2.048; hienthi(); } } } |
|
|