سلام-برنامه کدویزلردو تنظیم میکنم اما بلد نیستم چطور مثلا adc0میکرو رو بخونم و روی lcdنمایش بدم.کسی از دوستان نمونه برنامه؟یا یه توضیح در مورو دستورات وتابع adcداره بزاره برام
اطلاعیه
Collapse
No announcement yet.
مشکل در adcمیکروatmega16
Collapse
X
-
پاسخ : مشکل در adcمیکروatmega16
ارور این برنامه چیه راهنماییم کنید؟
#include <stdio.h>
#include <mega16.h>
#include <delay.h>
#include <lcd.h>
#asm
.equ __lcd_port=0x18;
#endasm
#define ADC_VREF_TYPE 0XC0
int a,b;
char m[10];
void main()
{
lcd_init(16);
ADMUX=ADC_VREF_TYPE &0XFF;
ADCSRA=0X86;
SFIOR=0X00;
while(1)
{
lcd_clear();
a=read_adc(0);
b=a/2;
sprintf(m,"temp=%d",b);
lcd_puts(m);
delay_ms(1000);
}
}
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0X40;
while((ADCSRA&0X10)==0)
{
ADCSRA|=0X10;
return ADCW;
}
}
دیدگاه






دیدگاه