سلام
یه lm35 رو زدم به پایه 40 مگا 32 ولی با برنامه زیر کار نمیکنه؟
یه lm35 رو زدم به پایه 40 مگا 32 ولی با برنامه زیر کار نمیکنه؟
کد:
#include <mega32a.h> #include <delay.h> #include <stdio.h> #include <lcd.h> #asm .equ __lcd_port=0x18 #endasm #define ADC_VREF_TYPE 0xC0 unsigned int read_adc(); char code[20]; void main(void) { int data; float temp; PORTA=0x00; DDRA=0x00; ADMUX=ADC_VREF_TYPE; ADCSRA.7=1; ADCSRA.5=0; ADCSRA.3=0; ADCSRA.2=1; ADCSRA.1=1; ADCSRA.0=1; lcd_init(16); while (1) { data=read_adc(); temp=data/4; lcd_clear(); lcd_gotoxy(0,0); sprintf(code,"Temp=%f C",temp); lcd_puts(code); delay_ms(1000); }; } unsigned int read_adc() { ADMUX=ADC_VREF_TYPE; ADCSRA.6=1; while (!(ADCSRA.4)); ADCSRA.4=1; return ADCW; }
دیدگاه